Browse code

mpegvideo: move mpegvideo formats-related defines to mpegutils.h

Vittorio Giovara authored on 2014/02/28 21:40:54
Showing 41 changed files
... ...
@@ -23,6 +23,7 @@
23 23
 #include "dxva2_internal.h"
24 24
 #include "h264.h"
25 25
 #include "h264data.h"
26
+#include "mpegutils.h"
26 27
 
27 28
 struct dxva2_picture_context {
28 29
     DXVA_PicParams_H264   pp;
... ...
@@ -22,6 +22,7 @@
22 22
 
23 23
 #include "libavutil/log.h"
24 24
 #include "dxva2_internal.h"
25
+#include "mpegutils.h"
25 26
 
26 27
 #define MAX_SLICES 1024
27 28
 struct dxva2_picture_context {
... ...
@@ -21,6 +21,7 @@
21 21
  */
22 22
 
23 23
 #include "dxva2_internal.h"
24
+#include "mpegutils.h"
24 25
 #include "vc1.h"
25 26
 #include "vc1data.h"
26 27
 
... ...
@@ -30,6 +30,7 @@
30 30
 #include "libavutil/internal.h"
31 31
 #include "avcodec.h"
32 32
 #include "error_resilience.h"
33
+#include "mpegutils.h"
33 34
 #include "mpegvideo.h"
34 35
 #include "rectangle.h"
35 36
 #include "thread.h"
... ...
@@ -26,6 +26,7 @@
26 26
  */
27 27
 
28 28
 #include "avcodec.h"
29
+#include "mpegutils.h"
29 30
 #include "mpegvideo.h"
30 31
 #include "h263.h"
31 32
 #include "h261.h"
... ...
@@ -27,6 +27,7 @@
27 27
 
28 28
 #include "libavutil/attributes.h"
29 29
 #include "avcodec.h"
30
+#include "mpegutils.h"
30 31
 #include "mpegvideo.h"
31 32
 #include "h263.h"
32 33
 #include "h261.h"
... ...
@@ -34,6 +34,7 @@
34 34
 #include "h263.h"
35 35
 #include "h263data.h"
36 36
 #include "mathops.h"
37
+#include "mpegutils.h"
37 38
 #include "unary.h"
38 39
 #include "flv.h"
39 40
 #include "mpeg4video.h"
... ...
@@ -42,6 +42,7 @@
42 42
 #include "h264_mvpred.h"
43 43
 #include "golomb.h"
44 44
 #include "mathops.h"
45
+#include "mpegutils.h"
45 46
 #include "rectangle.h"
46 47
 #include "svq3.h"
47 48
 #include "thread.h"
... ...
@@ -38,6 +38,7 @@
38 38
 #include "h264dsp.h"
39 39
 #include "h264pred.h"
40 40
 #include "h264qpel.h"
41
+#include "mpegutils.h"
41 42
 #include "rectangle.h"
42 43
 
43 44
 #define H264_MAX_PICTURE_COUNT 32
... ...
@@ -38,6 +38,7 @@
38 38
 #include "h264data.h"
39 39
 #include "h264_mvpred.h"
40 40
 #include "golomb.h"
41
+#include "mpegutils.h"
41 42
 
42 43
 #if ARCH_X86
43 44
 #include "x86/h264_i386.h"
... ...
@@ -34,6 +34,7 @@
34 34
 #include "h264data.h" // FIXME FIXME FIXME
35 35
 #include "h264_mvpred.h"
36 36
 #include "golomb.h"
37
+#include "mpegutils.h"
37 38
 
38 39
 #include <assert.h>
39 40
 
... ...
@@ -29,6 +29,7 @@
29 29
 #include "avcodec.h"
30 30
 #include "mpegvideo.h"
31 31
 #include "h264.h"
32
+#include "mpegutils.h"
32 33
 #include "rectangle.h"
33 34
 #include "thread.h"
34 35
 
... ...
@@ -32,6 +32,7 @@
32 32
 #include "mpegvideo.h"
33 33
 #include "h264.h"
34 34
 #include "mathops.h"
35
+#include "mpegutils.h"
35 36
 #include "rectangle.h"
36 37
 
37 38
 #include <assert.h>
... ...
@@ -31,6 +31,7 @@
31 31
 #include "internal.h"
32 32
 #include "avcodec.h"
33 33
 #include "h264.h"
34
+#include "mpegutils.h"
34 35
 
35 36
 #include <assert.h>
36 37
 
... ...
@@ -30,6 +30,7 @@
30 30
 #include "h264data.h"
31 31
 #include "golomb.h"
32 32
 #include "internal.h"
33
+#include "mpegutils.h"
33 34
 
34 35
 #include <assert.h>
35 36
 
... ...
@@ -29,6 +29,7 @@
29 29
 #include "avcodec.h"
30 30
 #include "h264.h"
31 31
 #include "golomb.h"
32
+#include "mpegutils.h"
32 33
 
33 34
 #include <assert.h>
34 35
 
... ...
@@ -36,6 +36,7 @@
36 36
 #include "mpegvideo.h"
37 37
 #include "h263.h"
38 38
 #include "mathops.h"
39
+#include "mpegutils.h"
39 40
 #include "unary.h"
40 41
 #include "flv.h"
41 42
 #include "mpeg4video.h"
... ...
@@ -34,6 +34,7 @@
34 34
 #include "mpegvideo.h"
35 35
 #include "h263.h"
36 36
 #include "mathops.h"
37
+#include "mpegutils.h"
37 38
 #include "unary.h"
38 39
 #include "flv.h"
39 40
 #include "mpeg4video.h"
... ...
@@ -33,6 +33,7 @@
33 33
 
34 34
 #include "avcodec.h"
35 35
 #include "mathops.h"
36
+#include "mpegutils.h"
36 37
 #include "mpegvideo.h"
37 38
 
38 39
 #undef NDEBUG
... ...
@@ -36,6 +36,7 @@
36 36
 #include "internal.h"
37 37
 #include "mpeg12.h"
38 38
 #include "mpeg12data.h"
39
+#include "mpegutils.h"
39 40
 #include "mpegvideo.h"
40 41
 #include "thread.h"
41 42
 #include "version.h"
... ...
@@ -20,6 +20,7 @@
20 20
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 21
  */
22 22
 
23
+#include "mpegutils.h"
23 24
 #include "mpegvideo.h"
24 25
 #include "mpeg4video.h"
25 26
 #include "mpeg4data.h"
... ...
@@ -22,6 +22,7 @@
22 22
 
23 23
 #include "error_resilience.h"
24 24
 #include "internal.h"
25
+#include "mpegutils.h"
25 26
 #include "mpegvideo.h"
26 27
 #include "mpeg4video.h"
27 28
 #include "h263.h"
... ...
@@ -23,6 +23,7 @@
23 23
 #include "libavutil/attributes.h"
24 24
 #include "libavutil/log.h"
25 25
 #include "libavutil/opt.h"
26
+#include "mpegutils.h"
26 27
 #include "mpegvideo.h"
27 28
 #include "h263.h"
28 29
 #include "mpeg4video.h"
29 30
new file mode 100644
... ...
@@ -0,0 +1,111 @@
0
+/*
1
+ * Mpeg video formats-related defines and utility functions
2
+ *
3
+ * This file is part of Libav.
4
+ *
5
+ * Libav is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * Libav is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with Libav; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ */
19
+
20
+#ifndef AVCODEC_MPEGUTILS_H
21
+#define AVCODEC_MPEGUTILS_H
22
+
23
+#include "version.h"
24
+
25
+/* picture type */
26
+#define PICT_TOP_FIELD     1
27
+#define PICT_BOTTOM_FIELD  2
28
+#define PICT_FRAME         3
29
+
30
+/**
31
+ * Value of Picture.reference when Picture is not a reference picture, but
32
+ * is held for delayed output.
33
+ */
34
+#define DELAYED_PIC_REF 4
35
+
36
+
37
+/* MB types */
38
+#if !FF_API_MB_TYPE
39
+#define MB_TYPE_INTRA4x4   (1 <<  0)
40
+#define MB_TYPE_INTRA16x16 (1 <<  1) // FIXME H.264-specific
41
+#define MB_TYPE_INTRA_PCM  (1 <<  2) // FIXME H.264-specific
42
+#define MB_TYPE_16x16      (1 <<  3)
43
+#define MB_TYPE_16x8       (1 <<  4)
44
+#define MB_TYPE_8x16       (1 <<  5)
45
+#define MB_TYPE_8x8        (1 <<  6)
46
+#define MB_TYPE_INTERLACED (1 <<  7)
47
+#define MB_TYPE_DIRECT2    (1 <<  8) // FIXME
48
+#define MB_TYPE_ACPRED     (1 <<  9)
49
+#define MB_TYPE_GMC        (1 << 10)
50
+#define MB_TYPE_SKIP       (1 << 11)
51
+#define MB_TYPE_P0L0       (1 << 12)
52
+#define MB_TYPE_P1L0       (1 << 13)
53
+#define MB_TYPE_P0L1       (1 << 14)
54
+#define MB_TYPE_P1L1       (1 << 15)
55
+#define MB_TYPE_L0         (MB_TYPE_P0L0 | MB_TYPE_P1L0)
56
+#define MB_TYPE_L1         (MB_TYPE_P0L1 | MB_TYPE_P1L1)
57
+#define MB_TYPE_L0L1       (MB_TYPE_L0   | MB_TYPE_L1)
58
+#define MB_TYPE_QUANT      (1 << 16)
59
+#define MB_TYPE_CBP        (1 << 17)
60
+#endif
61
+
62
+#define MB_TYPE_INTRA    MB_TYPE_INTRA4x4 // default mb_type if there is just one type
63
+
64
+#define IS_INTRA4x4(a)   ((a) & MB_TYPE_INTRA4x4)
65
+#define IS_INTRA16x16(a) ((a) & MB_TYPE_INTRA16x16)
66
+#define IS_PCM(a)        ((a) & MB_TYPE_INTRA_PCM)
67
+#define IS_INTRA(a)      ((a) & 7)
68
+#define IS_INTER(a)      ((a) & (MB_TYPE_16x16 | MB_TYPE_16x8 | \
69
+                                 MB_TYPE_8x16  | MB_TYPE_8x8))
70
+#define IS_SKIP(a)       ((a) & MB_TYPE_SKIP)
71
+#define IS_INTRA_PCM(a)  ((a) & MB_TYPE_INTRA_PCM)
72
+#define IS_INTERLACED(a) ((a) & MB_TYPE_INTERLACED)
73
+#define IS_DIRECT(a)     ((a) & MB_TYPE_DIRECT2)
74
+#define IS_GMC(a)        ((a) & MB_TYPE_GMC)
75
+#define IS_16X16(a)      ((a) & MB_TYPE_16x16)
76
+#define IS_16X8(a)       ((a) & MB_TYPE_16x8)
77
+#define IS_8X16(a)       ((a) & MB_TYPE_8x16)
78
+#define IS_8X8(a)        ((a) & MB_TYPE_8x8)
79
+#define IS_SUB_8X8(a)    ((a) & MB_TYPE_16x16) // note reused
80
+#define IS_SUB_8X4(a)    ((a) & MB_TYPE_16x8)  // note reused
81
+#define IS_SUB_4X8(a)    ((a) & MB_TYPE_8x16)  // note reused
82
+#define IS_SUB_4X4(a)    ((a) & MB_TYPE_8x8)   // note reused
83
+#define IS_ACPRED(a)     ((a) & MB_TYPE_ACPRED)
84
+#define IS_QUANT(a)      ((a) & MB_TYPE_QUANT)
85
+#define IS_DIR(a, part, list) ((a) & (MB_TYPE_P0L0 << ((part) + 2 * (list))))
86
+
87
+// does this mb use listX, note does not work if subMBs
88
+#define USES_LIST(a, list) ((a) & ((MB_TYPE_P0L0 | MB_TYPE_P1L0) << (2 * (list))))
89
+
90
+#define HAS_CBP(a)       ((a) & MB_TYPE_CBP)
91
+
92
+/* MB types for encoding */
93
+#define CANDIDATE_MB_TYPE_INTRA      (1 <<  0)
94
+#define CANDIDATE_MB_TYPE_INTER      (1 <<  1)
95
+#define CANDIDATE_MB_TYPE_INTER4V    (1 <<  2)
96
+#define CANDIDATE_MB_TYPE_SKIPPED    (1 <<  3)
97
+
98
+#define CANDIDATE_MB_TYPE_DIRECT     (1 <<  4)
99
+#define CANDIDATE_MB_TYPE_FORWARD    (1 <<  5)
100
+#define CANDIDATE_MB_TYPE_BACKWARD   (1 <<  6)
101
+#define CANDIDATE_MB_TYPE_BIDIR      (1 <<  7)
102
+
103
+#define CANDIDATE_MB_TYPE_INTER_I    (1 <<  8)
104
+#define CANDIDATE_MB_TYPE_FORWARD_I  (1 <<  9)
105
+#define CANDIDATE_MB_TYPE_BACKWARD_I (1 << 10)
106
+#define CANDIDATE_MB_TYPE_BIDIR_I    (1 << 11)
107
+
108
+#define CANDIDATE_MB_TYPE_DIRECT0    (1 << 12)
109
+
110
+#endif /* AVCODEC_PICTTYPE_H */
... ...
@@ -36,6 +36,7 @@
36 36
 #include "dsputil.h"
37 37
 #include "internal.h"
38 38
 #include "mathops.h"
39
+#include "mpegutils.h"
39 40
 #include "mpegvideo.h"
40 41
 #include "mjpegenc.h"
41 42
 #include "msmpeg4.h"
... ...
@@ -85,12 +85,6 @@ enum OutputFormat {
85 85
 #define EXT_START_CODE          0x000001b5
86 86
 #define USER_START_CODE         0x000001b2
87 87
 
88
-/**
89
- * Value of Picture.reference when Picture is not a reference picture, but
90
- * is held for delayed output.
91
- */
92
-#define DELAYED_PIC_REF 4
93
-
94 88
 struct MpegEncContext;
95 89
 
96 90
 /**
... ...
@@ -107,31 +101,7 @@ typedef struct Picture{
107 107
     int16_t (*motion_val[2])[2];
108 108
 
109 109
     AVBufferRef *mb_type_buf;
110
-    uint32_t *mb_type;
111
-
112
-#if !FF_API_MB_TYPE
113
-#define MB_TYPE_INTRA4x4   0x0001
114
-#define MB_TYPE_INTRA16x16 0x0002 //FIXME H.264-specific
115
-#define MB_TYPE_INTRA_PCM  0x0004 //FIXME H.264-specific
116
-#define MB_TYPE_16x16      0x0008
117
-#define MB_TYPE_16x8       0x0010
118
-#define MB_TYPE_8x16       0x0020
119
-#define MB_TYPE_8x8        0x0040
120
-#define MB_TYPE_INTERLACED 0x0080
121
-#define MB_TYPE_DIRECT2    0x0100 //FIXME
122
-#define MB_TYPE_ACPRED     0x0200
123
-#define MB_TYPE_GMC        0x0400
124
-#define MB_TYPE_SKIP       0x0800
125
-#define MB_TYPE_P0L0       0x1000
126
-#define MB_TYPE_P1L0       0x2000
127
-#define MB_TYPE_P0L1       0x4000
128
-#define MB_TYPE_P1L1       0x8000
129
-#define MB_TYPE_L0         (MB_TYPE_P0L0 | MB_TYPE_P1L0)
130
-#define MB_TYPE_L1         (MB_TYPE_P0L1 | MB_TYPE_P1L1)
131
-#define MB_TYPE_L0L1       (MB_TYPE_L0   | MB_TYPE_L1)
132
-#define MB_TYPE_QUANT      0x00010000
133
-#define MB_TYPE_CBP        0x00020000
134
-#endif
110
+    uint32_t *mb_type;          ///< types and macros are defined in mpegutils.h
135 111
 
136 112
     AVBufferRef *mbskip_table_buf;
137 113
     uint8_t *mbskip_table;
... ...
@@ -154,31 +124,6 @@ typedef struct Picture{
154 154
      */
155 155
     void *hwaccel_picture_private;
156 156
 
157
-#define MB_TYPE_INTRA MB_TYPE_INTRA4x4 //default mb_type if there is just one type
158
-#define IS_INTRA4x4(a)   ((a)&MB_TYPE_INTRA4x4)
159
-#define IS_INTRA16x16(a) ((a)&MB_TYPE_INTRA16x16)
160
-#define IS_PCM(a)        ((a)&MB_TYPE_INTRA_PCM)
161
-#define IS_INTRA(a)      ((a)&7)
162
-#define IS_INTER(a)      ((a)&(MB_TYPE_16x16|MB_TYPE_16x8|MB_TYPE_8x16|MB_TYPE_8x8))
163
-#define IS_SKIP(a)       ((a)&MB_TYPE_SKIP)
164
-#define IS_INTRA_PCM(a)  ((a)&MB_TYPE_INTRA_PCM)
165
-#define IS_INTERLACED(a) ((a)&MB_TYPE_INTERLACED)
166
-#define IS_DIRECT(a)     ((a)&MB_TYPE_DIRECT2)
167
-#define IS_GMC(a)        ((a)&MB_TYPE_GMC)
168
-#define IS_16X16(a)      ((a)&MB_TYPE_16x16)
169
-#define IS_16X8(a)       ((a)&MB_TYPE_16x8)
170
-#define IS_8X16(a)       ((a)&MB_TYPE_8x16)
171
-#define IS_8X8(a)        ((a)&MB_TYPE_8x8)
172
-#define IS_SUB_8X8(a)    ((a)&MB_TYPE_16x16) //note reused
173
-#define IS_SUB_8X4(a)    ((a)&MB_TYPE_16x8)  //note reused
174
-#define IS_SUB_4X8(a)    ((a)&MB_TYPE_8x16)  //note reused
175
-#define IS_SUB_4X4(a)    ((a)&MB_TYPE_8x8)   //note reused
176
-#define IS_ACPRED(a)     ((a)&MB_TYPE_ACPRED)
177
-#define IS_QUANT(a)      ((a)&MB_TYPE_QUANT)
178
-#define IS_DIR(a, part, list) ((a) & (MB_TYPE_P0L0<<((part)+2*(list))))
179
-#define USES_LIST(a, list) ((a) & ((MB_TYPE_P0L0|MB_TYPE_P1L0)<<(2*(list)))) ///< does this mb use listX, note does not work if subMBs
180
-#define HAS_CBP(a)        ((a)&MB_TYPE_CBP)
181
-
182 157
     int field_poc[2];           ///< h264 top/bottom POC
183 158
     int poc;                    ///< h264 frame POC
184 159
     int frame_num;              ///< h264 frame_num (raw frame_num from slice header)
... ...
@@ -463,24 +408,7 @@ typedef struct MpegEncContext {
463 463
     int mb_x, mb_y;
464 464
     int mb_skip_run;
465 465
     int mb_intra;
466
-    uint16_t *mb_type;           ///< Table for candidate MB types for encoding
467
-#define CANDIDATE_MB_TYPE_INTRA    0x01
468
-#define CANDIDATE_MB_TYPE_INTER    0x02
469
-#define CANDIDATE_MB_TYPE_INTER4V  0x04
470
-#define CANDIDATE_MB_TYPE_SKIPPED   0x08
471
-//#define MB_TYPE_GMC      0x10
472
-
473
-#define CANDIDATE_MB_TYPE_DIRECT   0x10
474
-#define CANDIDATE_MB_TYPE_FORWARD  0x20
475
-#define CANDIDATE_MB_TYPE_BACKWARD 0x40
476
-#define CANDIDATE_MB_TYPE_BIDIR    0x80
477
-
478
-#define CANDIDATE_MB_TYPE_INTER_I    0x100
479
-#define CANDIDATE_MB_TYPE_FORWARD_I  0x200
480
-#define CANDIDATE_MB_TYPE_BACKWARD_I 0x400
481
-#define CANDIDATE_MB_TYPE_BIDIR_I    0x800
482
-
483
-#define CANDIDATE_MB_TYPE_DIRECT0    0x1000
466
+    uint16_t *mb_type;  ///< Table for candidate MB types for encoding (defines in mpegutils.h)
484 467
 
485 468
     int block_index[6]; ///< index to current MB in block based arrays with edges
486 469
     int block_wrap[6];
... ...
@@ -639,11 +567,9 @@ typedef struct MpegEncContext {
639 639
     /* MPEG-2-specific - I wished not to have to support this mess. */
640 640
     int progressive_sequence;
641 641
     int mpeg_f_code[2][2];
642
+
643
+    // picture structure defines are loaded from mpegutils.h
642 644
     int picture_structure;
643
-/* picture type */
644
-#define PICT_TOP_FIELD     1
645
-#define PICT_BOTTOM_FIELD  2
646
-#define PICT_FRAME         3
647 645
 
648 646
     int intra_dc_precision;
649 647
     int frame_pred_frame_dct;
... ...
@@ -43,6 +43,7 @@
43 43
 #include "h261.h"
44 44
 #include "h263.h"
45 45
 #include "mathops.h"
46
+#include "mpegutils.h"
46 47
 #include "mjpegenc.h"
47 48
 #include "msmpeg4.h"
48 49
 #include "faandct.h"
... ...
@@ -27,6 +27,7 @@
27 27
 #include "avcodec.h"
28 28
 #include "dsputil.h"
29 29
 #include "h261.h"
30
+#include "mpegutils.h"
30 31
 #include "mpegvideo.h"
31 32
 #include "mjpegenc.h"
32 33
 #include "msmpeg4.h"
... ...
@@ -23,6 +23,7 @@
23 23
 #include <X11/extensions/XvMC.h>
24 24
 
25 25
 #include "avcodec.h"
26
+#include "mpegutils.h"
26 27
 #include "mpegvideo.h"
27 28
 
28 29
 #undef NDEBUG
... ...
@@ -24,6 +24,7 @@
24 24
 
25 25
 #include "avcodec.h"
26 26
 #include "dsputil.h"
27
+#include "mpegutils.h"
27 28
 #include "mpegvideo.h"
28 29
 #include "msmpeg4.h"
29 30
 #include "libavutil/x86/asm.h"
... ...
@@ -28,6 +28,7 @@
28 28
 #include "libavutil/attributes.h"
29 29
 #include "avcodec.h"
30 30
 #include "ratecontrol.h"
31
+#include "mpegutils.h"
31 32
 #include "mpegvideo.h"
32 33
 #include "libavutil/eval.h"
33 34
 
... ...
@@ -25,6 +25,7 @@
25 25
  */
26 26
 
27 27
 #include "avcodec.h"
28
+#include "mpegutils.h"
28 29
 #include "mpegvideo.h"
29 30
 #include "golomb.h"
30 31
 
... ...
@@ -28,6 +28,7 @@
28 28
 
29 29
 #include "avcodec.h"
30 30
 #include "error_resilience.h"
31
+#include "mpegutils.h"
31 32
 #include "mpegvideo.h"
32 33
 #include "golomb.h"
33 34
 #include "internal.h"
... ...
@@ -27,6 +27,7 @@
27 27
 #include "libavutil/imgutils.h"
28 28
 
29 29
 #include "avcodec.h"
30
+#include "mpegutils.h"
30 31
 #include "mpegvideo.h"
31 32
 #include "golomb.h"
32 33
 
... ...
@@ -32,6 +32,7 @@
32 32
 #include "mpegvideo.h"
33 33
 #include "h263.h"
34 34
 #include "internal.h"
35
+#include "mpegutils.h"
35 36
 #include "svq1.h"
36 37
 #include "svq1enc_cb.h"
37 38
 
... ...
@@ -43,6 +43,7 @@
43 43
 #include "libavutil/attributes.h"
44 44
 #include "internal.h"
45 45
 #include "avcodec.h"
46
+#include "mpegutils.h"
46 47
 #include "mpegvideo.h"
47 48
 #include "h264.h"
48 49
 
... ...
@@ -22,6 +22,7 @@
22 22
 
23 23
 #include "vaapi_internal.h"
24 24
 #include "h264.h"
25
+#include "mpegutils.h"
25 26
 
26 27
 /**
27 28
  * @file
... ...
@@ -20,6 +20,7 @@
20 20
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 21
  */
22 22
 
23
+#include "mpegutils.h"
23 24
 #include "vaapi_internal.h"
24 25
 
25 26
 /** Reconstruct bitstream f_code */
... ...
@@ -29,6 +29,7 @@
29 29
 #include "internal.h"
30 30
 #include "avcodec.h"
31 31
 #include "error_resilience.h"
32
+#include "mpegutils.h"
32 33
 #include "mpegvideo.h"
33 34
 #include "h263.h"
34 35
 #include "h264chroma.h"
... ...
@@ -25,6 +25,7 @@
25 25
 
26 26
 #include "avcodec.h"
27 27
 #include "h264.h"
28
+#include "mpegutils.h"
28 29
 #include "vdpau.h"
29 30
 #include "vdpau_internal.h"
30 31
 
... ...
@@ -19,6 +19,7 @@
19 19
  */
20 20
 
21 21
 #include "avcodec.h"
22
+#include "mpegutils.h"
22 23
 #include "mpegvideo.h"
23 24
 #include "h263.h"
24 25
 #include "mathops.h"