23 #include <sys/ioctl.h> 
   38     struct fb_var_screeninfo varinfo; 
 
   39     struct fb_fix_screeninfo fixinfo; 
 
   64                "Could not open framebuffer device '%s': %s\n",
 
   69     if (ioctl(fbdev->
fd, FBIOGET_VSCREENINFO, &fbdev->
varinfo) < 0) {
 
   75     if (ioctl(fbdev->
fd, FBIOGET_FSCREENINFO, &fbdev->
fixinfo) < 0) {
 
   88     fbdev->
data = mmap(NULL, fbdev->
fixinfo.smem_len, PROT_WRITE, MAP_SHARED, fbdev->
fd, 0);
 
   89     if (fbdev->
data == MAP_FAILED) {
 
  110     int video_width = codec_ctx->
width;
 
  111     int video_height = codec_ctx->
height;
 
  113     int src_line_size = video_width * bytes_per_pixel;
 
  116     if (ioctl(fbdev->
fd, FBIOGET_VSCREENINFO, &fbdev->
varinfo) < 0)
 
  122     if (fb_pix_fmt != video_pix_fmt) {
 
  129     bytes_to_copy = 
FFMIN(fbdev->
varinfo.xres, video_width) * bytes_per_pixel;
 
  133            bytes_per_pixel * fbdev->
varinfo.xoffset +
 
  138             if (-fbdev->
xoffset >= video_width) 
 
  140             bytes_to_copy += fbdev->
xoffset * bytes_per_pixel;
 
  141             pin -= fbdev->
xoffset * bytes_per_pixel;
 
  145                 if (diff >= video_width) 
 
  147                 bytes_to_copy -= diff * bytes_per_pixel;
 
  149             pout += bytes_per_pixel * fbdev->
xoffset;
 
  155             if (-fbdev->
yoffset >= video_height) 
 
  158             pin -= fbdev->
yoffset * src_line_size;
 
  162                 if (diff >= video_height) 
 
  170     for (i = 0; i < disp_height; i++) {
 
  171         memcpy(pout, pin, bytes_to_copy);
 
  172         pout += fbdev->
fixinfo.line_length;
 
  173         pin  += src_line_size;
 
  192 #define OFFSET(x) offsetof(FBDevContext, x) 
  193 #define ENC AV_OPT_FLAG_ENCODING_PARAM 
  195     { 
"xoffset", 
"set x coordinate of top left corner", 
OFFSET(xoffset), 
AV_OPT_TYPE_INT, {.i64 = 0}, INT_MIN, INT_MAX, 
ENC },
 
  196     { 
"yoffset", 
"set y coordinate of top left corner", 
OFFSET(yoffset), 
AV_OPT_TYPE_INT, {.i64 = 0}, INT_MIN, INT_MAX, 
ENC },
 
  219     .priv_class     = &fbdev_class,