Go to the documentation of this file.
23 #ifndef XINE_AVCODEC_COMPAT_H
24 #define XINE_AVCODEC_COMPAT_H
26 #define XFF_INT_VERSION(major,minor,micro) ((major<<16)|(minor<<8)|micro)
28 #ifndef LIBAVCODEC_VERSION_INT
29 # if defined(LIBAVCODEC_VERSION_MAJOR) && defined(LIBAVCODEC_VERSION_MINOR)
30 # define LIBAVCODEC_VERSION_INT XFF_INT_VERSION(LIBAVCODEC_VERSION_MAJOR,LIBAVCODEC_VERSION_MINOR,0)
32 # error ffmpeg headers must be included first !
36 #ifndef LIBAVUTIL_VERSION_INT
37 # if defined(LIBAVUTIL_VERSION_MAJOR) && defined(LIBAVUTIL_VERSION_MINOR)
38 # define LIBAVUTIL_VERSION_INT XFF_INT_VERSION(LIBAVUTIL_VERSION_MAJOR,LIBAVUTIL_VERSION_MINOR,0)
40 # error ffmpeg headers must be included first !
44 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(52,0,0)
45 # define bits_per_sample bits_per_coded_sample
48 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(52,32,0)
50 # define pp_context pp_context_t
51 # define pp_mode pp_mode_t
55 #define XFF_AVCODEC_REORDERED_OPAQUE
56 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(51,68,0)
57 # undef XFF_AVCODEC_REORDERED_OPAQUE
61 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(52,29,0)
62 # define XFF_AVCODEC_COLORSPACE
66 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(54,0,0)
67 # define XFF_AVCODEC_SUB_ID
71 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(56,0,0)
72 # define XFF_AVCODEC_STREAM_CODEC_TAG
76 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(52,112,0)
77 # define DEPRECATED_AVCODEC_THREAD_INIT 1
81 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(52,94,0)
88 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(57,106,102)
90 #elif LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(52,32,0)
97 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(57,106,102)
99 #elif LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(54,0,0)
101 #elif LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(52,32,0)
108 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(57,106,102)
109 # define XFF_ENCVIDEO 3
110 #elif LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(55,25,100)
111 # define XFF_ENCVIDEO 2
113 # define XFF_ENCVIDEO 1
117 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(53,28,1) && LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(54,0,0)
118 # define XFF_FRAME_AGE 1
121 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(53,0,0)
124 # define XFF_PALETTE 1
125 #elif LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(54,92,100)
127 # define XFF_PALETTE 2
130 # define XFF_PALETTE 3
133 #if LIBAVUTIL_VERSION_INT >= XFF_INT_VERSION(52,0,0)
134 # define PIX_FMT_NONE AV_PIX_FMT_NONE
135 # define PIX_FMT_YUV420P AV_PIX_FMT_YUV420P
136 # define PIX_FMT_YUVJ420P AV_PIX_FMT_YUVJ420P
137 # define PIX_FMT_YUV444P AV_PIX_FMT_YUV444P
138 # define PIX_FMT_YUVJ444P AV_PIX_FMT_YUVJ444P
139 # define PIX_FMT_YUV410P AV_PIX_FMT_YUV410P
140 # define PIX_FMT_YUV411P AV_PIX_FMT_YUV411P
141 # define PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI_VLD
142 # define PIX_FMT_ARGB AV_PIX_FMT_ARGB
143 # define PIX_FMT_BGRA AV_PIX_FMT_BGRA
144 # define PIX_FMT_RGB24 AV_PIX_FMT_RGB24
145 # define PIX_FMT_BGR24 AV_PIX_FMT_BGR24
146 # define PIX_FMT_RGB555BE AV_PIX_FMT_RGB555BE
147 # define PIX_FMT_RGB555LE AV_PIX_FMT_RGB555LE
148 # define PIX_FMT_RGB565BE AV_PIX_FMT_RGB565BE
149 # define PIX_FMT_RGB565LE AV_PIX_FMT_RGB565LE
150 # define PIX_FMT_PAL8 AV_PIX_FMT_PAL8
151 # define PixelFormat AVPixelFormat
153 # define PIX_FMT_VAAPI_IDCT AV_PIX_FMT_VAAPI_IDCT
154 # define PIX_FMT_VAAPI_MOCO AV_PIX_FMT_VAAPI_MOCO
157 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(54,25,0)
159 # define CODEC_ID_MPEG1VIDEO AV_CODEC_ID_MPEG1VIDEO
161 # define CODEC_ID_MPEG2VIDEO AV_CODEC_ID_MPEG2VIDEO
162 # define CODEC_ID_MPEG4 AV_CODEC_ID_MPEG4
163 # define CODEC_ID_H263 AV_CODEC_ID_H263
164 # define CODEC_ID_H264 AV_CODEC_ID_H264
165 # define CODEC_ID_WMV3 AV_CODEC_ID_WMV3
167 # define CODEC_ID_VC1 AV_CODEC_ID_VC1
169 # define CODEC_ID_SVQ3 AV_CODEC_ID_SVQ3
170 # define CODEC_ID_MSMPEG4V1 AV_CODEC_ID_MSMPEG4V1
171 # define CODEC_ID_MSMPEG4V2 AV_CODEC_ID_MSMPEG4V2
172 # define CODEC_ID_MSMPEG4V3 AV_CODEC_ID_MSMPEG4V3
173 # define CODEC_ID_WMV1 AV_CODEC_ID_WMV1
174 # define CODEC_ID_WMV2 AV_CODEC_ID_WMV2
176 # define CODEC_ID_PCM_S16LE AV_CODEC_ID_PCM_S16LE
177 # define CODEC_ID_PCM_S16BE AV_CODEC_ID_PCM_S16BE
178 # define CODEC_ID_MP2 AV_CODEC_ID_MP2
179 # define CODEC_ID_AC3 AV_CODEC_ID_AC3
183 #ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
184 # define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
187 #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(55,0,100)
188 # define XFF_AV_BUFFER 1
193 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(52,66,0)
194 # define XFF_EDGE_WIDTH() (16)
195 #elif LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(55,48,102)
196 # define XFF_EDGE_WIDTH() avcodec_get_edge_width()
199 # define XFF_EDGE_WIDTH() (0)
202 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(53,8,0)
203 # define XFF_AVCODEC_INIT() avcodec_init()
205 # define XFF_AVCODEC_INIT() do {} while(0)
208 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(53,6,0)
209 # define XFF_ALLOC_CONTEXT() avcodec_alloc_context()
211 # define XFF_ALLOC_CONTEXT() avcodec_alloc_context3(NULL)
214 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(53,6,0)
215 # define XFF_AVCODEC_OPEN(ctx,codec) avcodec_open(ctx,codec)
217 # define XFF_AVCODEC_OPEN(ctx,codec) avcodec_open2(ctx, codec, NULL)
220 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(55,63,100)
221 # define XFF_FREE_CONTEXT(pp) do {av_free(pp); pp = NULL;} while (0)
223 # define XFF_FREE_CONTEXT(pp) avcodec_free_context(&(pp))
226 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(54,59,100)
227 # define XFF_ALLOC_FRAME() avcodec_alloc_frame()
228 # define XFF_FREE_FRAME(pp) do {av_free(pp); pp = NULL;} while (0)
229 #elif LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(55,45,101)
230 # define XFF_ALLOC_FRAME() avcodec_alloc_frame()
231 # define XFF_FREE_FRAME(pp) avcodec_free_frame(&(pp))
233 # define XFF_ALLOC_FRAME() av_frame_alloc()
234 # define XFF_FREE_FRAME(pp) av_frame_free(&(pp))
237 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(57,12,100)
238 #define XFF_PACKET_UNREF av_free_packet
240 #define XFF_PACKET_UNREF av_packet_unref
243 #ifndef AV_INPUT_BUFFER_PADDING_SIZE
244 # define AV_INPUT_BUFFER_PADDING_SIZE FF_INPUT_BUFFER_PADDING_SIZE
246 #ifndef AV_CODEC_CAP_DR1
247 # define AV_CODEC_CAP_DR1 CODEC_CAP_DR1
249 #ifndef AV_CODEC_FLAG2_FAST
250 # define AV_CODEC_FLAG2_FAST CODEC_FLAG2_FAST
253 #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(58,10,100)
254 # define XFF_AVCODEC_REGISTER_ALL() avcodec_register_all()
256 # define XFF_AVCODEC_REGISTER_ALL() do {} while(0)