• Michael Schimek's avatar
    V4L/DVB (5077): Bttv cropping support · e5bd0260
    Michael Schimek authored
    Adds the missing VIDIOC_CROPCAP, G_CROP and S_CROP ioctls, permitting 
    applications to capture or overlay a subsection of the picture or to 
    extend the capture window beyond active video, into the VBI area and the 
    horizontal blanking. VBI capturing can start and end on any line, 
    including the picture area, and apps can capture different lines of each 
    field and single fields.
    For compatibility with existing applications, the open() function
    resets the cropping and VBI capturing parameters and a VIDIOC_S_CROP
    call is necessary to actually enable cropping. 
    Regrettably in PAL-M, PAL-N, PAL-Nc and NTSC-JP mode the maximum image 
    width will increase from 640 and 768 to 747 and 923 pixels respectively.
    Like the VBI changes however, this should only affect applications which 
    depend on former driver limitations, such as never getting more than 640 
    pixels regardless of the requested width. 
    Also, new freedoms require additional checks for conflicts and some 
    applications may not expect an EBUSY error from the VIDIOC_QBUF and 
    VIDIOCMCAPTURE ioctls. These errors should be rare though.
    So far, the patch has been tested on a UP machine with a bt878 in PAL-
    BGHI and NTSC-M mode using xawtv, tvtime, mplayer/mencoder, zapping/
    libzvbi and these tools: http://zapping.sf.net/bttv-crop-test.tar.bz2
    I'd be grateful about comments or bug reports.
    Signed-off-by: default avatarMichael H. Schimek <mschimek@gmx.at>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
    e5bd0260
bttv-vbi.c 12.3 KB