From b01fa274f0cbbec3e5a54d78acc3613c12309241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20Ni=C3=9Fl?= Date: Tue, 30 Dec 2008 23:47:03 +0100 Subject: Add frame procedure for retrieving image data from accelerated frames in standard format. Frame grabbing didn't work for frame image formats besides YV12 and YUY2 as decoded data is not stored in accelarated frames. Some acceleration APIs allow to read back decoded image data in the common standard formats mentioned above. The new procedure allows the vo_driver to provide a way for retrieving image data which can later be utilized by _x_get_current_frame_data() to implement frame grabbing for accelerated frames. --- include/xine/video_out.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/xine/video_out.h b/include/xine/video_out.h index 6952362ff..7b3c26497 100644 --- a/include/xine/video_out.h +++ b/include/xine/video_out.h @@ -66,6 +66,14 @@ struct vo_frame_s { * member functions */ + /* Provide a copy of the frame's image in an image format already known to xine. data's member */ + /* have already been intialized to frame's content on entry, so it's usually only necessary to */ + /* change format and img_size. In case img is set, it will point to a memory block of suitable */ + /* size (size has been determined by a previous call with img == NULL). img content and img_size */ + /* must adhere to the specification of _x_get_current_frame_data(). */ + /* Currently this is needed for all image formats except XINE_IMGFMT_YV12 and XINE_IMGFMT_YUY2. */ + void (*proc_provide_standard_frame_data) (vo_frame_t *vo_img, xine_current_frame_data_t *data); + /* Duplicate picture data and acceleration specific data of a frame. */ /* if the image format isn't already known by Xine. Currently this is needed */ /* For all image formats except XINE_IMGFMT_YV12 and XINE_IMGFMT_YUY2 */ -- cgit v1.2.3