diff options
author | Reinhard Nißl <rnissl@gmx.de> | 2008-05-11 17:42:59 +0200 |
---|---|---|
committer | Reinhard Nißl <rnissl@gmx.de> | 2008-05-11 17:42:59 +0200 |
commit | 9c1ca7282eba7499c604a5bdaa27b635261025a9 (patch) | |
tree | 1838f0f4ef1742d9547d55389090ac51de80fc9b /src/vdr/input_vdr.c | |
parent | 8ff78df42588e88762aaf1581f0e86a270f4a59d (diff) | |
download | xine-lib-9c1ca7282eba7499c604a5bdaa27b635261025a9.tar.gz xine-lib-9c1ca7282eba7499c604a5bdaa27b635261025a9.tar.bz2 |
Extend xine_get_current_frame to provide cropping and interlacing information.
Cropping information is necessary for frame formats like 1920x1080
which are coded as 1920x1088, i. e. 8 lines are cropped away at the
bottom. The information whether a frame is interlaced is necessary
for proper upscaling of 4:2:0 frame formats as it must be done per
field when the frame is interlaced. Otherwise choma and luma won't
match.
Make input_vdr.c compile again due to changed xine_get_current_frame.
Diffstat (limited to 'src/vdr/input_vdr.c')
-rw-r--r-- | src/vdr/input_vdr.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/vdr/input_vdr.c b/src/vdr/input_vdr.c index ade2ecfa1..5a2b70568 100644 --- a/src/vdr/input_vdr.c +++ b/src/vdr/input_vdr.c @@ -964,16 +964,21 @@ fprintf(stderr, "ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß\n"); READ_DATA_OR_FAIL(grab_image, lprintf("got GRABIMAGE\n")); { - off_t ret_val = -1; + off_t ret_val = -1; - uint8_t *img = 0; - int frame_size = 0; - int width = 0; - int height = 0; - int ratio_code = 0; - int format = 0; + uint8_t *img = 0; + int frame_size = 0; + int width = 0; + int height = 0; + int ratio_code = 0; + int format = 0; + int interlaced = 0; + int crop_left = 0; + int crop_right = 0; + int crop_top = 0; + int crop_bottom = 0; - if (xine_get_current_frame_alloc(this->stream, &width, &height, &ratio_code, &format, &img, &frame_size)) + if (xine_get_current_frame_alloc(this->stream, &width, &height, &ratio_code, &format, &img, &frame_size, &interlaced, &crop_left, &crop_right, &crop_top, &crop_bottom)) { if (ratio_code == XINE_VO_ASPECT_SQUARE) ratio_code = 10000; |