[FFmpeg-cvslog] r17306 - trunk/libavcodec/xvmc.h

iive subversion
Sun Feb 15 02:35:32 CET 2009


Author: iive
Date: Sun Feb 15 02:35:32 2009
New Revision: 17306

Log:
Detailed description of the interesting fields in xvmc struct.

Modified:
   trunk/libavcodec/xvmc.h

Modified: trunk/libavcodec/xvmc.h
==============================================================================
--- trunk/libavcodec/xvmc.h	Sun Feb 15 02:28:50 2009	(r17305)
+++ trunk/libavcodec/xvmc.h	Sun Feb 15 02:35:32 2009	(r17306)
@@ -58,17 +58,35 @@ struct xvmc_render_state {
 #endif
 //}@
 
-/** modified by calling application and the decoder */
-//@{
-    int             start_mv_blocks_num;          ///< offset in the array for the current slice, updated by vo
-    int             filled_mv_blocks_num;         ///< processed mv block in this slice, changed by decoder
+    /** Offset in the mv array for the current slice:
+        - application - zeros it on  get_buffer().
+                        successful draw_horiz_band() may increment it
+                        with filled_mb_block_num or zero both.
+        - libavcodec  - unchanged
+    */
+    int             start_mv_blocks_num;
+
+    /** Processed mv blocks in this slice:
+        - application - zeros it on get_buffer() or after successful draw_horiz_band()
+        - libavcodec  - increment with one of each stored MB
+    */
+    int             filled_mv_blocks_num;
+
+    /** Used in add_mv_block, pointer to next free block
+        - application - zeroes it on get_buffer() and after successful draw_horiz_band()
+        - libvcodec   - each macroblock increases it with the number of coded blocks in it.
+    */
+    int             next_free_data_block_num;
 
-    int             next_free_data_block_num;     ///< used in add_mv_block, pointer to next free block
-//}@
 /** extensions may be placed here */
 #if LIBAVCODEC_VERSION_MAJOR < 53
 //@{
-    int             state;                        ///< 0 - free, 1 - waiting to display, 2 - waiting for prediction
+    /** State - used to workaround limitations in MPlayer vo system.
+        0   -Surface not used
+        1   -Surface is still hold in application to be displayed or is still visible.
+        2   -Surface is still hold in lavcodec buffer for prediction
+    */
+    int             state;
     void*           p_osd_target_surface_render;  ///< pointer to the surface where subpicture is rendered
 //}@
 #endif




More information about the ffmpeg-cvslog mailing list