summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinhard Nißl <rnissl@gmx.de>2008-12-30 23:47:03 +0100
committerReinhard Nißl <rnissl@gmx.de>2008-12-30 23:47:03 +0100
commitb01fa274f0cbbec3e5a54d78acc3613c12309241 (patch)
tree6edf331b2e5d8a2f12e9b1974398a4907484a2c8
parent9b1919bc4c4ca38d41768fd63727cf7b0e279464 (diff)
downloadxine-lib-b01fa274f0cbbec3e5a54d78acc3613c12309241.tar.gz
xine-lib-b01fa274f0cbbec3e5a54d78acc3613c12309241.tar.bz2
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.
-rw-r--r--include/xine/video_out.h8
1 files changed, 8 insertions, 0 deletions
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 */