int
_openDevice (VideoDevice * vd)
{
  FILE *pfb1_mode;
  char buf[100];
  if (vd->mode_num) {
    sprintf (buf, "/sys/class/graphics/fb%d/mode", vd->fbidx);
    pfb1_mode = fopen (buf, "w");
    if (pfb1_mode == NULL) {
      VS_ERROR ("No /sys/class/graphics/fb1/mode device to open\n");
      goto error;
    }

    video_mode_to_str (buf, &vd->modes[vd->current_mode]);

    fwrite (buf, 1, strlen (buf), pfb1_mode);
    fflush (pfb1_mode);
    fclose (pfb1_mode);
  }

  return 0;

error:
  return -1;
}
Esempio n. 2
0
void AmConfigVout::set_cvbs_config(VoutParameters *cvbsConfig)
{
  if (cvbsConfig) {
    set_value("COMMON:VideoColorConversion",
              (cvbsConfig->is_video_csc_enabled ? "1" : "0"));
    set_value("COMMON:QtSupport",
              (cvbsConfig->tailored_info == 0 ? "0" : "1"));
    set_value("CVBS:Resolution",
              video_mode_to_str(cvbsConfig->video_mode));
    set_value("CVBS:VoutSize",
              (cvbsConfig->vout_video_size.specified ? "1" : "0"));
    set_value("CVBS:VoutSize/VoutWidth",
              cvbsConfig->vout_video_size.vout_width);
    set_value("CVBS:VoutSize/VoutHeight",
              cvbsConfig->vout_video_size.vout_height);
    set_value("CVBS:VoutSize/VideoWidth",
              cvbsConfig->vout_video_size.video_width);
    set_value("CVBS:VoutSize/VideoHeight",
              cvbsConfig->vout_video_size.video_height);
    set_value("CVBS:CvbsRotateVideo",
              rotate_info_to_str(cvbsConfig->video_rotate));
    set_value("CVBS:EnableVideo",
              (cvbsConfig->is_video_enabled ? "1" : "0"));
    set_value("CVBS:CvbsFlipVideo",
              flip_info_to_str(cvbsConfig->video_flip));
    set_value("CVBS:FramebufferID", cvbsConfig->framebuffer_id);
    set_value("CVBS:VideoOffset",
              (cvbsConfig->video_offset.specified ? "1" : "0"));
    set_value("CVBS:VideoOffset/OffsetX", cvbsConfig->video_offset.offset_x);
    set_value("CVBS:VideoOffset/OffsetY", cvbsConfig->video_offset.offset_y);
    set_value("CVBS:OsdRescale",
              (cvbsConfig->osd_rescale.enable ? "1" : "0"));
    set_value("CVBS:OsdRescale/Width", cvbsConfig->osd_rescale.width);
    set_value("CVBS:OsdRescale/Height", cvbsConfig->osd_rescale.height);
    set_value("CVBS:OsdOffset",
              (cvbsConfig->osd_offset.specified ? "1" : "0"));
    set_value("CVBS:OsdOffset/OffsetX", cvbsConfig->osd_offset.offset_x);
    set_value("CVBS:OsdOffset/OffsetY", cvbsConfig->osd_offset.offset_y);
  }
}