Mercurial > libavcodec.hg
comparison xvmc.h @ 8853:b0292c878f9d libavcodec
clarify xvmc struct fields usage distribution (internal communication)
author | iive |
---|---|
date | Sat, 14 Feb 2009 18:06:05 +0000 |
parents | ff1b704b1f8f |
children | 897a2b1f883e |
comparison
equal
deleted
inserted
replaced
8852:ff1b704b1f8f | 8853:b0292c878f9d |
---|---|
41 #define MP_XVMC_STATE_OSD_SOURCE AV_XVMC_STATE_OSD_SOURCE | 41 #define MP_XVMC_STATE_OSD_SOURCE AV_XVMC_STATE_OSD_SOURCE |
42 #define MP_XVMC_RENDER_MAGIC AV_XVMC_RENDER_MAGIC | 42 #define MP_XVMC_RENDER_MAGIC AV_XVMC_RENDER_MAGIC |
43 #endif | 43 #endif |
44 | 44 |
45 struct xvmc_render_state { | 45 struct xvmc_render_state { |
46 /** these are not changed by the decoder! */ | 46 /** set by calling application */ |
47 //@{ | 47 //@{ |
48 int magic; ///< used as check for memory corruption by regular pixel routines | 48 int magic; ///< used as check for memory corruption by regular pixel routines |
49 | 49 |
50 short* data_blocks; | 50 short* data_blocks; |
51 XvMCMacroBlock* mv_blocks; | 51 XvMCMacroBlock* mv_blocks; |
56 int chroma_format; ///< XVMC_CHROMA_FORMAT_420/422/444 | 56 int chroma_format; ///< XVMC_CHROMA_FORMAT_420/422/444 |
57 int unsigned_intra; ///<+-128 for intra pictures after clipping | 57 int unsigned_intra; ///<+-128 for intra pictures after clipping |
58 XvMCSurface* p_surface; ///<pointer to rendered surface, never changed | 58 XvMCSurface* p_surface; ///<pointer to rendered surface, never changed |
59 //}@ | 59 //}@ |
60 | 60 |
61 /** these are changed by the decoder | 61 /** set by the decoder |
62 //used by the XvMCRenderSurface function */ | 62 used by the XvMCRenderSurface function */ |
63 //@{ | 63 //@{ |
64 XvMCSurface* p_past_surface; ///<pointer to the past surface | 64 XvMCSurface* p_past_surface; ///<pointer to the past surface |
65 XvMCSurface* p_future_surface; ///<pointer to the future prediction surface | 65 XvMCSurface* p_future_surface; ///<pointer to the future prediction surface |
66 | 66 |
67 unsigned int picture_structure; ///<top/bottom fields or frame! | 67 unsigned int picture_structure; ///<top/bottom fields or frame! |
68 unsigned int flags; ///<XVMC_SECOND_FIELD - 1st or 2nd field in the sequence | 68 unsigned int flags; ///<XVMC_SECOND_FIELD - 1st or 2nd field in the sequence |
69 unsigned int display_flags; ///<1,2 or 1+2 fields for XvMCPutSurface | 69 unsigned int display_flags; ///<1,2 or 1+2 fields for XvMCPutSurface |
70 //}@ | 70 //}@ |
71 | 71 |
72 /** these are for internal communication */ | 72 /** modified by calling application and the decoder */ |
73 //@{ | 73 //@{ |
74 int state; ///<0 - free, 1 - waiting to display, 2 - waiting for prediction | 74 int state; ///<0 - free, 1 - waiting to display, 2 - waiting for prediction |
75 int start_mv_blocks_num; ///<offset in the array for the current slice, updated by vo | 75 int start_mv_blocks_num; ///<offset in the array for the current slice, updated by vo |
76 int filled_mv_blocks_num; ///<processed mv block in this slice, changed by decoder | 76 int filled_mv_blocks_num; ///<processed mv block in this slice, changed by decoder |
77 | 77 |
78 int next_free_data_block_num; ///<used in add_mv_block, pointer to next free block | 78 int next_free_data_block_num; ///<used in add_mv_block, pointer to next free block |
79 //}@ | 79 //}@ |
80 /**extensions*/ | 80 /** extensions */ |
81 //@{ | 81 //@{ |
82 void * p_osd_target_surface_render; ///<pointer to the surface where subpicture is rendered | 82 void * p_osd_target_surface_render; ///<pointer to the surface where subpicture is rendered |
83 //}@ | 83 //}@ |
84 | 84 |
85 }; | 85 }; |