annotate xvmc_render.h @ 4738:7bec6dd03317 libavcodec

get rid of unused entries in the middle of xvmc_render struct, extensions are added to the end of the struct (avoids build issues on 64 bits platform) add osd extension to be used by mplayer (required by the resent changes in the build system) breaking the compability, thus bumping minor lavc version number
author iive
date Mon, 26 Mar 2007 15:21:19 +0000
parents 722e3199c56e
children 9ecbfc0c82bf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4524
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
1 #include <X11/Xlib.h>
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
2 #include <X11/Xutil.h>
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
3 #include <X11/Xatom.h>
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
4 #include <X11/extensions/Xv.h>
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
5 #include <X11/extensions/Xvlib.h>
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
6 #include <X11/extensions/XvMClib.h>
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
7
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
8
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
9 //the surface should be shown, video driver manipulate this
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
10 #define MP_XVMC_STATE_DISPLAY_PENDING 1
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
11 //the surface is needed for prediction, codec manipulate this
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
12 #define MP_XVMC_STATE_PREDICTION 2
4738
7bec6dd03317 get rid of unused entries in the middle of xvmc_render struct,
iive
parents: 4524
diff changeset
13 //this surface is needed for subpicture rendering
7bec6dd03317 get rid of unused entries in the middle of xvmc_render struct,
iive
parents: 4524
diff changeset
14 #define MP_XVMC_STATE_OSD_SOURCE 4
4524
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
15 // 1337 IDCT MCo
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
16 #define MP_XVMC_RENDER_MAGIC 0x1DC711C0
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
17
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
18 typedef struct{
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
19 //these are not changed by decoder!
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
20 int magic;
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
21
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
22 short * data_blocks;
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
23 XvMCMacroBlock * mv_blocks;
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
24 int total_number_of_mv_blocks;
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
25 int total_number_of_data_blocks;
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
26 int mc_type;//XVMC_MPEG1/2/4,XVMC_H263 without XVMC_IDCT
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
27 int idct;//does we use IDCT acceleration?
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
28 int chroma_format;//420,422,444
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
29 int unsigned_intra;//+-128 for intra pictures after clip
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
30 XvMCSurface* p_surface;//pointer to rendered surface, never changed
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
31
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
32 //these are changed by decoder
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
33 //used by XvMCRenderSurface function
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
34 XvMCSurface* p_past_surface;//pointer to the past surface
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
35 XvMCSurface* p_future_surface;//pointer to the future prediction surface
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
36
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
37 unsigned int picture_structure;//top/bottom fields or frame !
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
38 unsigned int flags;//XVMC_SECOND_FIELD - 1'st or 2'd field in the sequence
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
39 unsigned int display_flags; //1,2 or 1+2 fields for XvMCPutSurface,
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
40
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
41 //these are internal communication one
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
42 int state;//0-free,1 Waiting to Display,2 Waiting for prediction
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
43 int start_mv_blocks_num;//offset in the array for the current slice,updated by vo
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
44 int filled_mv_blocks_num;//processed mv block in this slice,change by decoder
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
45
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
46 int next_free_data_block_num;//used in add_mv_block, pointer to next free block
4738
7bec6dd03317 get rid of unused entries in the middle of xvmc_render struct,
iive
parents: 4524
diff changeset
47 //extensions
7bec6dd03317 get rid of unused entries in the middle of xvmc_render struct,
iive
parents: 4524
diff changeset
48 void * p_osd_target_surface_render;//pointer to the surface where subpicture is rendered
4524
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
49
722e3199c56e Move xvmc_render.h to libavcodec where it belongs. Blessed by Ivan.
diego
parents:
diff changeset
50 } xvmc_render_state_t;