From 9c1ca7282eba7499c604a5bdaa27b635261025a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20Ni=C3=9Fl?= Date: Sun, 11 May 2008 17:42:59 +0200 Subject: 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. --- src/vdr/input_vdr.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'src/vdr') 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, " 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; -- cgit v1.2.3