Browse code

Merge remote-tracking branch 'qatar/master'

* qatar/master:
ffmpeg: fix some indentation
ffmpeg: fix operation with --disable-avfilter
simple_idct: remove disabled code
motion_est: remove disabled code
vc1: remove disabled code
fate: separate lavf-mxf_d10 test from lavf-mxf
cabac: Move code only used in the cabac test program to cabac.c.
ffplay: warn that -pix_fmt is no longer working, suggest alternative
ffplay: warn that -s is no longer working, suggest alternative
lavf: rename enc variable in utils.c:has_codec_parameters()
lavf: use designated initialisers for all (de)muxers.
wav: remove a use of deprecated AV_METADATA_ macro
rmdec: remove useless ap parameter from rm_read_header_old()
dct-test: remove write-only variable
des: fix #if conditional around P_shuffle
Use LOCAL_ALIGNED in ff_check_alignment()

Conflicts:
ffmpeg.c
libavformat/avidec.c
libavformat/matroskaenc.c
libavformat/mp3enc.c
libavformat/oggenc.c
libavformat/utils.c
tests/ref/lavf/mxf

Merged-by: Michael Niedermayer <michaelni@gmx.at>

Michael Niedermayer authored on 2011/07/18 02:52:05
Showing 150 changed files
... ...
@@ -1604,7 +1604,7 @@ test_deps _muxer _demuxer                                               \
1604 1604
     mmf                                                                 \
1605 1605
     mov                                                                 \
1606 1606
     pcm_mulaw=mulaw                                                     \
1607
-    mxf                                                                 \
1607
+    mxf="mxf mxf_d10"                                                   \
1608 1608
     nut                                                                 \
1609 1609
     ogg                                                                 \
1610 1610
     rawvideo=pixfmt                                                     \
... ...
@@ -38,8 +38,8 @@ Force displayed width.
38 38
 @item -y @var{height}
39 39
 Force displayed height.
40 40
 @item -s @var{size}
41
-Set frame size (WxH or abbreviation), needed for videos which don't
42
-contain a header with the frame size like raw YUV.
41
+This option has been removed. Use private format options for specifying the
42
+input video size.
43 43
 @item -an
44 44
 Disable audio.
45 45
 @item -vn
... ...
@@ -89,7 +89,8 @@ Read @var{input_file}.
89 89
 @section Advanced options
90 90
 @table @option
91 91
 @item -pix_fmt @var{format}
92
-Set pixel format.
92
+This option has been removed. Use private options for specifying the
93
+input pixel format.
93 94
 @item -stats
94 95
 Show the stream duration, the codec parameters, the current position in
95 96
 the stream and the audio/video synchronisation drift.
... ...
@@ -2323,16 +2323,19 @@ static int transcode(AVFormatContext **output_files,
2323 2323
                     fprintf(stderr, "Video pixel format is unknown, stream cannot be encoded\n");
2324 2324
                     ffmpeg_exit(1);
2325 2325
                 }
2326
+
2327
+                if (!codec->width || !codec->height) {
2328
+                    codec->width  = icodec->width;
2329
+                    codec->height = icodec->height;
2330
+                }
2331
+
2326 2332
                 ost->video_resample = codec->width   != icodec->width  ||
2327 2333
                                       codec->height  != icodec->height ||
2328 2334
                                       codec->pix_fmt != icodec->pix_fmt;
2329 2335
                 if (ost->video_resample) {
2330 2336
                     codec->bits_per_raw_sample= frame_bits_per_raw_sample;
2331 2337
                 }
2332
-                if (!codec->width || !codec->height) {
2333
-                    codec->width  = icodec->width;
2334
-                    codec->height = icodec->height;
2335
-                }
2338
+
2336 2339
                 ost->resample_height = icodec->height;
2337 2340
                 ost->resample_width  = icodec->width;
2338 2341
                 ost->resample_pix_fmt= icodec->pix_fmt;
... ...
@@ -223,9 +223,6 @@ static int fs_screen_width;
223 223
 static int fs_screen_height;
224 224
 static int screen_width = 0;
225 225
 static int screen_height = 0;
226
-static int frame_width = 0;
227
-static int frame_height = 0;
228
-static enum PixelFormat frame_pix_fmt = PIX_FMT_NONE;
229 226
 static int audio_disable;
230 227
 static int video_disable;
231 228
 static int wanted_stream[AVMEDIA_TYPE_NB]={
... ...
@@ -2813,15 +2810,9 @@ static void event_loop(void)
2813 2813
 
2814 2814
 static int opt_frame_size(const char *opt, const char *arg)
2815 2815
 {
2816
-    if (av_parse_video_size(&frame_width, &frame_height, arg) < 0) {
2817
-        fprintf(stderr, "Incorrect frame size\n");
2818
-        return AVERROR(EINVAL);
2819
-    }
2820
-    if ((frame_width % 2) != 0 || (frame_height % 2) != 0) {
2821
-        fprintf(stderr, "Frame size must be a multiple of 2\n");
2822
-        return AVERROR(EINVAL);
2823
-    }
2824
-    return 0;
2816
+    av_log(NULL, AV_LOG_ERROR,
2817
+           "Option '%s' has been removed, use private format options instead\n", opt);
2818
+    return AVERROR(EINVAL);
2825 2819
 }
2826 2820
 
2827 2821
 static int opt_width(const char *opt, const char *arg)
... ...
@@ -2848,8 +2839,9 @@ static int opt_format(const char *opt, const char *arg)
2848 2848
 
2849 2849
 static int opt_frame_pix_fmt(const char *opt, const char *arg)
2850 2850
 {
2851
-    frame_pix_fmt = av_get_pix_fmt(arg);
2852
-    return 0;
2851
+    av_log(NULL, AV_LOG_ERROR,
2852
+           "Option '%s' has been removed, use private format options instead\n", opt);
2853
+    return AVERROR(EINVAL);
2853 2854
 }
2854 2855
 
2855 2856
 static int opt_sync(const char *opt, const char *arg)
... ...
@@ -166,6 +166,140 @@ void ff_init_cabac_states(CABACContext *c){
166 166
 #include "avcodec.h"
167 167
 #include "cabac.h"
168 168
 
169
+static void put_cabac(CABACContext *c, uint8_t * const state, int bit){
170
+    int RangeLPS= ff_h264_lps_range[2*(c->range&0xC0) + *state];
171
+
172
+    if(bit == ((*state)&1)){
173
+        c->range -= RangeLPS;
174
+        *state= ff_h264_mps_state[*state];
175
+    }else{
176
+        c->low += c->range - RangeLPS;
177
+        c->range = RangeLPS;
178
+        *state= ff_h264_lps_state[*state];
179
+    }
180
+
181
+    renorm_cabac_encoder(c);
182
+
183
+#ifdef STRICT_LIMITS
184
+    c->symCount++;
185
+#endif
186
+}
187
+
188
+/**
189
+ * @param bit 0 -> write zero bit, !=0 write one bit
190
+ */
191
+static void put_cabac_bypass(CABACContext *c, int bit){
192
+    c->low += c->low;
193
+
194
+    if(bit){
195
+        c->low += c->range;
196
+    }
197
+//FIXME optimize
198
+    if(c->low<0x200){
199
+        put_cabac_bit(c, 0);
200
+    }else if(c->low<0x400){
201
+        c->outstanding_count++;
202
+        c->low -= 0x200;
203
+    }else{
204
+        put_cabac_bit(c, 1);
205
+        c->low -= 0x400;
206
+    }
207
+
208
+#ifdef STRICT_LIMITS
209
+    c->symCount++;
210
+#endif
211
+}
212
+
213
+/**
214
+ *
215
+ * @return the number of bytes written
216
+ */
217
+static int put_cabac_terminate(CABACContext *c, int bit){
218
+    c->range -= 2;
219
+
220
+    if(!bit){
221
+        renorm_cabac_encoder(c);
222
+    }else{
223
+        c->low += c->range;
224
+        c->range= 2;
225
+
226
+        renorm_cabac_encoder(c);
227
+
228
+        assert(c->low <= 0x1FF);
229
+        put_cabac_bit(c, c->low>>9);
230
+        put_bits(&c->pb, 2, ((c->low>>7)&3)|1);
231
+
232
+        flush_put_bits(&c->pb); //FIXME FIXME FIXME XXX wrong
233
+    }
234
+
235
+#ifdef STRICT_LIMITS
236
+    c->symCount++;
237
+#endif
238
+
239
+    return (put_bits_count(&c->pb)+7)>>3;
240
+}
241
+
242
+/**
243
+ * put (truncated) unary binarization.
244
+ */
245
+static void put_cabac_u(CABACContext *c, uint8_t * state, int v, int max, int max_index, int truncated){
246
+    int i;
247
+
248
+    assert(v <= max);
249
+
250
+    for(i=0; i<v; i++){
251
+        put_cabac(c, state, 1);
252
+        if(i < max_index) state++;
253
+    }
254
+    if(truncated==0 || v<max)
255
+        put_cabac(c, state, 0);
256
+}
257
+
258
+/**
259
+ * put unary exp golomb k-th order binarization.
260
+ */
261
+static void put_cabac_ueg(CABACContext *c, uint8_t * state, int v, int max, int is_signed, int k, int max_index){
262
+    int i;
263
+
264
+    if(v==0)
265
+        put_cabac(c, state, 0);
266
+    else{
267
+        const int sign= v < 0;
268
+
269
+        if(is_signed) v= FFABS(v);
270
+
271
+        if(v<max){
272
+            for(i=0; i<v; i++){
273
+                put_cabac(c, state, 1);
274
+                if(i < max_index) state++;
275
+            }
276
+
277
+            put_cabac(c, state, 0);
278
+        }else{
279
+            int m= 1<<k;
280
+
281
+            for(i=0; i<max; i++){
282
+                put_cabac(c, state, 1);
283
+                if(i < max_index) state++;
284
+            }
285
+
286
+            v -= max;
287
+            while(v >= m){ //FIXME optimize
288
+                put_cabac_bypass(c, 1);
289
+                v-= m;
290
+                m+= m;
291
+            }
292
+            put_cabac_bypass(c, 0);
293
+            while(m>>=1){
294
+                put_cabac_bypass(c, v&m);
295
+            }
296
+        }
297
+
298
+        if(is_signed)
299
+            put_cabac_bypass(c, sign);
300
+    }
301
+}
302
+
169 303
 int main(void){
170 304
     CABACContext c;
171 305
     uint8_t b[9*SIZE];
... ...
@@ -90,178 +90,6 @@ static inline void renorm_cabac_encoder(CABACContext *c){
90 90
     }
91 91
 }
92 92
 
93
-#ifdef TEST
94
-static void put_cabac(CABACContext *c, uint8_t * const state, int bit){
95
-    int RangeLPS= ff_h264_lps_range[2*(c->range&0xC0) + *state];
96
-
97
-    if(bit == ((*state)&1)){
98
-        c->range -= RangeLPS;
99
-        *state= ff_h264_mps_state[*state];
100
-    }else{
101
-        c->low += c->range - RangeLPS;
102
-        c->range = RangeLPS;
103
-        *state= ff_h264_lps_state[*state];
104
-    }
105
-
106
-    renorm_cabac_encoder(c);
107
-
108
-#ifdef STRICT_LIMITS
109
-    c->symCount++;
110
-#endif
111
-}
112
-
113
-static void put_cabac_static(CABACContext *c, int RangeLPS, int bit){
114
-    assert(c->range > RangeLPS);
115
-
116
-    if(!bit){
117
-        c->range -= RangeLPS;
118
-    }else{
119
-        c->low += c->range - RangeLPS;
120
-        c->range = RangeLPS;
121
-    }
122
-
123
-    renorm_cabac_encoder(c);
124
-
125
-#ifdef STRICT_LIMITS
126
-    c->symCount++;
127
-#endif
128
-}
129
-
130
-/**
131
- * @param bit 0 -> write zero bit, !=0 write one bit
132
- */
133
-static void put_cabac_bypass(CABACContext *c, int bit){
134
-    c->low += c->low;
135
-
136
-    if(bit){
137
-        c->low += c->range;
138
-    }
139
-//FIXME optimize
140
-    if(c->low<0x200){
141
-        put_cabac_bit(c, 0);
142
-    }else if(c->low<0x400){
143
-        c->outstanding_count++;
144
-        c->low -= 0x200;
145
-    }else{
146
-        put_cabac_bit(c, 1);
147
-        c->low -= 0x400;
148
-    }
149
-
150
-#ifdef STRICT_LIMITS
151
-    c->symCount++;
152
-#endif
153
-}
154
-
155
-/**
156
- *
157
- * @return the number of bytes written
158
- */
159
-static int put_cabac_terminate(CABACContext *c, int bit){
160
-    c->range -= 2;
161
-
162
-    if(!bit){
163
-        renorm_cabac_encoder(c);
164
-    }else{
165
-        c->low += c->range;
166
-        c->range= 2;
167
-
168
-        renorm_cabac_encoder(c);
169
-
170
-        assert(c->low <= 0x1FF);
171
-        put_cabac_bit(c, c->low>>9);
172
-        put_bits(&c->pb, 2, ((c->low>>7)&3)|1);
173
-
174
-        flush_put_bits(&c->pb); //FIXME FIXME FIXME XXX wrong
175
-    }
176
-
177
-#ifdef STRICT_LIMITS
178
-    c->symCount++;
179
-#endif
180
-
181
-    return (put_bits_count(&c->pb)+7)>>3;
182
-}
183
-
184
-/**
185
- * put (truncated) unary binarization.
186
- */
187
-static void put_cabac_u(CABACContext *c, uint8_t * state, int v, int max, int max_index, int truncated){
188
-    int i;
189
-
190
-    assert(v <= max);
191
-
192
-#if 1
193
-    for(i=0; i<v; i++){
194
-        put_cabac(c, state, 1);
195
-        if(i < max_index) state++;
196
-    }
197
-    if(truncated==0 || v<max)
198
-        put_cabac(c, state, 0);
199
-#else
200
-    if(v <= max_index){
201
-        for(i=0; i<v; i++){
202
-            put_cabac(c, state+i, 1);
203
-        }
204
-        if(truncated==0 || v<max)
205
-            put_cabac(c, state+i, 0);
206
-    }else{
207
-        for(i=0; i<=max_index; i++){
208
-            put_cabac(c, state+i, 1);
209
-        }
210
-        for(; i<v; i++){
211
-            put_cabac(c, state+max_index, 1);
212
-        }
213
-        if(truncated==0 || v<max)
214
-            put_cabac(c, state+max_index, 0);
215
-    }
216
-#endif
217
-}
218
-
219
-/**
220
- * put unary exp golomb k-th order binarization.
221
- */
222
-static void put_cabac_ueg(CABACContext *c, uint8_t * state, int v, int max, int is_signed, int k, int max_index){
223
-    int i;
224
-
225
-    if(v==0)
226
-        put_cabac(c, state, 0);
227
-    else{
228
-        const int sign= v < 0;
229
-
230
-        if(is_signed) v= FFABS(v);
231
-
232
-        if(v<max){
233
-            for(i=0; i<v; i++){
234
-                put_cabac(c, state, 1);
235
-                if(i < max_index) state++;
236
-            }
237
-
238
-            put_cabac(c, state, 0);
239
-        }else{
240
-            int m= 1<<k;
241
-
242
-            for(i=0; i<max; i++){
243
-                put_cabac(c, state, 1);
244
-                if(i < max_index) state++;
245
-            }
246
-
247
-            v -= max;
248
-            while(v >= m){ //FIXME optimize
249
-                put_cabac_bypass(c, 1);
250
-                v-= m;
251
-                m+= m;
252
-            }
253
-            put_cabac_bypass(c, 0);
254
-            while(m>>=1){
255
-                put_cabac_bypass(c, v&m);
256
-            }
257
-        }
258
-
259
-        if(is_signed)
260
-            put_cabac_bypass(c, sign);
261
-    }
262
-}
263
-#endif /* TEST */
264
-
265 93
 static void refill(CABACContext *c){
266 94
 #if CABAC_BITS == 16
267 95
         c->low+= (c->bytestream[0]<<9) + (c->bytestream[1]<<1);
... ...
@@ -190,7 +190,6 @@ static void idct_mmx_init(void)
190 190
 
191 191
 DECLARE_ALIGNED(16, static DCTELEM, block)[64];
192 192
 DECLARE_ALIGNED(8,  static DCTELEM, block1)[64];
193
-DECLARE_ALIGNED(8,  static DCTELEM, block_org)[64];
194 193
 
195 194
 static inline void mmx_emms(void)
196 195
 {
... ...
@@ -246,9 +245,6 @@ static int dct_error(const struct algo *dct, int test, int is_idct, int speed, c
246 246
             break;
247 247
         }
248 248
 
249
-        for (i = 0; i < 64; i++)
250
-            block_org[i] = block1[i];
251
-
252 249
         if (dct->format == MMX_PERM) {
253 250
             for (i = 0; i < 64; i++)
254 251
                 block[idct_mmx_perm[i]] = block1[i];
... ...
@@ -2832,7 +2832,7 @@ av_cold void dsputil_static_init(void)
2832 2832
 
2833 2833
 int ff_check_alignment(void){
2834 2834
     static int did_fail=0;
2835
-    DECLARE_ALIGNED(16, int, aligned);
2835
+    LOCAL_ALIGNED_16(int, aligned);
2836 2836
 
2837 2837
     if((intptr_t)&aligned & 15){
2838 2838
         if(!did_fail){
... ...
@@ -374,30 +374,6 @@ int ff_init_me(MpegEncContext *s){
374 374
     return 0;
375 375
 }
376 376
 
377
-#if 0
378
-static int pix_dev(uint8_t * pix, int line_size, int mean)
379
-{
380
-    int s, i, j;
381
-
382
-    s = 0;
383
-    for (i = 0; i < 16; i++) {
384
-        for (j = 0; j < 16; j += 8) {
385
-            s += FFABS(pix[0]-mean);
386
-            s += FFABS(pix[1]-mean);
387
-            s += FFABS(pix[2]-mean);
388
-            s += FFABS(pix[3]-mean);
389
-            s += FFABS(pix[4]-mean);
390
-            s += FFABS(pix[5]-mean);
391
-            s += FFABS(pix[6]-mean);
392
-            s += FFABS(pix[7]-mean);
393
-            pix += 8;
394
-        }
395
-        pix += line_size - 16;
396
-    }
397
-    return s;
398
-}
399
-#endif
400
-
401 377
 static inline void no_motion_search(MpegEncContext * s,
402 378
                                     int *mx_ptr, int *my_ptr)
403 379
 {
... ...
@@ -1214,30 +1190,6 @@ void ff_estimate_p_frame_motion(MpegEncContext * s,
1214 1214
 
1215 1215
             intra_score= s->dsp.mb_cmp[0](s, c->scratchpad, pix, s->linesize, 16);
1216 1216
         }
1217
-#if 0 //FIXME
1218
-        /* get chroma score */
1219
-        if(c->avctx->mb_cmp&FF_CMP_CHROMA){
1220
-            for(i=1; i<3; i++){
1221
-                uint8_t *dest_c;
1222
-                int mean;
1223
-
1224
-                if(s->out_format == FMT_H263){
1225
-                    mean= (s->dc_val[i][mb_x + mb_y*s->b8_stride] + 4)>>3; //FIXME not exact but simple ;)
1226
-                }else{
1227
-                    mean= (s->last_dc[i] + 4)>>3;
1228
-                }
1229
-                dest_c = s->new_picture.f.data[i] + (mb_y * 8  * (s->uvlinesize)) + mb_x * 8;
1230
-
1231
-                mean*= 0x01010101;
1232
-                for(i=0; i<8; i++){
1233
-                    *(uint32_t*)(&c->scratchpad[i*s->uvlinesize+ 0]) = mean;
1234
-                    *(uint32_t*)(&c->scratchpad[i*s->uvlinesize+ 4]) = mean;
1235
-                }
1236
-
1237
-                intra_score+= s->dsp.mb_cmp[1](s, c->scratchpad, dest_c, s->uvlinesize);
1238
-            }
1239
-        }
1240
-#endif
1241 1217
         intra_score += c->mb_penalty_factor*16;
1242 1218
 
1243 1219
         if(intra_score < dmin){
... ...
@@ -1850,10 +1802,6 @@ void ff_estimate_b_frame_motion(MpegEncContext * s,
1850 1850
         if(dmin>256*256*16) type&= ~CANDIDATE_MB_TYPE_DIRECT; //do not try direct mode if it is invalid for this MB
1851 1851
         if(s->codec_id == CODEC_ID_MPEG4 && type&CANDIDATE_MB_TYPE_DIRECT && s->flags&CODEC_FLAG_MV0 && *(uint32_t*)s->b_direct_mv_table[xy])
1852 1852
             type |= CANDIDATE_MB_TYPE_DIRECT0;
1853
-#if 0
1854
-        if(s->out_format == FMT_MPEG1)
1855
-            type |= CANDIDATE_MB_TYPE_INTRA;
1856
-#endif
1857 1853
     }
1858 1854
 
1859 1855
     s->mb_type[mb_y*s->mb_stride + mb_x]= type;
... ...
@@ -44,75 +44,6 @@
44 44
     COPY3_IF_LT(dmin, d, bx, hx, by, hy)\
45 45
 }
46 46
 
47
-#if 0
48
-static int hpel_motion_search)(MpegEncContext * s,
49
-                                  int *mx_ptr, int *my_ptr, int dmin,
50
-                                  uint8_t *ref_data[3],
51
-                                  int size)
52
-{
53
-    const int xx = 16 * s->mb_x + 8*(n&1);
54
-    const int yy = 16 * s->mb_y + 8*(n>>1);
55
-    const int mx = *mx_ptr;
56
-    const int my = *my_ptr;
57
-    const int penalty_factor= c->sub_penalty_factor;
58
-
59
-    LOAD_COMMON
60
-
61
- //   INIT;
62
- //FIXME factorize
63
-    me_cmp_func cmp, chroma_cmp, cmp_sub, chroma_cmp_sub;
64
-
65
-    if(s->no_rounding /*FIXME b_type*/){
66
-        hpel_put= &s->dsp.put_no_rnd_pixels_tab[size];
67
-        chroma_hpel_put= &s->dsp.put_no_rnd_pixels_tab[size+1];
68
-    }else{
69
-        hpel_put=& s->dsp.put_pixels_tab[size];
70
-        chroma_hpel_put= &s->dsp.put_pixels_tab[size+1];
71
-    }
72
-    cmpf= s->dsp.me_cmp[size];
73
-    chroma_cmpf= s->dsp.me_cmp[size+1];
74
-    cmp_sub= s->dsp.me_sub_cmp[size];
75
-    chroma_cmp_sub= s->dsp.me_sub_cmp[size+1];
76
-
77
-    if(c->skip){ //FIXME somehow move up (benchmark)
78
-        *mx_ptr = 0;
79
-        *my_ptr = 0;
80
-        return dmin;
81
-    }
82
-
83
-    if(c->avctx->me_cmp != c->avctx->me_sub_cmp){
84
-        CMP_HPEL(dmin, 0, 0, mx, my, size);
85
-        if(mx || my)
86
-            dmin += (mv_penalty[2*mx - pred_x] + mv_penalty[2*my - pred_y])*penalty_factor;
87
-    }
88
-
89
-    if (mx > xmin && mx < xmax &&
90
-        my > ymin && my < ymax) {
91
-        int bx=2*mx, by=2*my;
92
-        int d= dmin;
93
-
94
-        CHECK_HALF_MV(1, 1, mx-1, my-1)
95
-        CHECK_HALF_MV(0, 1, mx  , my-1)
96
-        CHECK_HALF_MV(1, 1, mx  , my-1)
97
-        CHECK_HALF_MV(1, 0, mx-1, my  )
98
-        CHECK_HALF_MV(1, 0, mx  , my  )
99
-        CHECK_HALF_MV(1, 1, mx-1, my  )
100
-        CHECK_HALF_MV(0, 1, mx  , my  )
101
-        CHECK_HALF_MV(1, 1, mx  , my  )
102
-
103
-        assert(bx >= xmin*2 || bx <= xmax*2 || by >= ymin*2 || by <= ymax*2);
104
-
105
-        *mx_ptr = bx;
106
-        *my_ptr = by;
107
-    }else{
108
-        *mx_ptr =2*mx;
109
-        *my_ptr =2*my;
110
-    }
111
-
112
-    return dmin;
113
-}
114
-
115
-#else
116 47
 static int hpel_motion_search(MpegEncContext * s,
117 48
                                   int *mx_ptr, int *my_ptr, int dmin,
118 49
                                   int src_index, int ref_index,
... ...
@@ -220,7 +151,6 @@ static int hpel_motion_search(MpegEncContext * s,
220 220
 
221 221
     return dmin;
222 222
 }
223
-#endif
224 223
 
225 224
 static int no_sub_motion_search(MpegEncContext * s,
226 225
           int *mx_ptr, int *my_ptr, int dmin,
... ...
@@ -323,7 +253,6 @@ static int qpel_motion_search(MpegEncContext * s,
323 323
         int best_pos[8][2];
324 324
 
325 325
         memset(best, 64, sizeof(int)*8);
326
-#if 1
327 326
         if(s->me.dia_size>=2){
328 327
             const int tl= score_map[(index-(1<<ME_MAP_SHIFT)-1)&(ME_MAP_SIZE-1)];
329 328
             const int bl= score_map[(index+(1<<ME_MAP_SHIFT)-1)&(ME_MAP_SIZE-1)];
... ...
@@ -412,76 +341,6 @@ static int qpel_motion_search(MpegEncContext * s,
412 412
             CHECK_QUARTER_MV(nx&3, ny&3, nx>>2, ny>>2)
413 413
         }
414 414
 
415
-#if 0
416
-            const int tl= score_map[(index-(1<<ME_MAP_SHIFT)-1)&(ME_MAP_SIZE-1)];
417
-            const int bl= score_map[(index+(1<<ME_MAP_SHIFT)-1)&(ME_MAP_SIZE-1)];
418
-            const int tr= score_map[(index-(1<<ME_MAP_SHIFT)+1)&(ME_MAP_SIZE-1)];
419
-            const int br= score_map[(index+(1<<ME_MAP_SHIFT)+1)&(ME_MAP_SIZE-1)];
420
-//            if(l < r && l < t && l < b && l < tl && l < bl && l < tr && l < br && bl < tl){
421
-            if(tl<br){
422
-
423
-//            nx= FFMAX(4*mx - bx, bx - 4*mx);
424
-//            ny= FFMAX(4*my - by, by - 4*my);
425
-
426
-            static int stats[7][7], count;
427
-            count++;
428
-            stats[4*mx - bx + 3][4*my - by + 3]++;
429
-            if(256*256*256*64 % count ==0){
430
-                for(i=0; i<49; i++){
431
-                    if((i%7)==0) printf("\n");
432
-                    printf("%6d ", stats[0][i]);
433
-                }
434
-                printf("\n");
435
-            }
436
-            }
437
-#endif
438
-#else
439
-
440
-        CHECK_QUARTER_MV(2, 2, mx-1, my-1)
441
-        CHECK_QUARTER_MV(0, 2, mx  , my-1)
442
-        CHECK_QUARTER_MV(2, 2, mx  , my-1)
443
-        CHECK_QUARTER_MV(2, 0, mx  , my  )
444
-        CHECK_QUARTER_MV(2, 2, mx  , my  )
445
-        CHECK_QUARTER_MV(0, 2, mx  , my  )
446
-        CHECK_QUARTER_MV(2, 2, mx-1, my  )
447
-        CHECK_QUARTER_MV(2, 0, mx-1, my  )
448
-
449
-        nx= bx;
450
-        ny= by;
451
-
452
-        for(i=0; i<8; i++){
453
-            int ox[8]= {0, 1, 1, 1, 0,-1,-1,-1};
454
-            int oy[8]= {1, 1, 0,-1,-1,-1, 0, 1};
455
-            CHECK_QUARTER_MV((nx + ox[i])&3, (ny + oy[i])&3, (nx + ox[i])>>2, (ny + oy[i])>>2)
456
-        }
457
-#endif
458
-#if 0
459
-        //outer ring
460
-        CHECK_QUARTER_MV(1, 3, mx-1, my-1)
461
-        CHECK_QUARTER_MV(1, 2, mx-1, my-1)
462
-        CHECK_QUARTER_MV(1, 1, mx-1, my-1)
463
-        CHECK_QUARTER_MV(2, 1, mx-1, my-1)
464
-        CHECK_QUARTER_MV(3, 1, mx-1, my-1)
465
-        CHECK_QUARTER_MV(0, 1, mx  , my-1)
466
-        CHECK_QUARTER_MV(1, 1, mx  , my-1)
467
-        CHECK_QUARTER_MV(2, 1, mx  , my-1)
468
-        CHECK_QUARTER_MV(3, 1, mx  , my-1)
469
-        CHECK_QUARTER_MV(3, 2, mx  , my-1)
470
-        CHECK_QUARTER_MV(3, 3, mx  , my-1)
471
-        CHECK_QUARTER_MV(3, 0, mx  , my  )
472
-        CHECK_QUARTER_MV(3, 1, mx  , my  )
473
-        CHECK_QUARTER_MV(3, 2, mx  , my  )
474
-        CHECK_QUARTER_MV(3, 3, mx  , my  )
475
-        CHECK_QUARTER_MV(2, 3, mx  , my  )
476
-        CHECK_QUARTER_MV(1, 3, mx  , my  )
477
-        CHECK_QUARTER_MV(0, 3, mx  , my  )
478
-        CHECK_QUARTER_MV(3, 3, mx-1, my  )
479
-        CHECK_QUARTER_MV(2, 3, mx-1, my  )
480
-        CHECK_QUARTER_MV(1, 3, mx-1, my  )
481
-        CHECK_QUARTER_MV(1, 2, mx-1, my  )
482
-        CHECK_QUARTER_MV(1, 1, mx-1, my  )
483
-        CHECK_QUARTER_MV(1, 0, mx-1, my  )
484
-#endif
485 415
         assert(bx >= xmin*4 && bx <= xmax*4 && by >= ymin*4 && by <= ymax*4);
486 416
 
487 417
         *mx_ptr = bx;
... ...
@@ -34,17 +34,6 @@
34 34
 #include "mathops.h"
35 35
 #include "simple_idct.h"
36 36
 
37
-#if 0
38
-#define W1 2841 /* 2048*sqrt (2)*cos (1*pi/16) */
39
-#define W2 2676 /* 2048*sqrt (2)*cos (2*pi/16) */
40
-#define W3 2408 /* 2048*sqrt (2)*cos (3*pi/16) */
41
-#define W4 2048 /* 2048*sqrt (2)*cos (4*pi/16) */
42
-#define W5 1609 /* 2048*sqrt (2)*cos (5*pi/16) */
43
-#define W6 1108 /* 2048*sqrt (2)*cos (6*pi/16) */
44
-#define W7 565  /* 2048*sqrt (2)*cos (7*pi/16) */
45
-#define ROW_SHIFT 8
46
-#define COL_SHIFT 17
47
-#else
48 37
 #define W1  22725  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
49 38
 #define W2  21407  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
50 39
 #define W3  19266  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
... ...
@@ -54,7 +43,6 @@
54 54
 #define W7  4520   //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
55 55
 #define ROW_SHIFT 11
56 56
 #define COL_SHIFT 20 // 6
57
-#endif
58 57
 
59 58
 static inline void idctRowCondDC (DCTELEM * row)
60 59
 {
... ...
@@ -74,20 +74,11 @@ extern VLC ff_vc1_ac_coeff_table[8];
74 74
 //@}
75 75
 
76 76
 
77
-#if 0 //original bfraction from vc9data.h, not conforming to standard
78
-/* Denominator used for ff_vc1_bfraction_lut */
79
-#define B_FRACTION_DEN  840
80
-
81
-/* bfraction is fractional, we scale to the GCD 3*5*7*8 = 840 */
82
-extern const int16_t ff_vc1_bfraction_lut[23];
83
-#else
84 77
 /* Denominator used for ff_vc1_bfraction_lut */
85 78
 #define B_FRACTION_DEN  256
86 79
 
87 80
 /* pre-computed scales for all bfractions and base=256 */
88 81
 extern const int16_t ff_vc1_bfraction_lut[23];
89
-#endif
90
-
91 82
 extern const uint8_t ff_vc1_bfraction_bits[23];
92 83
 extern const uint8_t ff_vc1_bfraction_codes[23];
93 84
 
... ...
@@ -37,11 +37,7 @@
37 37
 #define C1 22725 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
38 38
 #define C2 21407 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
39 39
 #define C3 19266 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
40
-#if 0
41
-#define C4 16384 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
42
-#else
43 40
 #define C4 16383 //cos(i*M_PI/16)*sqrt(2)*(1<<14) - 0.5
44
-#endif
45 41
 #define C5 12873 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
46 42
 #define C6 8867  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
47 43
 #define C7 4520  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
... ...
@@ -80,135 +76,6 @@ DECLARE_ALIGNED(8, static const int16_t, coeffs)[]= {
80 80
  C3, -C1,  C3, -C1
81 81
 };
82 82
 
83
-#if 0
84
-static void unused_var_killer(void)
85
-{
86
-        int a= wm1010 + d40000;
87
-        temp[0]=a;
88
-}
89
-
90
-static void inline idctCol (int16_t * col, int16_t *input)
91
-{
92
-#undef C0
93
-#undef C1
94
-#undef C2
95
-#undef C3
96
-#undef C4
97
-#undef C5
98
-#undef C6
99
-#undef C7
100
-        int a0, a1, a2, a3, b0, b1, b2, b3;
101
-        const int C0 = 23170; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
102
-        const int C1 = 22725; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
103
-        const int C2 = 21407; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
104
-        const int C3 = 19266; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
105
-        const int C4 = 16383; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
106
-        const int C5 = 12873; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
107
-        const int C6 = 8867;  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
108
-        const int C7 = 4520;  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
109
-/*
110
-        if( !(col[8*1] | col[8*2] |col[8*3] |col[8*4] |col[8*5] |col[8*6] | col[8*7])) {
111
-                col[8*0] = col[8*1] = col[8*2] = col[8*3] = col[8*4] =
112
-                        col[8*5] = col[8*6] = col[8*7] = col[8*0]<<3;
113
-                return;
114
-        }*/
115
-
116
-col[8*0] = input[8*0 + 0];
117
-col[8*1] = input[8*2 + 0];
118
-col[8*2] = input[8*0 + 1];
119
-col[8*3] = input[8*2 + 1];
120
-col[8*4] = input[8*4 + 0];
121
-col[8*5] = input[8*6 + 0];
122
-col[8*6] = input[8*4 + 1];
123
-col[8*7] = input[8*6 + 1];
124
-
125
-        a0 = C4*col[8*0] + C2*col[8*2] + C4*col[8*4] + C6*col[8*6] + (1<<(COL_SHIFT-1));
126
-        a1 = C4*col[8*0] + C6*col[8*2] - C4*col[8*4] - C2*col[8*6] + (1<<(COL_SHIFT-1));
127
-        a2 = C4*col[8*0] - C6*col[8*2] - C4*col[8*4] + C2*col[8*6] + (1<<(COL_SHIFT-1));
128
-        a3 = C4*col[8*0] - C2*col[8*2] + C4*col[8*4] - C6*col[8*6] + (1<<(COL_SHIFT-1));
129
-
130
-        b0 = C1*col[8*1] + C3*col[8*3] + C5*col[8*5] + C7*col[8*7];
131
-        b1 = C3*col[8*1] - C7*col[8*3] - C1*col[8*5] - C5*col[8*7];
132
-        b2 = C5*col[8*1] - C1*col[8*3] + C7*col[8*5] + C3*col[8*7];
133
-        b3 = C7*col[8*1] - C5*col[8*3] + C3*col[8*5] - C1*col[8*7];
134
-
135
-        col[8*0] = (a0 + b0) >> COL_SHIFT;
136
-        col[8*1] = (a1 + b1) >> COL_SHIFT;
137
-        col[8*2] = (a2 + b2) >> COL_SHIFT;
138
-        col[8*3] = (a3 + b3) >> COL_SHIFT;
139
-        col[8*4] = (a3 - b3) >> COL_SHIFT;
140
-        col[8*5] = (a2 - b2) >> COL_SHIFT;
141
-        col[8*6] = (a1 - b1) >> COL_SHIFT;
142
-        col[8*7] = (a0 - b0) >> COL_SHIFT;
143
-}
144
-
145
-static void inline idctRow (int16_t * output, int16_t * input)
146
-{
147
-        int16_t row[8];
148
-
149
-        int a0, a1, a2, a3, b0, b1, b2, b3;
150
-        const int C0 = 23170; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
151
-        const int C1 = 22725; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
152
-        const int C2 = 21407; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
153
-        const int C3 = 19266; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
154
-        const int C4 = 16383; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
155
-        const int C5 = 12873; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
156
-        const int C6 = 8867;  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
157
-        const int C7 = 4520;  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
158
-
159
-row[0] = input[0];
160
-row[2] = input[1];
161
-row[4] = input[4];
162
-row[6] = input[5];
163
-row[1] = input[8];
164
-row[3] = input[9];
165
-row[5] = input[12];
166
-row[7] = input[13];
167
-
168
-        if( !(row[1] | row[2] |row[3] |row[4] |row[5] |row[6] | row[7]) ) {
169
-                row[0] = row[1] = row[2] = row[3] = row[4] =
170
-                        row[5] = row[6] = row[7] = row[0]<<3;
171
-        output[0]  = row[0];
172
-        output[2]  = row[1];
173
-        output[4]  = row[2];
174
-        output[6]  = row[3];
175
-        output[8]  = row[4];
176
-        output[10] = row[5];
177
-        output[12] = row[6];
178
-        output[14] = row[7];
179
-                return;
180
-        }
181
-
182
-        a0 = C4*row[0] + C2*row[2] + C4*row[4] + C6*row[6] + (1<<(ROW_SHIFT-1));
183
-        a1 = C4*row[0] + C6*row[2] - C4*row[4] - C2*row[6] + (1<<(ROW_SHIFT-1));
184
-        a2 = C4*row[0] - C6*row[2] - C4*row[4] + C2*row[6] + (1<<(ROW_SHIFT-1));
185
-        a3 = C4*row[0] - C2*row[2] + C4*row[4] - C6*row[6] + (1<<(ROW_SHIFT-1));
186
-
187
-        b0 = C1*row[1] + C3*row[3] + C5*row[5] + C7*row[7];
188
-        b1 = C3*row[1] - C7*row[3] - C1*row[5] - C5*row[7];
189
-        b2 = C5*row[1] - C1*row[3] + C7*row[5] + C3*row[7];
190
-        b3 = C7*row[1] - C5*row[3] + C3*row[5] - C1*row[7];
191
-
192
-        row[0] = (a0 + b0) >> ROW_SHIFT;
193
-        row[1] = (a1 + b1) >> ROW_SHIFT;
194
-        row[2] = (a2 + b2) >> ROW_SHIFT;
195
-        row[3] = (a3 + b3) >> ROW_SHIFT;
196
-        row[4] = (a3 - b3) >> ROW_SHIFT;
197
-        row[5] = (a2 - b2) >> ROW_SHIFT;
198
-        row[6] = (a1 - b1) >> ROW_SHIFT;
199
-        row[7] = (a0 - b0) >> ROW_SHIFT;
200
-
201
-        output[0]  = row[0];
202
-        output[2]  = row[1];
203
-        output[4]  = row[2];
204
-        output[6]  = row[3];
205
-        output[8]  = row[4];
206
-        output[10] = row[5];
207
-        output[12] = row[6];
208
-        output[14] = row[7];
209
-}
210
-#endif
211
-
212 83
 static inline void idct(int16_t *block)
213 84
 {
214 85
         DECLARE_ALIGNED(8, int64_t, align_tmp)[16];
... ...
@@ -345,11 +345,11 @@ static int fourxm_read_close(AVFormatContext *s)
345 345
 }
346 346
 
347 347
 AVInputFormat ff_fourxm_demuxer = {
348
-    "4xm",
349
-    NULL_IF_CONFIG_SMALL("4X Technologies format"),
350
-    sizeof(FourxmDemuxContext),
351
-    fourxm_probe,
352
-    fourxm_read_header,
353
-    fourxm_read_packet,
354
-    fourxm_read_close,
348
+    .name           = "4xm",
349
+    .long_name      = NULL_IF_CONFIG_SMALL("4X Technologies format"),
350
+    .priv_data_size = sizeof(FourxmDemuxContext),
351
+    .read_probe     = fourxm_probe,
352
+    .read_header    = fourxm_read_header,
353
+    .read_packet    = fourxm_read_packet,
354
+    .read_close     = fourxm_read_close,
355 355
 };
... ...
@@ -170,7 +170,7 @@ AVOutputFormat ff_a64_muxer = {
170 170
     .extensions = "a64, A64",
171 171
     .priv_data_size = sizeof (A64Context),
172 172
     .video_codec = CODEC_ID_A64_MULTI,
173
-    a64_write_header,
174
-    a64_write_packet,
175
-    a64_write_trailer
173
+    .write_header  = a64_write_header,
174
+    .write_packet  = a64_write_packet,
175
+    .write_trailer = a64_write_trailer
176 176
 };
... ...
@@ -82,12 +82,11 @@ static int adts_aac_read_header(AVFormatContext *s,
82 82
 }
83 83
 
84 84
 AVInputFormat ff_aac_demuxer = {
85
-    "aac",
86
-    NULL_IF_CONFIG_SMALL("raw ADTS AAC"),
87
-    0,
88
-    adts_aac_probe,
89
-    adts_aac_read_header,
90
-    ff_raw_read_partial_packet,
85
+    .name           = "aac",
86
+    .long_name      = NULL_IF_CONFIG_SMALL("raw ADTS AAC"),
87
+    .read_probe     = adts_aac_probe,
88
+    .read_header    = adts_aac_read_header,
89
+    .read_packet    = ff_raw_read_partial_packet,
91 90
     .flags= AVFMT_GENERIC_INDEX,
92 91
     .extensions = "aac",
93 92
     .value = CODEC_ID_AAC,
... ...
@@ -71,12 +71,11 @@ static int ac3_probe(AVProbeData *p)
71 71
 }
72 72
 
73 73
 AVInputFormat ff_ac3_demuxer = {
74
-    "ac3",
75
-    NULL_IF_CONFIG_SMALL("raw AC-3"),
76
-    0,
77
-    ac3_probe,
78
-    ff_raw_audio_read_header,
79
-    ff_raw_read_partial_packet,
74
+    .name           = "ac3",
75
+    .long_name      = NULL_IF_CONFIG_SMALL("raw AC-3"),
76
+    .read_probe     = ac3_probe,
77
+    .read_header    = ff_raw_audio_read_header,
78
+    .read_packet    = ff_raw_read_partial_packet,
80 79
     .flags= AVFMT_GENERIC_INDEX,
81 80
     .extensions = "ac3",
82 81
     .value = CODEC_ID_AC3,
... ...
@@ -90,12 +89,11 @@ static int eac3_probe(AVProbeData *p)
90 90
 }
91 91
 
92 92
 AVInputFormat ff_eac3_demuxer = {
93
-    "eac3",
94
-    NULL_IF_CONFIG_SMALL("raw E-AC-3"),
95
-    0,
96
-    eac3_probe,
97
-    ff_raw_audio_read_header,
98
-    ff_raw_read_partial_packet,
93
+    .name           = "eac3",
94
+    .long_name      = NULL_IF_CONFIG_SMALL("raw E-AC-3"),
95
+    .read_probe     = eac3_probe,
96
+    .read_header    = ff_raw_audio_read_header,
97
+    .read_packet    = ff_raw_read_partial_packet,
99 98
     .flags= AVFMT_GENERIC_INDEX,
100 99
     .extensions = "eac3",
101 100
     .value = CODEC_ID_EAC3,
... ...
@@ -142,13 +142,13 @@ static int adts_write_packet(AVFormatContext *s, AVPacket *pkt)
142 142
 }
143 143
 
144 144
 AVOutputFormat ff_adts_muxer = {
145
-    "adts",
146
-    NULL_IF_CONFIG_SMALL("ADTS AAC"),
147
-    "audio/aac",
148
-    "aac,adts",
149
-    sizeof(ADTSContext),
150
-    CODEC_ID_AAC,
151
-    CODEC_ID_NONE,
152
-    adts_write_header,
153
-    adts_write_packet,
145
+    .name              = "adts",
146
+    .long_name         = NULL_IF_CONFIG_SMALL("ADTS AAC"),
147
+    .mime_type         = "audio/aac",
148
+    .extensions        = "aac,adts",
149
+    .priv_data_size    = sizeof(ADTSContext),
150
+    .audio_codec       = CODEC_ID_AAC,
151
+    .video_codec       = CODEC_ID_NONE,
152
+    .write_header      = adts_write_header,
153
+    .write_packet      = adts_write_packet,
154 154
 };
... ...
@@ -95,14 +95,12 @@ static int aea_read_packet(AVFormatContext *s, AVPacket *pkt)
95 95
 }
96 96
 
97 97
 AVInputFormat ff_aea_demuxer = {
98
-    "aea",
99
-    NULL_IF_CONFIG_SMALL("MD STUDIO audio"),
100
-    0,
101
-    aea_read_probe,
102
-    aea_read_header,
103
-    aea_read_packet,
104
-    0,
105
-    pcm_read_seek,
98
+    .name           = "aea",
99
+    .long_name      = NULL_IF_CONFIG_SMALL("MD STUDIO audio"),
100
+    .read_probe     = aea_read_probe,
101
+    .read_header    = aea_read_header,
102
+    .read_packet    = aea_read_packet,
103
+    .read_seek      = pcm_read_seek,
106 104
     .flags= AVFMT_GENERIC_INDEX,
107 105
     .extensions = "aea",
108 106
 };
... ...
@@ -320,13 +320,12 @@ static int aiff_read_packet(AVFormatContext *s,
320 320
 }
321 321
 
322 322
 AVInputFormat ff_aiff_demuxer = {
323
-    "aiff",
324
-    NULL_IF_CONFIG_SMALL("Audio IFF"),
325
-    sizeof(AIFFInputContext),
326
-    aiff_probe,
327
-    aiff_read_header,
328
-    aiff_read_packet,
329
-    NULL,
330
-    pcm_read_seek,
323
+    .name           = "aiff",
324
+    .long_name      = NULL_IF_CONFIG_SMALL("Audio IFF"),
325
+    .priv_data_size = sizeof(AIFFInputContext),
326
+    .read_probe     = aiff_probe,
327
+    .read_header    = aiff_read_header,
328
+    .read_packet    = aiff_read_packet,
329
+    .read_seek      = pcm_read_seek,
331 330
     .codec_tag= (const AVCodecTag* const []){ff_codec_aiff_tags, 0},
332 331
 };
... ...
@@ -155,15 +155,15 @@ static int aiff_write_trailer(AVFormatContext *s)
155 155
 }
156 156
 
157 157
 AVOutputFormat ff_aiff_muxer = {
158
-    "aiff",
159
-    NULL_IF_CONFIG_SMALL("Audio IFF"),
160
-    "audio/aiff",
161
-    "aif,aiff,afc,aifc",
162
-    sizeof(AIFFOutputContext),
163
-    CODEC_ID_PCM_S16BE,
164
-    CODEC_ID_NONE,
165
-    aiff_write_header,
166
-    aiff_write_packet,
167
-    aiff_write_trailer,
158
+    .name              = "aiff",
159
+    .long_name         = NULL_IF_CONFIG_SMALL("Audio IFF"),
160
+    .mime_type         = "audio/aiff",
161
+    .extensions        = "aif,aiff,afc,aifc",
162
+    .priv_data_size    = sizeof(AIFFOutputContext),
163
+    .audio_codec       = CODEC_ID_PCM_S16BE,
164
+    .video_codec       = CODEC_ID_NONE,
165
+    .write_header      = aiff_write_header,
166
+    .write_packet      = aiff_write_packet,
167
+    .write_trailer     = aiff_write_trailer,
168 168
     .codec_tag= (const AVCodecTag* const []){ff_codec_aiff_tags, 0},
169 169
 };
... ...
@@ -174,27 +174,25 @@ static int amr_read_packet(AVFormatContext *s,
174 174
 
175 175
 #if CONFIG_AMR_DEMUXER
176 176
 AVInputFormat ff_amr_demuxer = {
177
-    "amr",
178
-    NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
179
-    0, /*priv_data_size*/
180
-    amr_probe,
181
-    amr_read_header,
182
-    amr_read_packet,
183
-    NULL,
177
+    .name           = "amr",
178
+    .long_name      = NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
179
+    .priv_data_size = 0, /*priv_data_size*/
180
+    .read_probe     = amr_probe,
181
+    .read_header    = amr_read_header,
182
+    .read_packet    = amr_read_packet,
184 183
     .flags = AVFMT_GENERIC_INDEX,
185 184
 };
186 185
 #endif
187 186
 
188 187
 #if CONFIG_AMR_MUXER
189 188
 AVOutputFormat ff_amr_muxer = {
190
-    "amr",
191
-    NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
192
-    "audio/amr",
193
-    "amr",
194
-    0,
195
-    CODEC_ID_AMR_NB,
196
-    CODEC_ID_NONE,
197
-    amr_write_header,
198
-    amr_write_packet,
189
+    .name              = "amr",
190
+    .long_name         = NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
191
+    .mime_type         = "audio/amr",
192
+    .extensions        = "amr",
193
+    .audio_codec       = CODEC_ID_AMR_NB,
194
+    .video_codec       = CODEC_ID_NONE,
195
+    .write_header      = amr_write_header,
196
+    .write_packet      = amr_write_packet,
199 197
 };
200 198
 #endif
... ...
@@ -226,10 +226,10 @@ repeat:
226 226
 }
227 227
 
228 228
 AVInputFormat ff_anm_demuxer = {
229
-    "anm",
230
-    NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
231
-    sizeof(AnmDemuxContext),
232
-    probe,
233
-    read_header,
234
-    read_packet,
229
+    .name           = "anm",
230
+    .long_name      = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
231
+    .priv_data_size = sizeof(AnmDemuxContext),
232
+    .read_probe     = probe,
233
+    .read_header    = read_header,
234
+    .read_packet    = read_packet,
235 235
 };
... ...
@@ -81,10 +81,9 @@ static int apc_read_packet(AVFormatContext *s, AVPacket *pkt)
81 81
 }
82 82
 
83 83
 AVInputFormat ff_apc_demuxer = {
84
-    "apc",
85
-    NULL_IF_CONFIG_SMALL("CRYO APC format"),
86
-    0,
87
-    apc_probe,
88
-    apc_read_header,
89
-    apc_read_packet,
84
+    .name           = "apc",
85
+    .long_name      = NULL_IF_CONFIG_SMALL("CRYO APC format"),
86
+    .read_probe     = apc_probe,
87
+    .read_header    = apc_read_header,
88
+    .read_packet    = apc_read_packet,
90 89
 };
... ...
@@ -405,13 +405,13 @@ static int ape_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
405 405
 }
406 406
 
407 407
 AVInputFormat ff_ape_demuxer = {
408
-    "ape",
409
-    NULL_IF_CONFIG_SMALL("Monkey's Audio"),
410
-    sizeof(APEContext),
411
-    ape_probe,
412
-    ape_read_header,
413
-    ape_read_packet,
414
-    ape_read_close,
415
-    ape_read_seek,
408
+    .name           = "ape",
409
+    .long_name      = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
410
+    .priv_data_size = sizeof(APEContext),
411
+    .read_probe     = ape_probe,
412
+    .read_header    = ape_read_header,
413
+    .read_packet    = ape_read_packet,
414
+    .read_close     = ape_read_close,
415
+    .read_seek      = ape_read_seek,
416 416
     .extensions = "ape,apl,mac"
417 417
 };
... ...
@@ -668,12 +668,12 @@ static int applehttp_probe(AVProbeData *p)
668 668
 }
669 669
 
670 670
 AVInputFormat ff_applehttp_demuxer = {
671
-    "applehttp",
672
-    NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming format"),
673
-    sizeof(AppleHTTPContext),
674
-    applehttp_probe,
675
-    applehttp_read_header,
676
-    applehttp_read_packet,
677
-    applehttp_close,
678
-    applehttp_read_seek,
671
+    .name           = "applehttp",
672
+    .long_name      = NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming format"),
673
+    .priv_data_size = sizeof(AppleHTTPContext),
674
+    .read_probe     = applehttp_probe,
675
+    .read_header    = applehttp_read_header,
676
+    .read_packet    = applehttp_read_packet,
677
+    .read_close     = applehttp_close,
678
+    .read_seek      = applehttp_read_seek,
679 679
 };
... ...
@@ -1282,14 +1282,14 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int
1282 1282
 }
1283 1283
 
1284 1284
 AVInputFormat ff_asf_demuxer = {
1285
-    "asf",
1286
-    NULL_IF_CONFIG_SMALL("ASF format"),
1287
-    sizeof(ASFContext),
1288
-    asf_probe,
1289
-    asf_read_header,
1290
-    asf_read_packet,
1291
-    asf_read_close,
1292
-    asf_read_seek,
1293
-    asf_read_pts,
1285
+    .name           = "asf",
1286
+    .long_name      = NULL_IF_CONFIG_SMALL("ASF format"),
1287
+    .priv_data_size = sizeof(ASFContext),
1288
+    .read_probe     = asf_probe,
1289
+    .read_header    = asf_read_header,
1290
+    .read_packet    = asf_read_packet,
1291
+    .read_close     = asf_read_close,
1292
+    .read_seek      = asf_read_seek,
1293
+    .read_timestamp = asf_read_pts,
1294 1294
     .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
1295 1295
 };
... ...
@@ -882,20 +882,20 @@ static int asf_write_trailer(AVFormatContext *s)
882 882
 
883 883
 #if CONFIG_ASF_MUXER
884 884
 AVOutputFormat ff_asf_muxer = {
885
-    "asf",
886
-    NULL_IF_CONFIG_SMALL("ASF format"),
887
-    "video/x-ms-asf",
888
-    "asf,wmv,wma",
889
-    sizeof(ASFContext),
885
+    .name           = "asf",
886
+    .long_name      = NULL_IF_CONFIG_SMALL("ASF format"),
887
+    .mime_type      = "video/x-ms-asf",
888
+    .extensions     = "asf,wmv,wma",
889
+    .priv_data_size = sizeof(ASFContext),
890 890
 #if CONFIG_LIBMP3LAME
891
-    CODEC_ID_MP3,
891
+    .audio_codec    = CODEC_ID_MP3,
892 892
 #else
893
-    CODEC_ID_MP2,
893
+    .audio_codec    = CODEC_ID_MP2,
894 894
 #endif
895
-    CODEC_ID_MSMPEG4V3,
896
-    asf_write_header,
897
-    asf_write_packet,
898
-    asf_write_trailer,
895
+    .video_codec    = CODEC_ID_MSMPEG4V3,
896
+    .write_header   = asf_write_header,
897
+    .write_packet   = asf_write_packet,
898
+    .write_trailer  = asf_write_trailer,
899 899
     .flags = AVFMT_GLOBALHEADER,
900 900
     .codec_tag= (const AVCodecTag* const []){codec_asf_bmp_tags, ff_codec_bmp_tags, ff_codec_wav_tags, 0},
901 901
 };
... ...
@@ -903,20 +903,20 @@ AVOutputFormat ff_asf_muxer = {
903 903
 
904 904
 #if CONFIG_ASF_STREAM_MUXER
905 905
 AVOutputFormat ff_asf_stream_muxer = {
906
-    "asf_stream",
907
-    NULL_IF_CONFIG_SMALL("ASF format"),
908
-    "video/x-ms-asf",
909
-    "asf,wmv,wma",
910
-    sizeof(ASFContext),
906
+    .name           = "asf_stream",
907
+    .long_name      = NULL_IF_CONFIG_SMALL("ASF format"),
908
+    .mime_type      = "video/x-ms-asf",
909
+    .extensions     = "asf,wmv,wma",
910
+    .priv_data_size = sizeof(ASFContext),
911 911
 #if CONFIG_LIBMP3LAME
912
-    CODEC_ID_MP3,
912
+    .audio_codec    = CODEC_ID_MP3,
913 913
 #else
914
-    CODEC_ID_MP2,
914
+    .audio_codec    = CODEC_ID_MP2,
915 915
 #endif
916
-    CODEC_ID_MSMPEG4V3,
917
-    asf_write_stream_header,
918
-    asf_write_packet,
919
-    asf_write_trailer,
916
+    .video_codec    = CODEC_ID_MSMPEG4V3,
917
+    .write_header   = asf_write_stream_header,
918
+    .write_packet   = asf_write_packet,
919
+    .write_trailer  = asf_write_trailer,
920 920
     .flags = AVFMT_GLOBALHEADER,
921 921
     .codec_tag= (const AVCodecTag* const []){codec_asf_bmp_tags, ff_codec_bmp_tags, ff_codec_wav_tags, 0},
922 922
 };
... ...
@@ -185,30 +185,27 @@ static int au_read_packet(AVFormatContext *s,
185 185
 
186 186
 #if CONFIG_AU_DEMUXER
187 187
 AVInputFormat ff_au_demuxer = {
188
-    "au",
189
-    NULL_IF_CONFIG_SMALL("SUN AU format"),
190
-    0,
191
-    au_probe,
192
-    au_read_header,
193
-    au_read_packet,
194
-    NULL,
195
-    pcm_read_seek,
188
+    .name           = "au",
189
+    .long_name      = NULL_IF_CONFIG_SMALL("SUN AU format"),
190
+    .read_probe     = au_probe,
191
+    .read_header    = au_read_header,
192
+    .read_packet    = au_read_packet,
193
+    .read_seek      = pcm_read_seek,
196 194
     .codec_tag= (const AVCodecTag* const []){codec_au_tags, 0},
197 195
 };
198 196
 #endif
199 197
 
200 198
 #if CONFIG_AU_MUXER
201 199
 AVOutputFormat ff_au_muxer = {
202
-    "au",
203
-    NULL_IF_CONFIG_SMALL("SUN AU format"),
204
-    "audio/basic",
205
-    "au",
206
-    0,
207
-    CODEC_ID_PCM_S16BE,
208
-    CODEC_ID_NONE,
209
-    au_write_header,
210
-    au_write_packet,
211
-    au_write_trailer,
200
+    .name              = "au",
201
+    .long_name         = NULL_IF_CONFIG_SMALL("SUN AU format"),
202
+    .mime_type         = "audio/basic",
203
+    .extensions        = "au",
204
+    .audio_codec       = CODEC_ID_PCM_S16BE,
205
+    .video_codec       = CODEC_ID_NONE,
206
+    .write_header      = au_write_header,
207
+    .write_packet      = au_write_packet,
208
+    .write_trailer     = au_write_trailer,
212 209
     .codec_tag= (const AVCodecTag* const []){codec_au_tags, 0},
213 210
 };
214 211
 #endif //CONFIG_AU_MUXER
... ...
@@ -1446,13 +1446,13 @@ static int avi_probe(AVProbeData *p)
1446 1446
 }
1447 1447
 
1448 1448
 AVInputFormat ff_avi_demuxer = {
1449
-    "avi",
1450
-    NULL_IF_CONFIG_SMALL("AVI format"),
1451
-    sizeof(AVIContext),
1452
-    avi_probe,
1453
-    avi_read_header,
1454
-    avi_read_packet,
1455
-    avi_read_close,
1456
-    avi_read_seek,
1449
+    .name           = "avi",
1450
+    .long_name      = NULL_IF_CONFIG_SMALL("AVI format"),
1451
+    .priv_data_size = sizeof(AVIContext),
1452
+    .read_probe     = avi_probe,
1453
+    .read_header    = avi_read_header,
1454
+    .read_packet    = avi_read_packet,
1455
+    .read_close     = avi_read_close,
1456
+    .read_seek      = avi_read_seek,
1457 1457
     .priv_class = &demuxer_class,
1458 1458
 };
... ...
@@ -639,16 +639,16 @@ static int avi_write_trailer(AVFormatContext *s)
639 639
 }
640 640
 
641 641
 AVOutputFormat ff_avi_muxer = {
642
-    "avi",
643
-    NULL_IF_CONFIG_SMALL("AVI format"),
644
-    "video/x-msvideo",
645
-    "avi",
646
-    sizeof(AVIContext),
647
-    CODEC_ID_MP2,
648
-    CODEC_ID_MPEG4,
649
-    avi_write_header,
650
-    avi_write_packet,
651
-    avi_write_trailer,
642
+    .name              = "avi",
643
+    .long_name         = NULL_IF_CONFIG_SMALL("AVI format"),
644
+    .mime_type         = "video/x-msvideo",
645
+    .extensions        = "avi",
646
+    .priv_data_size    = sizeof(AVIContext),
647
+    .audio_codec       = CODEC_ID_MP2,
648
+    .video_codec       = CODEC_ID_MPEG4,
649
+    .write_header      = avi_write_header,
650
+    .write_packet      = avi_write_packet,
651
+    .write_trailer     = avi_write_trailer,
652 652
     .codec_tag= (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
653 653
     .flags= AVFMT_VARIABLE_FPS,
654 654
 };
... ...
@@ -208,15 +208,12 @@ static int avisynth_read_seek(AVFormatContext *s, int stream_index, int64_t pts,
208 208
 }
209 209
 
210 210
 AVInputFormat ff_avisynth_demuxer = {
211
-  "avs",
212
-  NULL_IF_CONFIG_SMALL("AVISynth"),
213
-  sizeof(AVISynthContext),
214
-  NULL,
215
-  avisynth_read_header,
216
-  avisynth_read_packet,
217
-  avisynth_read_close,
218
-  avisynth_read_seek,
219
-  NULL,
220
-  0,
221
-  "avs",
211
+    .name           = "avs",
212
+    .long_name      = NULL_IF_CONFIG_SMALL("AVISynth"),
213
+    .priv_data_size = sizeof(AVISynthContext),
214
+    .read_header    = avisynth_read_header,
215
+    .read_packet    = avisynth_read_packet,
216
+    .read_close     = avisynth_read_close,
217
+    .read_seek      = avisynth_read_seek,
218
+    .extensions     = "avs",
222 219
 };
... ...
@@ -216,11 +216,11 @@ static int avs_read_close(AVFormatContext * s)
216 216
 }
217 217
 
218 218
 AVInputFormat ff_avs_demuxer = {
219
-    "avs",
220
-    NULL_IF_CONFIG_SMALL("AVS format"),
221
-    sizeof(AvsFormat),
222
-    avs_probe,
223
-    avs_read_header,
224
-    avs_read_packet,
225
-    avs_read_close,
219
+    .name           = "avs",
220
+    .long_name      = NULL_IF_CONFIG_SMALL("AVS format"),
221
+    .priv_data_size = sizeof(AvsFormat),
222
+    .read_probe     = avs_probe,
223
+    .read_header    = avs_read_header,
224
+    .read_packet    = avs_read_packet,
225
+    .read_close     = avs_read_close,
226 226
 };
... ...
@@ -223,10 +223,10 @@ static int vid_read_packet(AVFormatContext *s,
223 223
 }
224 224
 
225 225
 AVInputFormat ff_bethsoftvid_demuxer = {
226
-    "bethsoftvid",
227
-    NULL_IF_CONFIG_SMALL("Bethesda Softworks VID format"),
228
-    sizeof(BVID_DemuxContext),
229
-    vid_probe,
230
-    vid_read_header,
231
-    vid_read_packet,
226
+    .name           = "bethsoftvid",
227
+    .long_name      = NULL_IF_CONFIG_SMALL("Bethesda Softworks VID format"),
228
+    .priv_data_size = sizeof(BVID_DemuxContext),
229
+    .read_probe     = vid_probe,
230
+    .read_header    = vid_read_header,
231
+    .read_packet    = vid_read_packet,
232 232
 };
... ...
@@ -159,10 +159,10 @@ static int bfi_read_packet(AVFormatContext * s, AVPacket * pkt)
159 159
 }
160 160
 
161 161
 AVInputFormat ff_bfi_demuxer = {
162
-    "bfi",
163
-    NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
164
-    sizeof(BFIContext),
165
-    bfi_probe,
166
-    bfi_read_header,
167
-    bfi_read_packet,
162
+    .name           = "bfi",
163
+    .long_name      = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
164
+    .priv_data_size = sizeof(BFIContext),
165
+    .read_probe     = bfi_probe,
166
+    .read_header    = bfi_read_header,
167
+    .read_packet    = bfi_read_packet,
168 168
 };
... ...
@@ -264,12 +264,11 @@ static int read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, in
264 264
 }
265 265
 
266 266
 AVInputFormat ff_bink_demuxer = {
267
-    "bink",
268
-    NULL_IF_CONFIG_SMALL("Bink"),
269
-    sizeof(BinkDemuxContext),
270
-    probe,
271
-    read_header,
272
-    read_packet,
273
-    NULL,
274
-    read_seek,
267
+    .name           = "bink",
268
+    .long_name      = NULL_IF_CONFIG_SMALL("Bink"),
269
+    .priv_data_size = sizeof(BinkDemuxContext),
270
+    .read_probe     = probe,
271
+    .read_header    = read_header,
272
+    .read_packet    = read_packet,
273
+    .read_seek      = read_seek,
275 274
 };
... ...
@@ -193,10 +193,10 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
193 193
 }
194 194
 
195 195
 AVInputFormat ff_c93_demuxer = {
196
-    "c93",
197
-    NULL_IF_CONFIG_SMALL("Interplay C93"),
198
-    sizeof(C93DemuxContext),
199
-    probe,
200
-    read_header,
201
-    read_packet,
196
+    .name           = "c93",
197
+    .long_name      = NULL_IF_CONFIG_SMALL("Interplay C93"),
198
+    .priv_data_size = sizeof(C93DemuxContext),
199
+    .read_probe     = probe,
200
+    .read_header    = read_header,
201
+    .read_packet    = read_packet,
202 202
 };
... ...
@@ -390,13 +390,12 @@ static int read_seek(AVFormatContext *s, int stream_index,
390 390
 }
391 391
 
392 392
 AVInputFormat ff_caf_demuxer = {
393
-    "caf",
394
-    NULL_IF_CONFIG_SMALL("Apple Core Audio Format"),
395
-    sizeof(CaffContext),
396
-    probe,
397
-    read_header,
398
-    read_packet,
399
-    NULL,
400
-    read_seek,
393
+    .name           = "caf",
394
+    .long_name      = NULL_IF_CONFIG_SMALL("Apple Core Audio Format"),
395
+    .priv_data_size = sizeof(CaffContext),
396
+    .read_probe     = probe,
397
+    .read_header    = read_header,
398
+    .read_packet    = read_packet,
399
+    .read_seek      = read_seek,
401 400
     .codec_tag = (const AVCodecTag*[]){ff_codec_caf_tags, 0},
402 401
 };
... ...
@@ -56,11 +56,9 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
56 56
 }
57 57
 
58 58
 AVInputFormat ff_cdg_demuxer = {
59
-    "cdg",
60
-    NULL_IF_CONFIG_SMALL("CD Graphics Format"),
61
-    0,
62
-    NULL,
63
-    read_header,
64
-    read_packet,
59
+    .name           = "cdg",
60
+    .long_name      = NULL_IF_CONFIG_SMALL("CD Graphics Format"),
61
+    .read_header    = read_header,
62
+    .read_packet    = read_packet,
65 63
     .extensions = "cdg"
66 64
 };
... ...
@@ -55,14 +55,13 @@ static int crc_write_trailer(struct AVFormatContext *s)
55 55
 }
56 56
 
57 57
 AVOutputFormat ff_crc_muxer = {
58
-    "crc",
59
-    NULL_IF_CONFIG_SMALL("CRC testing format"),
60
-    NULL,
61
-    "",
62
-    sizeof(CRCState),
63
-    CODEC_ID_PCM_S16LE,
64
-    CODEC_ID_RAWVIDEO,
65
-    crc_write_header,
66
-    crc_write_packet,
67
-    crc_write_trailer,
58
+    .name              = "crc",
59
+    .long_name         = NULL_IF_CONFIG_SMALL("CRC testing format"),
60
+    .extensions        = "",
61
+    .priv_data_size    = sizeof(CRCState),
62
+    .audio_codec       = CODEC_ID_PCM_S16LE,
63
+    .video_codec       = CODEC_ID_RAWVIDEO,
64
+    .write_header      = crc_write_header,
65
+    .write_packet      = crc_write_packet,
66
+    .write_trailer     = crc_write_trailer,
68 67
 };
... ...
@@ -71,14 +71,10 @@ static int daud_write_packet(struct AVFormatContext *s, AVPacket *pkt)
71 71
 
72 72
 #if CONFIG_DAUD_DEMUXER
73 73
 AVInputFormat ff_daud_demuxer = {
74
-    "daud",
75
-    NULL_IF_CONFIG_SMALL("D-Cinema audio format"),
76
-    0,
77
-    NULL,
78
-    daud_header,
79
-    daud_packet,
80
-    NULL,
81
-    NULL,
74
+    .name           = "daud",
75
+    .long_name      = NULL_IF_CONFIG_SMALL("D-Cinema audio format"),
76
+    .read_header    = daud_header,
77
+    .read_packet    = daud_packet,
82 78
     .extensions = "302",
83 79
 };
84 80
 #endif
... ...
@@ -109,11 +109,10 @@ static int dfa_read_packet(AVFormatContext *s, AVPacket *pkt)
109 109
 }
110 110
 
111 111
 AVInputFormat ff_dfa_demuxer = {
112
-    "dfa",
113
-    NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
114
-    0,
115
-    dfa_probe,
116
-    dfa_read_header,
117
-    dfa_read_packet,
112
+    .name           = "dfa",
113
+    .long_name      = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
114
+    .read_probe     = dfa_probe,
115
+    .read_header    = dfa_read_header,
116
+    .read_packet    = dfa_read_packet,
118 117
     .flags = AVFMT_GENERIC_INDEX,
119 118
 };
... ...
@@ -217,10 +217,10 @@ static int cin_read_packet(AVFormatContext *s, AVPacket *pkt)
217 217
 }
218 218
 
219 219
 AVInputFormat ff_dsicin_demuxer = {
220
-    "dsicin",
221
-    NULL_IF_CONFIG_SMALL("Delphine Software International CIN format"),
222
-    sizeof(CinDemuxContext),
223
-    cin_probe,
224
-    cin_read_header,
225
-    cin_read_packet,
220
+    .name           = "dsicin",
221
+    .long_name      = NULL_IF_CONFIG_SMALL("Delphine Software International CIN format"),
222
+    .priv_data_size = sizeof(CinDemuxContext),
223
+    .read_probe     = cin_probe,
224
+    .read_header    = cin_read_header,
225
+    .read_packet    = cin_read_packet,
226 226
 };
... ...
@@ -66,12 +66,11 @@ static int dts_probe(AVProbeData *p)
66 66
 }
67 67
 
68 68
 AVInputFormat ff_dts_demuxer = {
69
-    "dts",
70
-    NULL_IF_CONFIG_SMALL("raw DTS"),
71
-    0,
72
-    dts_probe,
73
-    ff_raw_audio_read_header,
74
-    ff_raw_read_partial_packet,
69
+    .name           = "dts",
70
+    .long_name      = NULL_IF_CONFIG_SMALL("raw DTS"),
71
+    .read_probe     = dts_probe,
72
+    .read_header    = ff_raw_audio_read_header,
73
+    .read_packet    = ff_raw_read_partial_packet,
75 74
     .flags= AVFMT_GENERIC_INDEX,
76 75
     .extensions = "dts",
77 76
     .value = CODEC_ID_DTS,
... ...
@@ -523,14 +523,14 @@ static int dv_probe(AVProbeData *p)
523 523
 
524 524
 #if CONFIG_DV_DEMUXER
525 525
 AVInputFormat ff_dv_demuxer = {
526
-    "dv",
527
-    NULL_IF_CONFIG_SMALL("DV video format"),
528
-    sizeof(RawDVContext),
529
-    dv_probe,
530
-    dv_read_header,
531
-    dv_read_packet,
532
-    dv_read_close,
533
-    dv_read_seek,
526
+    .name           = "dv",
527
+    .long_name      = NULL_IF_CONFIG_SMALL("DV video format"),
528
+    .priv_data_size = sizeof(RawDVContext),
529
+    .read_probe     = dv_probe,
530
+    .read_header    = dv_read_header,
531
+    .read_packet    = dv_read_packet,
532
+    .read_close     = dv_read_close,
533
+    .read_seek      = dv_read_seek,
534 534
     .extensions = "dv,dif",
535 535
 };
536 536
 #endif
... ...
@@ -408,14 +408,13 @@ static int dv_write_trailer(struct AVFormatContext *s)
408 408
 }
409 409
 
410 410
 AVOutputFormat ff_dv_muxer = {
411
-    "dv",
412
-    NULL_IF_CONFIG_SMALL("DV video format"),
413
-    NULL,
414
-    "dv",
415
-    sizeof(DVMuxContext),
416
-    CODEC_ID_PCM_S16LE,
417
-    CODEC_ID_DVVIDEO,
418
-    dv_write_header,
419
-    dv_write_packet,
420
-    dv_write_trailer,
411
+    .name              = "dv",
412
+    .long_name         = NULL_IF_CONFIG_SMALL("DV video format"),
413
+    .extensions        = "dv",
414
+    .priv_data_size    = sizeof(DVMuxContext),
415
+    .audio_codec       = CODEC_ID_PCM_S16LE,
416
+    .video_codec       = CODEC_ID_DVVIDEO,
417
+    .write_header      = dv_write_header,
418
+    .write_packet      = dv_write_packet,
419
+    .write_trailer     = dv_write_trailer,
421 420
 };
... ...
@@ -213,10 +213,10 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt)
213 213
 }
214 214
 
215 215
 AVInputFormat ff_dxa_demuxer = {
216
-    "dxa",
217
-    NULL_IF_CONFIG_SMALL("DXA"),
218
-    sizeof(DXAContext),
219
-    dxa_probe,
220
-    dxa_read_header,
221
-    dxa_read_packet,
216
+    .name           = "dxa",
217
+    .long_name      = NULL_IF_CONFIG_SMALL("DXA"),
218
+    .priv_data_size = sizeof(DXAContext),
219
+    .read_probe     = dxa_probe,
220
+    .read_header    = dxa_read_header,
221
+    .read_packet    = dxa_read_packet,
222 222
 };
... ...
@@ -95,11 +95,11 @@ static int cdata_read_packet(AVFormatContext *s, AVPacket *pkt)
95 95
 }
96 96
 
97 97
 AVInputFormat ff_ea_cdata_demuxer = {
98
-    "ea_cdata",
99
-    NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
100
-    sizeof(CdataDemuxContext),
101
-    cdata_probe,
102
-    cdata_read_header,
103
-    cdata_read_packet,
98
+    .name           = "ea_cdata",
99
+    .long_name      = NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
100
+    .priv_data_size = sizeof(CdataDemuxContext),
101
+    .read_probe     = cdata_probe,
102
+    .read_header    = cdata_read_header,
103
+    .read_packet    = cdata_read_packet,
104 104
     .extensions = "cdata",
105 105
 };
... ...
@@ -571,10 +571,10 @@ get_video_packet:
571 571
 }
572 572
 
573 573
 AVInputFormat ff_ea_demuxer = {
574
-    "ea",
575
-    NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia Format"),
576
-    sizeof(EaDemuxContext),
577
-    ea_probe,
578
-    ea_read_header,
579
-    ea_read_packet,
574
+    .name           = "ea",
575
+    .long_name      = NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia Format"),
576
+    .priv_data_size = sizeof(EaDemuxContext),
577
+    .read_probe     = ea_probe,
578
+    .read_header    = ea_read_header,
579
+    .read_packet    = ea_read_packet,
580 580
 };
... ...
@@ -508,12 +508,12 @@ static int ffm_probe(AVProbeData *p)
508 508
 }
509 509
 
510 510
 AVInputFormat ff_ffm_demuxer = {
511
-    "ffm",
512
-    NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
513
-    sizeof(FFMContext),
514
-    ffm_probe,
515
-    ffm_read_header,
516
-    ffm_read_packet,
517
-    ffm_close,
518
-    ffm_seek,
511
+    .name           = "ffm",
512
+    .long_name      = NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
513
+    .priv_data_size = sizeof(FFMContext),
514
+    .read_probe     = ffm_probe,
515
+    .read_header    = ffm_read_header,
516
+    .read_packet    = ffm_read_packet,
517
+    .read_close     = ffm_close,
518
+    .read_seek      = ffm_seek,
519 519
 };
... ...
@@ -241,15 +241,14 @@ static int ffm_write_trailer(AVFormatContext *s)
241 241
 }
242 242
 
243 243
 AVOutputFormat ff_ffm_muxer = {
244
-    "ffm",
245
-    NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
246
-    "",
247
-    "ffm",
248
-    sizeof(FFMContext),
249
-    /* not really used */
250
-    CODEC_ID_MP2,
251
-    CODEC_ID_MPEG1VIDEO,
252
-    ffm_write_header,
253
-    ffm_write_packet,
254
-    ffm_write_trailer,
244
+    .name              = "ffm",
245
+    .long_name         = NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
246
+    .mime_type         = "",
247
+    .extensions        = "ffm",
248
+    .priv_data_size    = sizeof(FFMContext),
249
+    .audio_codec       = CODEC_ID_MP2,
250
+    .video_codec       = CODEC_ID_MPEG1VIDEO,
251
+    .write_header      = ffm_write_header,
252
+    .write_packet      = ffm_write_packet,
253
+    .write_trailer     = ffm_write_trailer,
255 254
 };
... ...
@@ -99,13 +99,11 @@ static int read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, in
99 99
 }
100 100
 
101 101
 AVInputFormat ff_filmstrip_demuxer = {
102
-    "filmstrip",
103
-    NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
104
-    sizeof(FilmstripDemuxContext),
105
-    NULL,
106
-    read_header,
107
-    read_packet,
108
-    NULL,
109
-    read_seek,
102
+    .name           = "filmstrip",
103
+    .long_name      = NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
104
+    .priv_data_size = sizeof(FilmstripDemuxContext),
105
+    .read_header    = read_header,
106
+    .read_packet    = read_packet,
107
+    .read_seek      = read_seek,
110 108
     .extensions = "flm",
111 109
 };
... ...
@@ -72,14 +72,13 @@ static int write_trailer(AVFormatContext *s)
72 72
 }
73 73
 
74 74
 AVOutputFormat ff_filmstrip_muxer = {
75
-    "filmstrip",
76
-    NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
77
-    NULL,
78
-    "flm",
79
-    sizeof(FilmstripMuxContext),
80
-    CODEC_ID_NONE,
81
-    CODEC_ID_RAWVIDEO,
82
-    write_header,
83
-    write_packet,
84
-    write_trailer,
75
+    .name              = "filmstrip",
76
+    .long_name         = NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
77
+    .extensions        = "flm",
78
+    .priv_data_size    = sizeof(FilmstripMuxContext),
79
+    .audio_codec       = CODEC_ID_NONE,
80
+    .video_codec       = CODEC_ID_RAWVIDEO,
81
+    .write_header      = write_header,
82
+    .write_packet      = write_packet,
83
+    .write_trailer     = write_trailer,
85 84
 };
... ...
@@ -124,12 +124,11 @@ static int flac_probe(AVProbeData *p)
124 124
 }
125 125
 
126 126
 AVInputFormat ff_flac_demuxer = {
127
-    "flac",
128
-    NULL_IF_CONFIG_SMALL("raw FLAC"),
129
-    0,
130
-    flac_probe,
131
-    flac_read_header,
132
-    ff_raw_read_partial_packet,
127
+    .name           = "flac",
128
+    .long_name      = NULL_IF_CONFIG_SMALL("raw FLAC"),
129
+    .read_probe     = flac_probe,
130
+    .read_header    = flac_read_header,
131
+    .read_packet    = ff_raw_read_partial_packet,
133 132
     .flags= AVFMT_GENERIC_INDEX,
134 133
     .extensions = "flac",
135 134
     .value = CODEC_ID_FLAC,
... ...
@@ -118,15 +118,14 @@ static int flac_write_packet(struct AVFormatContext *s, AVPacket *pkt)
118 118
 }
119 119
 
120 120
 AVOutputFormat ff_flac_muxer = {
121
-    "flac",
122
-    NULL_IF_CONFIG_SMALL("raw FLAC"),
123
-    "audio/x-flac",
124
-    "flac",
125
-    0,
126
-    CODEC_ID_FLAC,
127
-    CODEC_ID_NONE,
128
-    flac_write_header,
129
-    flac_write_packet,
130
-    flac_write_trailer,
121
+    .name              = "flac",
122
+    .long_name         = NULL_IF_CONFIG_SMALL("raw FLAC"),
123
+    .mime_type         = "audio/x-flac",
124
+    .extensions        = "flac",
125
+    .audio_codec       = CODEC_ID_FLAC,
126
+    .video_codec       = CODEC_ID_NONE,
127
+    .write_header      = flac_write_header,
128
+    .write_packet      = flac_write_packet,
129
+    .write_trailer     = flac_write_trailer,
131 130
     .flags= AVFMT_NOTIMESTAMPS,
132 131
 };
... ...
@@ -261,10 +261,10 @@ static int flic_read_packet(AVFormatContext *s,
261 261
 }
262 262
 
263 263
 AVInputFormat ff_flic_demuxer = {
264
-    "flic",
265
-    NULL_IF_CONFIG_SMALL("FLI/FLC/FLX animation format"),
266
-    sizeof(FlicDemuxContext),
267
-    flic_probe,
268
-    flic_read_header,
269
-    flic_read_packet,
264
+    .name           = "flic",
265
+    .long_name      = NULL_IF_CONFIG_SMALL("FLI/FLC/FLX animation format"),
266
+    .priv_data_size = sizeof(FlicDemuxContext),
267
+    .read_probe     = flic_probe,
268
+    .read_header    = flic_read_header,
269
+    .read_packet    = flic_read_packet,
270 270
 };
... ...
@@ -560,12 +560,12 @@ static int flv_read_seek2(AVFormatContext *s, int stream_index,
560 560
 #endif
561 561
 
562 562
 AVInputFormat ff_flv_demuxer = {
563
-    "flv",
564
-    NULL_IF_CONFIG_SMALL("FLV format"),
565
-    sizeof(FLVContext),
566
-    flv_probe,
567
-    flv_read_header,
568
-    flv_read_packet,
563
+    .name           = "flv",
564
+    .long_name      = NULL_IF_CONFIG_SMALL("FLV format"),
565
+    .priv_data_size = sizeof(FLVContext),
566
+    .read_probe     = flv_probe,
567
+    .read_header    = flv_read_header,
568
+    .read_packet    = flv_read_packet,
569 569
     .read_seek = flv_read_seek,
570 570
 #if 0
571 571
     .read_seek2 = flv_read_seek2,
... ...
@@ -446,20 +446,20 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
446 446
 }
447 447
 
448 448
 AVOutputFormat ff_flv_muxer = {
449
-    "flv",
450
-    NULL_IF_CONFIG_SMALL("FLV format"),
451
-    "video/x-flv",
452
-    "flv",
453
-    sizeof(FLVContext),
449
+    .name           = "flv",
450
+    .long_name      = NULL_IF_CONFIG_SMALL("FLV format"),
451
+    .mime_type      = "video/x-flv",
452
+    .extensions     = "flv",
453
+    .priv_data_size = sizeof(FLVContext),
454 454
 #if CONFIG_LIBMP3LAME
455
-    CODEC_ID_MP3,
455
+    .audio_codec    = CODEC_ID_MP3,
456 456
 #else // CONFIG_LIBMP3LAME
457
-    CODEC_ID_ADPCM_SWF,
457
+    .audio_codec    = CODEC_ID_ADPCM_SWF,
458 458
 #endif // CONFIG_LIBMP3LAME
459
-    CODEC_ID_FLV1,
460
-    flv_write_header,
461
-    flv_write_packet,
462
-    flv_write_trailer,
459
+    .video_codec    = CODEC_ID_FLV1,
460
+    .write_header   = flv_write_header,
461
+    .write_packet   = flv_write_packet,
462
+    .write_trailer  = flv_write_trailer,
463 463
     .codec_tag= (const AVCodecTag* const []){flv_video_codec_ids, flv_audio_codec_ids, 0},
464 464
     .flags= AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
465 465
 };
... ...
@@ -34,14 +34,10 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
34 34
 }
35 35
 
36 36
 AVOutputFormat ff_framecrc_muxer = {
37
-    "framecrc",
38
-    NULL_IF_CONFIG_SMALL("framecrc testing format"),
39
-    NULL,
40
-    "",
41
-    0,
42
-    CODEC_ID_PCM_S16LE,
43
-    CODEC_ID_RAWVIDEO,
44
-    NULL,
45
-    framecrc_write_packet,
46
-    NULL,
37
+    .name              = "framecrc",
38
+    .long_name         = NULL_IF_CONFIG_SMALL("framecrc testing format"),
39
+    .extensions        = "",
40
+    .audio_codec       = CODEC_ID_PCM_S16LE,
41
+    .video_codec       = CODEC_ID_RAWVIDEO,
42
+    .write_packet      = framecrc_write_packet,
47 43
 };
... ...
@@ -363,15 +363,15 @@ static const AVClass gif_muxer_class = {
363 363
 };
364 364
 
365 365
 AVOutputFormat ff_gif_muxer = {
366
-    "gif",
367
-    NULL_IF_CONFIG_SMALL("GIF Animation"),
368
-    "image/gif",
369
-    "gif",
370
-    sizeof(GIFContext),
371
-    CODEC_ID_NONE,
372
-    CODEC_ID_RAWVIDEO,
373
-    gif_write_header,
374
-    gif_write_packet,
375
-    gif_write_trailer,
366
+    .name              = "gif",
367
+    .long_name         = NULL_IF_CONFIG_SMALL("GIF Animation"),
368
+    .mime_type         = "image/gif",
369
+    .extensions        = "gif",
370
+    .priv_data_size    = sizeof(GIFContext),
371
+    .audio_codec       = CODEC_ID_NONE,
372
+    .video_codec       = CODEC_ID_RAWVIDEO,
373
+    .write_header      = gif_write_header,
374
+    .write_packet      = gif_write_packet,
375
+    .write_trailer     = gif_write_trailer,
376 376
     .priv_class = &gif_muxer_class,
377 377
 };
... ...
@@ -523,13 +523,12 @@ static int64_t gxf_read_timestamp(AVFormatContext *s, int stream_index,
523 523
 }
524 524
 
525 525
 AVInputFormat ff_gxf_demuxer = {
526
-    "gxf",
527
-    NULL_IF_CONFIG_SMALL("GXF format"),
528
-    sizeof(struct gxf_stream_info),
529
-    gxf_probe,
530
-    gxf_header,
531
-    gxf_packet,
532
-    NULL,
533
-    gxf_seek,
534
-    gxf_read_timestamp,
526
+    .name           = "gxf",
527
+    .long_name      = NULL_IF_CONFIG_SMALL("GXF format"),
528
+    .priv_data_size = sizeof(struct gxf_stream_info),
529
+    .read_probe     = gxf_probe,
530
+    .read_header    = gxf_header,
531
+    .read_packet    = gxf_packet,
532
+    .read_seek      = gxf_seek,
533
+    .read_timestamp = gxf_read_timestamp,
535 534
 };
... ...
@@ -943,17 +943,14 @@ static int gxf_interleave_packet(AVFormatContext *s, AVPacket *out, AVPacket *pk
943 943
 }
944 944
 
945 945
 AVOutputFormat ff_gxf_muxer = {
946
-    "gxf",
947
-    NULL_IF_CONFIG_SMALL("GXF format"),
948
-    NULL,
949
-    "gxf",
950
-    sizeof(GXFContext),
951
-    CODEC_ID_PCM_S16LE,
952
-    CODEC_ID_MPEG2VIDEO,
953
-    gxf_write_header,
954
-    gxf_write_packet,
955
-    gxf_write_trailer,
956
-    0,
957
-    NULL,
958
-    gxf_interleave_packet,
946
+    .name              = "gxf",
947
+    .long_name         = NULL_IF_CONFIG_SMALL("GXF format"),
948
+    .extensions        = "gxf",
949
+    .priv_data_size    = sizeof(GXFContext),
950
+    .audio_codec       = CODEC_ID_PCM_S16LE,
951
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
952
+    .write_header      = gxf_write_header,
953
+    .write_packet      = gxf_write_packet,
954
+    .write_trailer     = gxf_write_trailer,
955
+    .interleave_packet = gxf_interleave_packet,
959 956
 };
... ...
@@ -292,10 +292,10 @@ static int idcin_read_packet(AVFormatContext *s,
292 292
 }
293 293
 
294 294
 AVInputFormat ff_idcin_demuxer = {
295
-    "idcin",
296
-    NULL_IF_CONFIG_SMALL("id Cinematic format"),
297
-    sizeof(IdcinDemuxContext),
298
-    idcin_probe,
299
-    idcin_read_header,
300
-    idcin_read_packet,
295
+    .name           = "idcin",
296
+    .long_name      = NULL_IF_CONFIG_SMALL("id Cinematic format"),
297
+    .priv_data_size = sizeof(IdcinDemuxContext),
298
+    .read_probe     = idcin_probe,
299
+    .read_header    = idcin_read_header,
300
+    .read_packet    = idcin_read_packet,
301 301
 };
... ...
@@ -216,10 +216,10 @@ static int roq_read_packet(AVFormatContext *s,
216 216
 }
217 217
 
218 218
 AVInputFormat ff_roq_demuxer = {
219
-    "RoQ",
220
-    NULL_IF_CONFIG_SMALL("id RoQ format"),
221
-    sizeof(RoqDemuxContext),
222
-    roq_probe,
223
-    roq_read_header,
224
-    roq_read_packet,
219
+    .name           = "RoQ",
220
+    .long_name      = NULL_IF_CONFIG_SMALL("id RoQ format"),
221
+    .priv_data_size = sizeof(RoqDemuxContext),
222
+    .read_probe     = roq_probe,
223
+    .read_header    = roq_read_header,
224
+    .read_packet    = roq_read_packet,
225 225
 };
... ...
@@ -340,10 +340,10 @@ static int iff_read_packet(AVFormatContext *s,
340 340
 }
341 341
 
342 342
 AVInputFormat ff_iff_demuxer = {
343
-    "IFF",
344
-    NULL_IF_CONFIG_SMALL("IFF format"),
345
-    sizeof(IffDemuxContext),
346
-    iff_probe,
347
-    iff_read_header,
348
-    iff_read_packet,
343
+    .name           = "IFF",
344
+    .long_name      = NULL_IF_CONFIG_SMALL("IFF format"),
345
+    .priv_data_size = sizeof(IffDemuxContext),
346
+    .read_probe     = iff_probe,
347
+    .read_header    = iff_read_header,
348
+    .read_packet    = iff_read_packet,
349 349
 };
... ...
@@ -59,12 +59,11 @@ static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt)
59 59
 }
60 60
 
61 61
 AVInputFormat ff_ingenient_demuxer = {
62
-    "ingenient",
63
-    NULL_IF_CONFIG_SMALL("raw Ingenient MJPEG"),
64
-    sizeof(FFRawVideoDemuxerContext),
65
-    NULL,
66
-    ff_raw_video_read_header,
67
-    ingenient_read_packet,
62
+    .name           = "ingenient",
63
+    .long_name      = NULL_IF_CONFIG_SMALL("raw Ingenient MJPEG"),
64
+    .priv_data_size = sizeof(FFRawVideoDemuxerContext),
65
+    .read_header    = ff_raw_video_read_header,
66
+    .read_packet    = ingenient_read_packet,
68 67
     .flags= AVFMT_GENERIC_INDEX,
69 68
     .extensions = "cgi", // FIXME
70 69
     .value = CODEC_ID_MJPEG,
... ...
@@ -616,10 +616,10 @@ static int ipmovie_read_packet(AVFormatContext *s,
616 616
 }
617 617
 
618 618
 AVInputFormat ff_ipmovie_demuxer = {
619
-    "ipmovie",
620
-    NULL_IF_CONFIG_SMALL("Interplay MVE format"),
621
-    sizeof(IPMVEContext),
622
-    ipmovie_probe,
623
-    ipmovie_read_header,
624
-    ipmovie_read_packet,
619
+    .name           = "ipmovie",
620
+    .long_name      = NULL_IF_CONFIG_SMALL("Interplay MVE format"),
621
+    .priv_data_size = sizeof(IPMVEContext),
622
+    .read_probe     = ipmovie_probe,
623
+    .read_header    = ipmovie_read_header,
624
+    .read_packet    = ipmovie_read_packet,
625 625
 };
... ...
@@ -122,11 +122,11 @@ static int iss_read_packet(AVFormatContext *s, AVPacket *pkt)
122 122
 }
123 123
 
124 124
 AVInputFormat ff_iss_demuxer = {
125
-    "ISS",
126
-    NULL_IF_CONFIG_SMALL("Funcom ISS format"),
127
-    sizeof(IssDemuxContext),
128
-    iss_probe,
129
-    iss_read_header,
130
-    iss_read_packet,
125
+    .name           = "ISS",
126
+    .long_name      = NULL_IF_CONFIG_SMALL("Funcom ISS format"),
127
+    .priv_data_size = sizeof(IssDemuxContext),
128
+    .read_probe     = iss_probe,
129
+    .read_header    = iss_read_header,
130
+    .read_packet    = iss_read_packet,
131 131
 };
132 132
 
... ...
@@ -85,12 +85,11 @@ retry:
85 85
 }
86 86
 
87 87
 AVInputFormat ff_iv8_demuxer = {
88
-    "iv8",
89
-    NULL_IF_CONFIG_SMALL("A format generated by IndigoVision 8000 video server"),
90
-    0,
91
-    probe,
92
-    read_header,
93
-    read_packet,
88
+    .name           = "iv8",
89
+    .long_name      = NULL_IF_CONFIG_SMALL("A format generated by IndigoVision 8000 video server"),
90
+    .read_probe     = probe,
91
+    .read_header    = read_header,
92
+    .read_packet    = read_packet,
94 93
     .flags= AVFMT_GENERIC_INDEX,
95 94
     .value = CODEC_ID_MPEG4,
96 95
 };
... ...
@@ -80,12 +80,11 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
80 80
 }
81 81
 
82 82
 AVInputFormat ff_ivf_demuxer = {
83
-    "ivf",
84
-    NULL_IF_CONFIG_SMALL("On2 IVF"),
85
-    0,
86
-    probe,
87
-    read_header,
88
-    read_packet,
83
+    .name           = "ivf",
84
+    .long_name      = NULL_IF_CONFIG_SMALL("On2 IVF"),
85
+    .read_probe     = probe,
86
+    .read_header    = read_header,
87
+    .read_packet    = read_packet,
89 88
     .flags= AVFMT_GENERIC_INDEX,
90 89
     .codec_tag = (const AVCodecTag*[]){ff_codec_bmp_tags, 0},
91 90
 };
... ...
@@ -151,16 +151,16 @@ static int nut_write_trailer(AVFormatContext * avf) {
151 151
 }
152 152
 
153 153
 AVOutputFormat ff_libnut_muxer = {
154
-    "libnut",
155
-    "nut format",
156
-    "video/x-nut",
157
-    "nut",
158
-    sizeof(NUTContext),
159
-    CODEC_ID_VORBIS,
160
-    CODEC_ID_MPEG4,
161
-    nut_write_header,
162
-    nut_write_packet,
163
-    nut_write_trailer,
154
+    .name              = "libnut",
155
+    .long_name         = "nut format",
156
+    .mime_type         = "video/x-nut",
157
+    .extensions        = "nut",
158
+    .priv_data_size    = sizeof(NUTContext),
159
+    .audio_codec       = CODEC_ID_VORBIS,
160
+    .video_codec       = CODEC_ID_MPEG4,
161
+    .write_header      = nut_write_header,
162
+    .write_packet      = nut_write_packet,
163
+    .write_trailer     = nut_write_trailer,
164 164
     .flags = AVFMT_GLOBALHEADER,
165 165
 };
166 166
 #endif /* CONFIG_LIBNUT_MUXER */
... ...
@@ -298,13 +298,13 @@ static int nut_read_close(AVFormatContext *s) {
298 298
 }
299 299
 
300 300
 AVInputFormat ff_libnut_demuxer = {
301
-    "libnut",
302
-    NULL_IF_CONFIG_SMALL("NUT format"),
303
-    sizeof(NUTContext),
304
-    nut_probe,
305
-    nut_read_header,
306
-    nut_read_packet,
307
-    nut_read_close,
308
-    nut_read_seek,
301
+    .name           = "libnut",
302
+    .long_name      = NULL_IF_CONFIG_SMALL("NUT format"),
303
+    .priv_data_size = sizeof(NUTContext),
304
+    .read_probe     = nut_probe,
305
+    .read_header    = nut_read_header,
306
+    .read_packet    = nut_read_packet,
307
+    .read_close     = nut_read_close,
308
+    .read_seek      = nut_read_seek,
309 309
     .extensions = "nut",
310 310
 };
... ...
@@ -118,10 +118,9 @@ static int lmlm4_read_packet(AVFormatContext *s, AVPacket *pkt) {
118 118
 }
119 119
 
120 120
 AVInputFormat ff_lmlm4_demuxer = {
121
-    "lmlm4",
122
-    NULL_IF_CONFIG_SMALL("lmlm4 raw format"),
123
-    0,
124
-    lmlm4_probe,
125
-    lmlm4_read_header,
126
-    lmlm4_read_packet,
121
+    .name           = "lmlm4",
122
+    .long_name      = NULL_IF_CONFIG_SMALL("lmlm4 raw format"),
123
+    .read_probe     = lmlm4_probe,
124
+    .read_header    = lmlm4_read_header,
125
+    .read_packet    = lmlm4_read_packet,
127 126
 };
... ...
@@ -2055,12 +2055,12 @@ static int matroska_read_close(AVFormatContext *s)
2055 2055
 }
2056 2056
 
2057 2057
 AVInputFormat ff_matroska_demuxer = {
2058
-    "matroska,webm",
2059
-    NULL_IF_CONFIG_SMALL("Matroska/WebM file format"),
2060
-    sizeof(MatroskaDemuxContext),
2061
-    matroska_probe,
2062
-    matroska_read_header,
2063
-    matroska_read_packet,
2064
-    matroska_read_close,
2065
-    matroska_read_seek,
2058
+    .name           = "matroska,webm",
2059
+    .long_name      = NULL_IF_CONFIG_SMALL("Matroska/WebM file format"),
2060
+    .priv_data_size = sizeof(MatroskaDemuxContext),
2061
+    .read_probe     = matroska_probe,
2062
+    .read_header    = matroska_read_header,
2063
+    .read_packet    = matroska_read_packet,
2064
+    .read_close     = matroska_read_close,
2065
+    .read_seek      = matroska_read_seek,
2066 2066
 };
... ...
@@ -1200,16 +1200,16 @@ static int mkv_write_trailer(AVFormatContext *s)
1200 1200
 
1201 1201
 #if CONFIG_MATROSKA_MUXER
1202 1202
 AVOutputFormat ff_matroska_muxer = {
1203
-    "matroska",
1204
-    NULL_IF_CONFIG_SMALL("Matroska file format"),
1205
-    "video/x-matroska",
1206
-    "mkv",
1207
-    sizeof(MatroskaMuxContext),
1208
-    CODEC_ID_MP2,
1209
-    CODEC_ID_MPEG4,
1210
-    mkv_write_header,
1211
-    mkv_write_packet,
1212
-    mkv_write_trailer,
1203
+    .name              = "matroska",
1204
+    .long_name         = NULL_IF_CONFIG_SMALL("Matroska file format"),
1205
+    .mime_type         = "video/x-matroska",
1206
+    .extensions        = "mkv",
1207
+    .priv_data_size    = sizeof(MatroskaMuxContext),
1208
+    .audio_codec       = CODEC_ID_MP2,
1209
+    .video_codec       = CODEC_ID_MPEG4,
1210
+    .write_header      = mkv_write_header,
1211
+    .write_packet      = mkv_write_packet,
1212
+    .write_trailer     = mkv_write_trailer,
1213 1213
     .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
1214 1214
     .codec_tag = (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
1215 1215
     .subtitle_codec = CODEC_ID_SSA,
... ...
@@ -1218,32 +1218,32 @@ AVOutputFormat ff_matroska_muxer = {
1218 1218
 
1219 1219
 #if CONFIG_WEBM_MUXER
1220 1220
 AVOutputFormat ff_webm_muxer = {
1221
-    "webm",
1222
-    NULL_IF_CONFIG_SMALL("WebM file format"),
1223
-    "video/webm",
1224
-    "webm",
1225
-    sizeof(MatroskaMuxContext),
1226
-    CODEC_ID_VORBIS,
1227
-    CODEC_ID_VP8,
1228
-    mkv_write_header,
1229
-    mkv_write_packet,
1230
-    mkv_write_trailer,
1221
+    .name              = "webm",
1222
+    .long_name         = NULL_IF_CONFIG_SMALL("WebM file format"),
1223
+    .mime_type         = "video/webm",
1224
+    .extensions        = "webm",
1225
+    .priv_data_size    = sizeof(MatroskaMuxContext),
1226
+    .audio_codec       = CODEC_ID_VORBIS,
1227
+    .video_codec       = CODEC_ID_VP8,
1228
+    .write_header      = mkv_write_header,
1229
+    .write_packet      = mkv_write_packet,
1230
+    .write_trailer     = mkv_write_trailer,
1231 1231
     .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT,
1232 1232
 };
1233 1233
 #endif
1234 1234
 
1235 1235
 #if CONFIG_MATROSKA_AUDIO_MUXER
1236 1236
 AVOutputFormat ff_matroska_audio_muxer = {
1237
-    "matroska",
1238
-    NULL_IF_CONFIG_SMALL("Matroska file format"),
1239
-    "audio/x-matroska",
1240
-    "mka",
1241
-    sizeof(MatroskaMuxContext),
1242
-    CODEC_ID_MP2,
1243
-    CODEC_ID_NONE,
1244
-    mkv_write_header,
1245
-    mkv_write_packet,
1246
-    mkv_write_trailer,
1237
+    .name              = "matroska",
1238
+    .long_name         = NULL_IF_CONFIG_SMALL("Matroska file format"),
1239
+    .mime_type         = "audio/x-matroska",
1240
+    .extensions        = "mka",
1241
+    .priv_data_size    = sizeof(MatroskaMuxContext),
1242
+    .audio_codec       = CODEC_ID_MP2,
1243
+    .video_codec       = CODEC_ID_NONE,
1244
+    .write_header      = mkv_write_header,
1245
+    .write_packet      = mkv_write_packet,
1246
+    .write_trailer     = mkv_write_trailer,
1247 1247
     .flags = AVFMT_GLOBALHEADER,
1248 1248
     .codec_tag = (const AVCodecTag* const []){ff_codec_wav_tags, 0},
1249 1249
 };
... ...
@@ -66,16 +66,15 @@ static int write_trailer(struct AVFormatContext *s)
66 66
 }
67 67
 
68 68
 AVOutputFormat ff_md5_muxer = {
69
-    "md5",
70
-    NULL_IF_CONFIG_SMALL("MD5 testing format"),
71
-    NULL,
72
-    "",
73
-    PRIVSIZE,
74
-    CODEC_ID_PCM_S16LE,
75
-    CODEC_ID_RAWVIDEO,
76
-    write_header,
77
-    write_packet,
78
-    write_trailer,
69
+    .name              = "md5",
70
+    .long_name         = NULL_IF_CONFIG_SMALL("MD5 testing format"),
71
+    .extensions        = "",
72
+    .priv_data_size    = PRIVSIZE,
73
+    .audio_codec       = CODEC_ID_PCM_S16LE,
74
+    .video_codec       = CODEC_ID_RAWVIDEO,
75
+    .write_header      = write_header,
76
+    .write_packet      = write_packet,
77
+    .write_trailer     = write_trailer,
79 78
 };
80 79
 #endif
81 80
 
... ...
@@ -96,15 +95,12 @@ static int framemd5_write_packet(struct AVFormatContext *s, AVPacket *pkt)
96 96
 }
97 97
 
98 98
 AVOutputFormat ff_framemd5_muxer = {
99
-    "framemd5",
100
-    NULL_IF_CONFIG_SMALL("Per-frame MD5 testing format"),
101
-    NULL,
102
-    "",
103
-    PRIVSIZE,
104
-    CODEC_ID_PCM_S16LE,
105
-    CODEC_ID_RAWVIDEO,
106
-    NULL,
107
-    framemd5_write_packet,
108
-    NULL,
99
+    .name              = "framemd5",
100
+    .long_name         = NULL_IF_CONFIG_SMALL("Per-frame MD5 testing format"),
101
+    .extensions        = "",
102
+    .priv_data_size    = PRIVSIZE,
103
+    .audio_codec       = CODEC_ID_PCM_S16LE,
104
+    .video_codec       = CODEC_ID_RAWVIDEO,
105
+    .write_packet      = framemd5_write_packet,
109 106
 };
110 107
 #endif
... ...
@@ -187,10 +187,10 @@ static int read_packet(AVFormatContext *s,
187 187
 }
188 188
 
189 189
 AVInputFormat ff_mm_demuxer = {
190
-    "mm",
191
-    NULL_IF_CONFIG_SMALL("American Laser Games MM format"),
192
-    sizeof(MmDemuxContext),
193
-    probe,
194
-    read_header,
195
-    read_packet,
190
+    .name           = "mm",
191
+    .long_name      = NULL_IF_CONFIG_SMALL("American Laser Games MM format"),
192
+    .priv_data_size = sizeof(MmDemuxContext),
193
+    .read_probe     = probe,
194
+    .read_header    = read_header,
195
+    .read_packet    = read_packet,
196 196
 };
... ...
@@ -291,27 +291,26 @@ static int mmf_read_packet(AVFormatContext *s,
291 291
 
292 292
 #if CONFIG_MMF_DEMUXER
293 293
 AVInputFormat ff_mmf_demuxer = {
294
-    "mmf",
295
-    NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
296
-    sizeof(MMFContext),
297
-    mmf_probe,
298
-    mmf_read_header,
299
-    mmf_read_packet,
300
-    NULL,
301
-    pcm_read_seek,
294
+    .name           = "mmf",
295
+    .long_name      = NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
296
+    .priv_data_size = sizeof(MMFContext),
297
+    .read_probe     = mmf_probe,
298
+    .read_header    = mmf_read_header,
299
+    .read_packet    = mmf_read_packet,
300
+    .read_seek      = pcm_read_seek,
302 301
 };
303 302
 #endif
304 303
 #if CONFIG_MMF_MUXER
305 304
 AVOutputFormat ff_mmf_muxer = {
306
-    "mmf",
307
-    NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
308
-    "application/vnd.smaf",
309
-    "mmf",
310
-    sizeof(MMFContext),
311
-    CODEC_ID_ADPCM_YAMAHA,
312
-    CODEC_ID_NONE,
313
-    mmf_write_header,
314
-    mmf_write_packet,
315
-    mmf_write_trailer,
305
+    .name              = "mmf",
306
+    .long_name         = NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
307
+    .mime_type         = "application/vnd.smaf",
308
+    .extensions        = "mmf",
309
+    .priv_data_size    = sizeof(MMFContext),
310
+    .audio_codec       = CODEC_ID_ADPCM_YAMAHA,
311
+    .video_codec       = CODEC_ID_NONE,
312
+    .write_header      = mmf_write_header,
313
+    .write_packet      = mmf_write_packet,
314
+    .write_trailer     = mmf_write_trailer,
316 315
 };
317 316
 #endif
... ...
@@ -2630,12 +2630,12 @@ static int mov_read_close(AVFormatContext *s)
2630 2630
 }
2631 2631
 
2632 2632
 AVInputFormat ff_mov_demuxer = {
2633
-    "mov,mp4,m4a,3gp,3g2,mj2",
2634
-    NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 format"),
2635
-    sizeof(MOVContext),
2636
-    mov_probe,
2637
-    mov_read_header,
2638
-    mov_read_packet,
2639
-    mov_read_close,
2640
-    mov_read_seek,
2633
+    .name           = "mov,mp4,m4a,3gp,3g2,mj2",
2634
+    .long_name      = NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 format"),
2635
+    .priv_data_size = sizeof(MOVContext),
2636
+    .read_probe     = mov_probe,
2637
+    .read_header    = mov_read_header,
2638
+    .read_packet    = mov_read_packet,
2639
+    .read_close     = mov_read_close,
2640
+    .read_seek      = mov_read_seek,
2641 2641
 };
... ...
@@ -2351,16 +2351,15 @@ static int mov_write_trailer(AVFormatContext *s)
2351 2351
 
2352 2352
 #if CONFIG_MOV_MUXER
2353 2353
 AVOutputFormat ff_mov_muxer = {
2354
-    "mov",
2355
-    NULL_IF_CONFIG_SMALL("MOV format"),
2356
-    NULL,
2357
-    "mov",
2358
-    sizeof(MOVMuxContext),
2359
-    CODEC_ID_AAC,
2360
-    CODEC_ID_MPEG4,
2361
-    mov_write_header,
2362
-    ff_mov_write_packet,
2363
-    mov_write_trailer,
2354
+    .name              = "mov",
2355
+    .long_name         = NULL_IF_CONFIG_SMALL("MOV format"),
2356
+    .extensions        = "mov",
2357
+    .priv_data_size    = sizeof(MOVMuxContext),
2358
+    .audio_codec       = CODEC_ID_AAC,
2359
+    .video_codec       = CODEC_ID_MPEG4,
2360
+    .write_header      = mov_write_header,
2361
+    .write_packet      = ff_mov_write_packet,
2362
+    .write_trailer     = mov_write_trailer,
2364 2363
     .flags = AVFMT_GLOBALHEADER,
2365 2364
     .codec_tag = (const AVCodecTag* const []){codec_movvideo_tags, codec_movaudio_tags, 0},
2366 2365
     .priv_class = &mov_muxer_class,
... ...
@@ -2368,16 +2367,15 @@ AVOutputFormat ff_mov_muxer = {
2368 2368
 #endif
2369 2369
 #if CONFIG_TGP_MUXER
2370 2370
 AVOutputFormat ff_tgp_muxer = {
2371
-    "3gp",
2372
-    NULL_IF_CONFIG_SMALL("3GP format"),
2373
-    NULL,
2374
-    "3gp",
2375
-    sizeof(MOVMuxContext),
2376
-    CODEC_ID_AMR_NB,
2377
-    CODEC_ID_H263,
2378
-    mov_write_header,
2379
-    ff_mov_write_packet,
2380
-    mov_write_trailer,
2371
+    .name              = "3gp",
2372
+    .long_name         = NULL_IF_CONFIG_SMALL("3GP format"),
2373
+    .extensions        = "3gp",
2374
+    .priv_data_size    = sizeof(MOVMuxContext),
2375
+    .audio_codec       = CODEC_ID_AMR_NB,
2376
+    .video_codec       = CODEC_ID_H263,
2377
+    .write_header      = mov_write_header,
2378
+    .write_packet      = ff_mov_write_packet,
2379
+    .write_trailer     = mov_write_trailer,
2381 2380
     .flags = AVFMT_GLOBALHEADER,
2382 2381
     .codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
2383 2382
     .priv_class = &mov_muxer_class,
... ...
@@ -2385,16 +2383,16 @@ AVOutputFormat ff_tgp_muxer = {
2385 2385
 #endif
2386 2386
 #if CONFIG_MP4_MUXER
2387 2387
 AVOutputFormat ff_mp4_muxer = {
2388
-    "mp4",
2389
-    NULL_IF_CONFIG_SMALL("MP4 format"),
2390
-    "application/mp4",
2391
-    "mp4",
2392
-    sizeof(MOVMuxContext),
2393
-    CODEC_ID_AAC,
2394
-    CODEC_ID_MPEG4,
2395
-    mov_write_header,
2396
-    ff_mov_write_packet,
2397
-    mov_write_trailer,
2388
+    .name              = "mp4",
2389
+    .long_name         = NULL_IF_CONFIG_SMALL("MP4 format"),
2390
+    .mime_type         = "application/mp4",
2391
+    .extensions        = "mp4",
2392
+    .priv_data_size    = sizeof(MOVMuxContext),
2393
+    .audio_codec       = CODEC_ID_AAC,
2394
+    .video_codec       = CODEC_ID_MPEG4,
2395
+    .write_header      = mov_write_header,
2396
+    .write_packet      = ff_mov_write_packet,
2397
+    .write_trailer     = mov_write_trailer,
2398 2398
     .flags = AVFMT_GLOBALHEADER,
2399 2399
     .codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
2400 2400
     .priv_class = &mov_muxer_class,
... ...
@@ -2402,16 +2400,15 @@ AVOutputFormat ff_mp4_muxer = {
2402 2402
 #endif
2403 2403
 #if CONFIG_PSP_MUXER
2404 2404
 AVOutputFormat ff_psp_muxer = {
2405
-    "psp",
2406
-    NULL_IF_CONFIG_SMALL("PSP MP4 format"),
2407
-    NULL,
2408
-    "mp4,psp",
2409
-    sizeof(MOVMuxContext),
2410
-    CODEC_ID_AAC,
2411
-    CODEC_ID_MPEG4,
2412
-    mov_write_header,
2413
-    ff_mov_write_packet,
2414
-    mov_write_trailer,
2405
+    .name              = "psp",
2406
+    .long_name         = NULL_IF_CONFIG_SMALL("PSP MP4 format"),
2407
+    .extensions        = "mp4,psp",
2408
+    .priv_data_size    = sizeof(MOVMuxContext),
2409
+    .audio_codec       = CODEC_ID_AAC,
2410
+    .video_codec       = CODEC_ID_MPEG4,
2411
+    .write_header      = mov_write_header,
2412
+    .write_packet      = ff_mov_write_packet,
2413
+    .write_trailer     = mov_write_trailer,
2415 2414
     .flags = AVFMT_GLOBALHEADER,
2416 2415
     .codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
2417 2416
     .priv_class = &mov_muxer_class,
... ...
@@ -2419,16 +2416,15 @@ AVOutputFormat ff_psp_muxer = {
2419 2419
 #endif
2420 2420
 #if CONFIG_TG2_MUXER
2421 2421
 AVOutputFormat ff_tg2_muxer = {
2422
-    "3g2",
2423
-    NULL_IF_CONFIG_SMALL("3GP2 format"),
2424
-    NULL,
2425
-    "3g2",
2426
-    sizeof(MOVMuxContext),
2427
-    CODEC_ID_AMR_NB,
2428
-    CODEC_ID_H263,
2429
-    mov_write_header,
2430
-    ff_mov_write_packet,
2431
-    mov_write_trailer,
2422
+    .name              = "3g2",
2423
+    .long_name         = NULL_IF_CONFIG_SMALL("3GP2 format"),
2424
+    .extensions        = "3g2",
2425
+    .priv_data_size    = sizeof(MOVMuxContext),
2426
+    .audio_codec       = CODEC_ID_AMR_NB,
2427
+    .video_codec       = CODEC_ID_H263,
2428
+    .write_header      = mov_write_header,
2429
+    .write_packet      = ff_mov_write_packet,
2430
+    .write_trailer     = mov_write_trailer,
2432 2431
     .flags = AVFMT_GLOBALHEADER,
2433 2432
     .codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
2434 2433
     .priv_class = &mov_muxer_class,
... ...
@@ -2436,16 +2432,16 @@ AVOutputFormat ff_tg2_muxer = {
2436 2436
 #endif
2437 2437
 #if CONFIG_IPOD_MUXER
2438 2438
 AVOutputFormat ff_ipod_muxer = {
2439
-    "ipod",
2440
-    NULL_IF_CONFIG_SMALL("iPod H.264 MP4 format"),
2441
-    "application/mp4",
2442
-    "m4v,m4a",
2443
-    sizeof(MOVMuxContext),
2444
-    CODEC_ID_AAC,
2445
-    CODEC_ID_H264,
2446
-    mov_write_header,
2447
-    ff_mov_write_packet,
2448
-    mov_write_trailer,
2439
+    .name              = "ipod",
2440
+    .long_name         = NULL_IF_CONFIG_SMALL("iPod H.264 MP4 format"),
2441
+    .mime_type         = "application/mp4",
2442
+    .extensions        = "m4v,m4a",
2443
+    .priv_data_size    = sizeof(MOVMuxContext),
2444
+    .audio_codec       = CODEC_ID_AAC,
2445
+    .video_codec       = CODEC_ID_H264,
2446
+    .write_header      = mov_write_header,
2447
+    .write_packet      = ff_mov_write_packet,
2448
+    .write_trailer     = mov_write_trailer,
2449 2449
     .flags = AVFMT_GLOBALHEADER,
2450 2450
     .codec_tag = (const AVCodecTag* const []){codec_ipod_tags, 0},
2451 2451
     .priv_class = &mov_muxer_class,
... ...
@@ -188,12 +188,11 @@ static int mp3_read_packet(AVFormatContext *s, AVPacket *pkt)
188 188
 }
189 189
 
190 190
 AVInputFormat ff_mp3_demuxer = {
191
-    "mp3",
192
-    NULL_IF_CONFIG_SMALL("MPEG audio layer 2/3"),
193
-    0,
194
-    mp3_read_probe,
195
-    mp3_read_header,
196
-    mp3_read_packet,
191
+    .name           = "mp3",
192
+    .long_name      = NULL_IF_CONFIG_SMALL("MPEG audio layer 2/3"),
193
+    .read_probe     = mp3_read_probe,
194
+    .read_header    = mp3_read_header,
195
+    .read_packet    = mp3_read_packet,
197 196
     .flags= AVFMT_GENERIC_INDEX,
198 197
     .extensions = "mp2,mp3,m2a", /* XXX: use probe */
199 198
 };
... ...
@@ -174,16 +174,14 @@ static int mp2_write_trailer(struct AVFormatContext *s)
174 174
 
175 175
 #if CONFIG_MP2_MUXER
176 176
 AVOutputFormat ff_mp2_muxer = {
177
-    "mp2",
178
-    NULL_IF_CONFIG_SMALL("MPEG audio layer 2"),
179
-    "audio/x-mpeg",
180
-    "mp2,m2a",
181
-    0,
182
-    CODEC_ID_MP2,
183
-    CODEC_ID_NONE,
184
-    NULL,
185
-    ff_raw_write_packet,
186
-    mp2_write_trailer,
177
+    .name              = "mp2",
178
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG audio layer 2"),
179
+    .mime_type         = "audio/x-mpeg",
180
+    .extensions        = "mp2,m2a",
181
+    .audio_codec       = CODEC_ID_MP2,
182
+    .video_codec       = CODEC_ID_NONE,
183
+    .write_packet      = ff_raw_write_packet,
184
+    .write_trailer     = mp2_write_trailer,
187 185
 };
188 186
 #endif
189 187
 
... ...
@@ -459,17 +457,17 @@ static int mp3_write_trailer(AVFormatContext *s)
459 459
 }
460 460
 
461 461
 AVOutputFormat ff_mp3_muxer = {
462
-    "mp3",
463
-    NULL_IF_CONFIG_SMALL("MPEG audio layer 3"),
464
-    "audio/x-mpeg",
465
-    "mp3",
466
-    sizeof(MP3Context),
467
-    CODEC_ID_MP3,
468
-    CODEC_ID_NONE,
469
-    mp3_write_header,
470
-    mp3_write_packet,
471
-    mp3_write_trailer,
472
-    AVFMT_NOTIMESTAMPS,
462
+    .name              = "mp3",
463
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG audio layer 3"),
464
+    .mime_type         = "audio/x-mpeg",
465
+    .extensions        = "mp3",
466
+    .priv_data_size    = sizeof(MP3Context),
467
+    .audio_codec       = CODEC_ID_MP3,
468
+    .video_codec       = CODEC_ID_NONE,
469
+    .write_header      = mp3_write_header,
470
+    .write_packet      = mp3_write_packet,
471
+    .write_trailer     = mp3_write_trailer,
472
+    .flags             = AVFMT_NOTIMESTAMPS,
473 473
     .priv_class = &mp3_muxer_class,
474 474
 };
475 475
 #endif
... ...
@@ -222,13 +222,13 @@ static int mpc_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
222 222
 
223 223
 
224 224
 AVInputFormat ff_mpc_demuxer = {
225
-    "mpc",
226
-    NULL_IF_CONFIG_SMALL("Musepack"),
227
-    sizeof(MPCContext),
228
-    mpc_probe,
229
-    mpc_read_header,
230
-    mpc_read_packet,
231
-    mpc_read_close,
232
-    mpc_read_seek,
225
+    .name           = "mpc",
226
+    .long_name      = NULL_IF_CONFIG_SMALL("Musepack"),
227
+    .priv_data_size = sizeof(MPCContext),
228
+    .read_probe     = mpc_probe,
229
+    .read_header    = mpc_read_header,
230
+    .read_packet    = mpc_read_packet,
231
+    .read_close     = mpc_read_close,
232
+    .read_seek      = mpc_read_seek,
233 233
     .extensions = "mpc",
234 234
 };
... ...
@@ -281,12 +281,11 @@ static int mpc8_read_seek(AVFormatContext *s, int stream_index, int64_t timestam
281 281
 
282 282
 
283 283
 AVInputFormat ff_mpc8_demuxer = {
284
-    "mpc8",
285
-    NULL_IF_CONFIG_SMALL("Musepack SV8"),
286
-    sizeof(MPCContext),
287
-    mpc8_probe,
288
-    mpc8_read_header,
289
-    mpc8_read_packet,
290
-    NULL,
291
-    mpc8_read_seek,
284
+    .name           = "mpc8",
285
+    .long_name      = NULL_IF_CONFIG_SMALL("Musepack SV8"),
286
+    .priv_data_size = sizeof(MPCContext),
287
+    .read_probe     = mpc8_probe,
288
+    .read_header    = mpc8_read_header,
289
+    .read_packet    = mpc8_read_packet,
290
+    .read_seek      = mpc8_read_seek,
292 291
 };
... ...
@@ -606,14 +606,13 @@ static int64_t mpegps_read_dts(AVFormatContext *s, int stream_index,
606 606
 }
607 607
 
608 608
 AVInputFormat ff_mpegps_demuxer = {
609
-    "mpeg",
610
-    NULL_IF_CONFIG_SMALL("MPEG-PS format"),
611
-    sizeof(MpegDemuxContext),
612
-    mpegps_probe,
613
-    mpegps_read_header,
614
-    mpegps_read_packet,
615
-    NULL,
616
-    NULL, //mpegps_read_seek,
617
-    mpegps_read_dts,
609
+    .name           = "mpeg",
610
+    .long_name      = NULL_IF_CONFIG_SMALL("MPEG-PS format"),
611
+    .priv_data_size = sizeof(MpegDemuxContext),
612
+    .read_probe     = mpegps_probe,
613
+    .read_header    = mpegps_read_header,
614
+    .read_packet    = mpegps_read_packet,
615
+    .read_seek      = NULL, //mpegps_read_seek,
616
+    .read_timestamp = mpegps_read_dts,
618 617
     .flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
619 618
 };
... ...
@@ -1232,75 +1232,74 @@ static int mpeg_mux_end(AVFormatContext *ctx)
1232 1232
 
1233 1233
 #if CONFIG_MPEG1SYSTEM_MUXER
1234 1234
 AVOutputFormat ff_mpeg1system_muxer = {
1235
-    "mpeg",
1236
-    NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
1237
-    "video/mpeg",
1238
-    "mpg,mpeg",
1239
-    sizeof(MpegMuxContext),
1240
-    CODEC_ID_MP2,
1241
-    CODEC_ID_MPEG1VIDEO,
1242
-    mpeg_mux_init,
1243
-    mpeg_mux_write_packet,
1244
-    mpeg_mux_end,
1235
+    .name              = "mpeg",
1236
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
1237
+    .mime_type         = "video/mpeg",
1238
+    .extensions        = "mpg,mpeg",
1239
+    .priv_data_size    = sizeof(MpegMuxContext),
1240
+    .audio_codec       = CODEC_ID_MP2,
1241
+    .video_codec       = CODEC_ID_MPEG1VIDEO,
1242
+    .write_header      = mpeg_mux_init,
1243
+    .write_packet      = mpeg_mux_write_packet,
1244
+    .write_trailer     = mpeg_mux_end,
1245 1245
 };
1246 1246
 #endif
1247 1247
 #if CONFIG_MPEG1VCD_MUXER
1248 1248
 AVOutputFormat ff_mpeg1vcd_muxer = {
1249
-    "vcd",
1250
-    NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
1251
-    "video/mpeg",
1252
-    NULL,
1253
-    sizeof(MpegMuxContext),
1254
-    CODEC_ID_MP2,
1255
-    CODEC_ID_MPEG1VIDEO,
1256
-    mpeg_mux_init,
1257
-    mpeg_mux_write_packet,
1258
-    mpeg_mux_end,
1249
+    .name              = "vcd",
1250
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
1251
+    .mime_type         = "video/mpeg",
1252
+    .priv_data_size    = sizeof(MpegMuxContext),
1253
+    .audio_codec       = CODEC_ID_MP2,
1254
+    .video_codec       = CODEC_ID_MPEG1VIDEO,
1255
+    .write_header      = mpeg_mux_init,
1256
+    .write_packet      = mpeg_mux_write_packet,
1257
+    .write_trailer     = mpeg_mux_end,
1259 1258
 };
1260 1259
 #endif
1261 1260
 #if CONFIG_MPEG2VOB_MUXER
1262 1261
 AVOutputFormat ff_mpeg2vob_muxer = {
1263
-    "vob",
1264
-    NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1265
-    "video/mpeg",
1266
-    "vob",
1267
-    sizeof(MpegMuxContext),
1268
-    CODEC_ID_MP2,
1269
-    CODEC_ID_MPEG2VIDEO,
1270
-    mpeg_mux_init,
1271
-    mpeg_mux_write_packet,
1272
-    mpeg_mux_end,
1262
+    .name              = "vob",
1263
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1264
+    .mime_type         = "video/mpeg",
1265
+    .extensions        = "vob",
1266
+    .priv_data_size    = sizeof(MpegMuxContext),
1267
+    .audio_codec       = CODEC_ID_MP2,
1268
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
1269
+    .write_header      = mpeg_mux_init,
1270
+    .write_packet      = mpeg_mux_write_packet,
1271
+    .write_trailer     = mpeg_mux_end,
1273 1272
 };
1274 1273
 #endif
1275 1274
 
1276 1275
 /* Same as mpeg2vob_mux except that the pack size is 2324 */
1277 1276
 #if CONFIG_MPEG2SVCD_MUXER
1278 1277
 AVOutputFormat ff_mpeg2svcd_muxer = {
1279
-    "svcd",
1280
-    NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1281
-    "video/mpeg",
1282
-    "vob",
1283
-    sizeof(MpegMuxContext),
1284
-    CODEC_ID_MP2,
1285
-    CODEC_ID_MPEG2VIDEO,
1286
-    mpeg_mux_init,
1287
-    mpeg_mux_write_packet,
1288
-    mpeg_mux_end,
1278
+    .name              = "svcd",
1279
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1280
+    .mime_type         = "video/mpeg",
1281
+    .extensions        = "vob",
1282
+    .priv_data_size    = sizeof(MpegMuxContext),
1283
+    .audio_codec       = CODEC_ID_MP2,
1284
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
1285
+    .write_header      = mpeg_mux_init,
1286
+    .write_packet      = mpeg_mux_write_packet,
1287
+    .write_trailer     = mpeg_mux_end,
1289 1288
 };
1290 1289
 #endif
1291 1290
 
1292 1291
 /*  Same as mpeg2vob_mux except the 'is_dvd' flag is set to produce NAV pkts */
1293 1292
 #if CONFIG_MPEG2DVD_MUXER
1294 1293
 AVOutputFormat ff_mpeg2dvd_muxer = {
1295
-    "dvd",
1296
-    NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
1297
-    "video/mpeg",
1298
-    "dvd",
1299
-    sizeof(MpegMuxContext),
1300
-    CODEC_ID_MP2,
1301
-    CODEC_ID_MPEG2VIDEO,
1302
-    mpeg_mux_init,
1303
-    mpeg_mux_write_packet,
1304
-    mpeg_mux_end,
1294
+    .name              = "dvd",
1295
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
1296
+    .mime_type         = "video/mpeg",
1297
+    .extensions        = "dvd",
1298
+    .priv_data_size    = sizeof(MpegMuxContext),
1299
+    .audio_codec       = CODEC_ID_MP2,
1300
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
1301
+    .write_header      = mpeg_mux_init,
1302
+    .write_packet      = mpeg_mux_write_packet,
1303
+    .write_trailer     = mpeg_mux_end,
1305 1304
 };
1306 1305
 #endif
... ...
@@ -1887,15 +1887,15 @@ void ff_mpegts_parse_close(MpegTSContext *ts)
1887 1887
 }
1888 1888
 
1889 1889
 AVInputFormat ff_mpegts_demuxer = {
1890
-    "mpegts",
1891
-    NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
1892
-    sizeof(MpegTSContext),
1893
-    mpegts_probe,
1894
-    mpegts_read_header,
1895
-    mpegts_read_packet,
1896
-    mpegts_read_close,
1897
-    read_seek,
1898
-    mpegts_get_pcr,
1890
+    .name           = "mpegts",
1891
+    .long_name      = NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
1892
+    .priv_data_size = sizeof(MpegTSContext),
1893
+    .read_probe     = mpegts_probe,
1894
+    .read_header    = mpegts_read_header,
1895
+    .read_packet    = mpegts_read_packet,
1896
+    .read_close     = mpegts_read_close,
1897
+    .read_seek      = read_seek,
1898
+    .read_timestamp = mpegts_get_pcr,
1899 1899
     .flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
1900 1900
 #ifdef USE_SYNCPOINT_SEARCH
1901 1901
     .read_seek2 = read_seek2,
... ...
@@ -1903,15 +1903,14 @@ AVInputFormat ff_mpegts_demuxer = {
1903 1903
 };
1904 1904
 
1905 1905
 AVInputFormat ff_mpegtsraw_demuxer = {
1906
-    "mpegtsraw",
1907
-    NULL_IF_CONFIG_SMALL("MPEG-2 raw transport stream format"),
1908
-    sizeof(MpegTSContext),
1909
-    NULL,
1910
-    mpegts_read_header,
1911
-    mpegts_raw_read_packet,
1912
-    mpegts_read_close,
1913
-    read_seek,
1914
-    mpegts_get_pcr,
1906
+    .name           = "mpegtsraw",
1907
+    .long_name      = NULL_IF_CONFIG_SMALL("MPEG-2 raw transport stream format"),
1908
+    .priv_data_size = sizeof(MpegTSContext),
1909
+    .read_header    = mpegts_read_header,
1910
+    .read_packet    = mpegts_raw_read_packet,
1911
+    .read_close     = mpegts_read_close,
1912
+    .read_seek      = read_seek,
1913
+    .read_timestamp = mpegts_get_pcr,
1915 1914
     .flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
1916 1915
 #ifdef USE_SYNCPOINT_SEARCH
1917 1916
     .read_seek2 = read_seek2,
... ...
@@ -1051,15 +1051,15 @@ static int mpegts_write_end(AVFormatContext *s)
1051 1051
 }
1052 1052
 
1053 1053
 AVOutputFormat ff_mpegts_muxer = {
1054
-    "mpegts",
1055
-    NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
1056
-    "video/x-mpegts",
1057
-    "ts,m2t",
1058
-    sizeof(MpegTSWrite),
1059
-    CODEC_ID_MP2,
1060
-    CODEC_ID_MPEG2VIDEO,
1061
-    mpegts_write_header,
1062
-    mpegts_write_packet,
1063
-    mpegts_write_end,
1054
+    .name              = "mpegts",
1055
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
1056
+    .mime_type         = "video/x-mpegts",
1057
+    .extensions        = "ts,m2t",
1058
+    .priv_data_size    = sizeof(MpegTSWrite),
1059
+    .audio_codec       = CODEC_ID_MP2,
1060
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
1061
+    .write_header      = mpegts_write_header,
1062
+    .write_packet      = mpegts_write_packet,
1063
+    .write_trailer     = mpegts_write_end,
1064 1064
     .priv_class = &mpegts_muxer_class,
1065 1065
 };
... ...
@@ -54,14 +54,13 @@ static int mpjpeg_write_trailer(AVFormatContext *s)
54 54
 }
55 55
 
56 56
 AVOutputFormat ff_mpjpeg_muxer = {
57
-    "mpjpeg",
58
-    NULL_IF_CONFIG_SMALL("MIME multipart JPEG format"),
59
-    "multipart/x-mixed-replace;boundary=" BOUNDARY_TAG,
60
-    "mjpg",
61
-    0,
62
-    CODEC_ID_NONE,
63
-    CODEC_ID_MJPEG,
64
-    mpjpeg_write_header,
65
-    mpjpeg_write_packet,
66
-    mpjpeg_write_trailer,
57
+    .name              = "mpjpeg",
58
+    .long_name         = NULL_IF_CONFIG_SMALL("MIME multipart JPEG format"),
59
+    .mime_type         = "multipart/x-mixed-replace;boundary=" BOUNDARY_TAG,
60
+    .extensions        = "mjpg",
61
+    .audio_codec       = CODEC_ID_NONE,
62
+    .video_codec       = CODEC_ID_MJPEG,
63
+    .write_header      = mpjpeg_write_header,
64
+    .write_packet      = mpjpeg_write_packet,
65
+    .write_trailer     = mpjpeg_write_trailer,
67 66
 };
... ...
@@ -131,10 +131,9 @@ static int msnwc_tcp_read_packet(AVFormatContext *ctx, AVPacket *pkt)
131 131
 }
132 132
 
133 133
 AVInputFormat ff_msnwc_tcp_demuxer = {
134
-    "msnwctcp",
135
-    NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"),
136
-    0,
137
-    msnwc_tcp_probe,
138
-    msnwc_tcp_read_header,
139
-    msnwc_tcp_read_packet,
134
+    .name           = "msnwctcp",
135
+    .long_name      = NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"),
136
+    .read_probe     = msnwc_tcp_probe,
137
+    .read_header    = msnwc_tcp_read_header,
138
+    .read_packet    = msnwc_tcp_read_packet,
140 139
 };
... ...
@@ -197,10 +197,10 @@ static int mtv_read_packet(AVFormatContext *s, AVPacket *pkt)
197 197
 }
198 198
 
199 199
 AVInputFormat ff_mtv_demuxer = {
200
-    "MTV",
201
-    NULL_IF_CONFIG_SMALL("MTV format"),
202
-    sizeof(MTVDemuxContext),
203
-    mtv_probe,
204
-    mtv_read_header,
205
-    mtv_read_packet,
200
+    .name           = "MTV",
201
+    .long_name      = NULL_IF_CONFIG_SMALL("MTV format"),
202
+    .priv_data_size = sizeof(MTVDemuxContext),
203
+    .read_probe     = mtv_probe,
204
+    .read_header    = mtv_read_header,
205
+    .read_packet    = mtv_read_packet,
206 206
 };
... ...
@@ -124,11 +124,10 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
124 124
 }
125 125
 
126 126
 AVInputFormat ff_mvi_demuxer = {
127
-    "mvi",
128
-    NULL_IF_CONFIG_SMALL("Motion Pixels MVI format"),
129
-    sizeof(MviDemuxContext),
130
-    NULL,
131
-    read_header,
132
-    read_packet,
127
+    .name           = "mvi",
128
+    .long_name      = NULL_IF_CONFIG_SMALL("Motion Pixels MVI format"),
129
+    .priv_data_size = sizeof(MviDemuxContext),
130
+    .read_header    = read_header,
131
+    .read_packet    = read_packet,
133 132
     .extensions = "mvi"
134 133
 };
... ...
@@ -1016,12 +1016,12 @@ static int mxf_read_seek(AVFormatContext *s, int stream_index, int64_t sample_ti
1016 1016
 }
1017 1017
 
1018 1018
 AVInputFormat ff_mxf_demuxer = {
1019
-    "mxf",
1020
-    NULL_IF_CONFIG_SMALL("Material eXchange Format"),
1021
-    sizeof(MXFContext),
1022
-    mxf_probe,
1023
-    mxf_read_header,
1024
-    mxf_read_packet,
1025
-    mxf_read_close,
1026
-    mxf_read_seek,
1019
+    .name           = "mxf",
1020
+    .long_name      = NULL_IF_CONFIG_SMALL("Material eXchange Format"),
1021
+    .priv_data_size = sizeof(MXFContext),
1022
+    .read_probe     = mxf_probe,
1023
+    .read_header    = mxf_read_header,
1024
+    .read_packet    = mxf_read_packet,
1025
+    .read_close     = mxf_read_close,
1026
+    .read_seek      = mxf_read_seek,
1027 1027
 };
... ...
@@ -1890,33 +1890,30 @@ static int mxf_interleave(AVFormatContext *s, AVPacket *out, AVPacket *pkt, int
1890 1890
 }
1891 1891
 
1892 1892
 AVOutputFormat ff_mxf_muxer = {
1893
-    "mxf",
1894
-    NULL_IF_CONFIG_SMALL("Material eXchange Format"),
1895
-    "application/mxf",
1896
-    "mxf",
1897
-    sizeof(MXFContext),
1898
-    CODEC_ID_PCM_S16LE,
1899
-    CODEC_ID_MPEG2VIDEO,
1900
-    mxf_write_header,
1901
-    mxf_write_packet,
1902
-    mxf_write_footer,
1903
-    AVFMT_NOTIMESTAMPS,
1904
-    NULL,
1905
-    mxf_interleave,
1893
+    .name              = "mxf",
1894
+    .long_name         = NULL_IF_CONFIG_SMALL("Material eXchange Format"),
1895
+    .mime_type         = "application/mxf",
1896
+    .extensions        = "mxf",
1897
+    .priv_data_size    = sizeof(MXFContext),
1898
+    .audio_codec       = CODEC_ID_PCM_S16LE,
1899
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
1900
+    .write_header      = mxf_write_header,
1901
+    .write_packet      = mxf_write_packet,
1902
+    .write_trailer     = mxf_write_footer,
1903
+    .flags             = AVFMT_NOTIMESTAMPS,
1904
+    .interleave_packet = mxf_interleave,
1906 1905
 };
1907 1906
 
1908 1907
 AVOutputFormat ff_mxf_d10_muxer = {
1909
-    "mxf_d10",
1910
-    NULL_IF_CONFIG_SMALL("Material eXchange Format, D-10 Mapping"),
1911
-    "application/mxf",
1912
-    NULL,
1913
-    sizeof(MXFContext),
1914
-    CODEC_ID_PCM_S16LE,
1915
-    CODEC_ID_MPEG2VIDEO,
1916
-    mxf_write_header,
1917
-    mxf_write_packet,
1918
-    mxf_write_footer,
1919
-    AVFMT_NOTIMESTAMPS,
1920
-    NULL,
1921
-    mxf_interleave,
1908
+    .name              = "mxf_d10",
1909
+    .long_name         = NULL_IF_CONFIG_SMALL("Material eXchange Format, D-10 Mapping"),
1910
+    .mime_type         = "application/mxf",
1911
+    .priv_data_size    = sizeof(MXFContext),
1912
+    .audio_codec       = CODEC_ID_PCM_S16LE,
1913
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
1914
+    .write_header      = mxf_write_header,
1915
+    .write_packet      = mxf_write_packet,
1916
+    .write_trailer     = mxf_write_footer,
1917
+    .flags             = AVFMT_NOTIMESTAMPS,
1918
+    .interleave_packet = mxf_interleave,
1922 1919
 };
... ...
@@ -91,11 +91,10 @@ static int nc_read_packet(AVFormatContext *s, AVPacket *pkt)
91 91
 }
92 92
 
93 93
 AVInputFormat ff_nc_demuxer = {
94
-    "nc",
95
-    NULL_IF_CONFIG_SMALL("NC camera feed format"),
96
-    0,
97
-    nc_probe,
98
-    nc_read_header,
99
-    nc_read_packet,
94
+    .name           = "nc",
95
+    .long_name      = NULL_IF_CONFIG_SMALL("NC camera feed format"),
96
+    .read_probe     = nc_probe,
97
+    .read_header    = nc_read_header,
98
+    .read_packet    = nc_read_packet,
100 99
     .extensions = "v",
101 100
 };
... ...
@@ -770,12 +770,12 @@ static int nsv_probe(AVProbeData *p)
770 770
 }
771 771
 
772 772
 AVInputFormat ff_nsv_demuxer = {
773
-    "nsv",
774
-    NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
775
-    sizeof(NSVContext),
776
-    nsv_probe,
777
-    nsv_read_header,
778
-    nsv_read_packet,
779
-    nsv_read_close,
780
-    nsv_read_seek,
773
+    .name           = "nsv",
774
+    .long_name      = NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
775
+    .priv_data_size = sizeof(NSVContext),
776
+    .read_probe     = nsv_probe,
777
+    .read_header    = nsv_read_header,
778
+    .read_packet    = nsv_read_packet,
779
+    .read_close     = nsv_read_close,
780
+    .read_seek      = nsv_read_seek,
781 781
 };
... ...
@@ -27,14 +27,10 @@ static int null_write_packet(struct AVFormatContext *s, AVPacket *pkt)
27 27
 }
28 28
 
29 29
 AVOutputFormat ff_null_muxer = {
30
-    "null",
31
-    NULL_IF_CONFIG_SMALL("raw null video format"),
32
-    NULL,
33
-    NULL,
34
-    0,
35
-    AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE),
36
-    CODEC_ID_RAWVIDEO,
37
-    NULL,
38
-    null_write_packet,
30
+    .name              = "null",
31
+    .long_name         = NULL_IF_CONFIG_SMALL("raw null video format"),
32
+    .audio_codec       = AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE),
33
+    .video_codec       = CODEC_ID_RAWVIDEO,
34
+    .write_packet      = null_write_packet,
39 35
     .flags = AVFMT_NOFILE | AVFMT_RAWPICTURE | AVFMT_NOTIMESTAMPS,
40 36
 };
... ...
@@ -924,14 +924,14 @@ static int nut_read_close(AVFormatContext *s)
924 924
 
925 925
 #if CONFIG_NUT_DEMUXER
926 926
 AVInputFormat ff_nut_demuxer = {
927
-    "nut",
928
-    NULL_IF_CONFIG_SMALL("NUT format"),
929
-    sizeof(NUTContext),
930
-    nut_probe,
931
-    nut_read_header,
932
-    nut_read_packet,
933
-    nut_read_close,
934
-    read_seek,
927
+    .name           = "nut",
928
+    .long_name      = NULL_IF_CONFIG_SMALL("NUT format"),
929
+    .priv_data_size = sizeof(NUTContext),
930
+    .read_probe     = nut_probe,
931
+    .read_header    = nut_read_header,
932
+    .read_packet    = nut_read_packet,
933
+    .read_close     = nut_read_close,
934
+    .read_seek      = read_seek,
935 935
     .extensions = "nut",
936 936
     .codec_tag = (const AVCodecTag * const []) { ff_codec_bmp_tags, ff_nut_video_tags, ff_codec_wav_tags, ff_nut_subtitle_tags, 0 },
937 937
 };
... ...
@@ -862,22 +862,22 @@ static int write_trailer(AVFormatContext *s){
862 862
 }
863 863
 
864 864
 AVOutputFormat ff_nut_muxer = {
865
-    "nut",
866
-    NULL_IF_CONFIG_SMALL("NUT format"),
867
-    "video/x-nut",
868
-    "nut",
869
-    sizeof(NUTContext),
865
+    .name           = "nut",
866
+    .long_name      = NULL_IF_CONFIG_SMALL("NUT format"),
867
+    .mime_type      = "video/x-nut",
868
+    .extensions     = "nut",
869
+    .priv_data_size = sizeof(NUTContext),
870 870
 #if   CONFIG_LIBVORBIS
871
-    CODEC_ID_VORBIS,
871
+    .audio_codec    = CODEC_ID_VORBIS,
872 872
 #elif CONFIG_LIBMP3LAME
873
-    CODEC_ID_MP3,
873
+    .audio_codec    = CODEC_ID_MP3,
874 874
 #else
875
-    CODEC_ID_MP2,
875
+    .audio_codec    = CODEC_ID_MP2,
876 876
 #endif
877
-    CODEC_ID_MPEG4,
878
-    write_header,
879
-    write_packet,
880
-    write_trailer,
877
+    .video_codec    = CODEC_ID_MPEG4,
878
+    .write_header   = write_header,
879
+    .write_packet   = write_packet,
880
+    .write_trailer  = write_trailer,
881 881
     .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
882 882
     .codec_tag = (const AVCodecTag * const []){ ff_codec_bmp_tags, ff_nut_video_tags, ff_codec_wav_tags, ff_nut_subtitle_tags, 0 },
883 883
 };
... ...
@@ -259,13 +259,11 @@ static int nuv_packet(AVFormatContext *s, AVPacket *pkt) {
259 259
 }
260 260
 
261 261
 AVInputFormat ff_nuv_demuxer = {
262
-    "nuv",
263
-    NULL_IF_CONFIG_SMALL("NuppelVideo format"),
264
-    sizeof(NUVContext),
265
-    nuv_probe,
266
-    nuv_header,
267
-    nuv_packet,
268
-    NULL,
269
-    NULL,
262
+    .name           = "nuv",
263
+    .long_name      = NULL_IF_CONFIG_SMALL("NuppelVideo format"),
264
+    .priv_data_size = sizeof(NUVContext),
265
+    .read_probe     = nuv_probe,
266
+    .read_header    = nuv_header,
267
+    .read_packet    = nuv_packet,
270 268
     .flags = AVFMT_GENERIC_INDEX,
271 269
 };
... ...
@@ -525,15 +525,15 @@ static int ogg_write_trailer(AVFormatContext *s)
525 525
 }
526 526
 
527 527
 AVOutputFormat ff_ogg_muxer = {
528
-    "ogg",
529
-    NULL_IF_CONFIG_SMALL("Ogg"),
530
-    "application/ogg",
531
-    "ogg,ogv,spx",
532
-    sizeof(OGGContext),
533
-    CODEC_ID_FLAC,
534
-    CODEC_ID_THEORA,
535
-    ogg_write_header,
536
-    ogg_write_packet,
537
-    ogg_write_trailer,
528
+    .name              = "ogg",
529
+    .long_name         = NULL_IF_CONFIG_SMALL("Ogg"),
530
+    .mime_type         = "application/ogg",
531
+    .extensions        = "ogg,ogv,spx",
532
+    .priv_data_size    = sizeof(OGGContext),
533
+    .audio_codec       = CODEC_ID_FLAC,
534
+    .video_codec       = CODEC_ID_THEORA,
535
+    .write_header      = ogg_write_header,
536
+    .write_packet      = ogg_write_packet,
537
+    .write_trailer     = ogg_write_trailer,
538 538
     .priv_class = &ogg_muxer_class,
539 539
 };
... ...
@@ -192,14 +192,12 @@ static int oma_read_probe(AVProbeData *p)
192 192
 
193 193
 
194 194
 AVInputFormat ff_oma_demuxer = {
195
-    "oma",
196
-    NULL_IF_CONFIG_SMALL("Sony OpenMG audio"),
197
-    0,
198
-    oma_read_probe,
199
-    oma_read_header,
200
-    oma_read_packet,
201
-    0,
202
-    pcm_read_seek,
195
+    .name           = "oma",
196
+    .long_name      = NULL_IF_CONFIG_SMALL("Sony OpenMG audio"),
197
+    .read_probe     = oma_read_probe,
198
+    .read_header    = oma_read_header,
199
+    .read_packet    = oma_read_packet,
200
+    .read_seek      = pcm_read_seek,
203 201
     .flags= AVFMT_GENERIC_INDEX,
204 202
     .extensions = "oma,aa3",
205 203
     .codec_tag= (const AVCodecTag* const []){codec_oma_tags, 0},
... ...
@@ -258,11 +258,11 @@ static int str_read_close(AVFormatContext *s)
258 258
 }
259 259
 
260 260
 AVInputFormat ff_str_demuxer = {
261
-    "psxstr",
262
-    NULL_IF_CONFIG_SMALL("Sony Playstation STR format"),
263
-    sizeof(StrDemuxContext),
264
-    str_probe,
265
-    str_read_header,
266
-    str_read_packet,
267
-    str_read_close,
261
+    .name           = "psxstr",
262
+    .long_name      = NULL_IF_CONFIG_SMALL("Sony Playstation STR format"),
263
+    .priv_data_size = sizeof(StrDemuxContext),
264
+    .read_probe     = str_probe,
265
+    .read_header    = str_read_header,
266
+    .read_packet    = str_read_packet,
267
+    .read_close     = str_read_close,
268 268
 };
... ...
@@ -201,11 +201,11 @@ static int64_t pva_read_timestamp(struct AVFormatContext *s, int stream_index,
201 201
 }
202 202
 
203 203
 AVInputFormat ff_pva_demuxer = {
204
-    "pva",
205
-    NULL_IF_CONFIG_SMALL("TechnoTrend PVA file and stream format"),
206
-    sizeof(PVAContext),
207
-    pva_probe,
208
-    pva_read_header,
209
-    pva_read_packet,
204
+    .name           = "pva",
205
+    .long_name      = NULL_IF_CONFIG_SMALL("TechnoTrend PVA file and stream format"),
206
+    .priv_data_size = sizeof(PVAContext),
207
+    .read_probe     = pva_probe,
208
+    .read_header    = pva_read_header,
209
+    .read_packet    = pva_read_packet,
210 210
     .read_timestamp = pva_read_timestamp
211 211
 };
... ...
@@ -384,12 +384,12 @@ static int r3d_close(AVFormatContext *s)
384 384
 }
385 385
 
386 386
 AVInputFormat ff_r3d_demuxer = {
387
-    "r3d",
388
-    NULL_IF_CONFIG_SMALL("REDCODE R3D format"),
389
-    sizeof(R3DContext),
390
-    r3d_probe,
391
-    r3d_read_header,
392
-    r3d_read_packet,
393
-    r3d_close,
394
-    r3d_seek,
387
+    .name           = "r3d",
388
+    .long_name      = NULL_IF_CONFIG_SMALL("REDCODE R3D format"),
389
+    .priv_data_size = sizeof(R3DContext),
390
+    .read_probe     = r3d_probe,
391
+    .read_header    = r3d_read_header,
392
+    .read_packet    = r3d_read_packet,
393
+    .read_close     = r3d_close,
394
+    .read_seek      = r3d_seek,
395 395
 };
... ...
@@ -218,12 +218,11 @@ const AVClass ff_rawvideo_demuxer_class = {
218 218
 
219 219
 #if CONFIG_G722_DEMUXER
220 220
 AVInputFormat ff_g722_demuxer = {
221
-    "g722",
222
-    NULL_IF_CONFIG_SMALL("raw G.722"),
223
-    sizeof(RawAudioDemuxerContext),
224
-    NULL,
225
-    ff_raw_read_header,
226
-    ff_raw_read_partial_packet,
221
+    .name           = "g722",
222
+    .long_name      = NULL_IF_CONFIG_SMALL("raw G.722"),
223
+    .priv_data_size = sizeof(RawAudioDemuxerContext),
224
+    .read_header    = ff_raw_read_header,
225
+    .read_packet    = ff_raw_read_partial_packet,
227 226
     .flags= AVFMT_GENERIC_INDEX,
228 227
     .extensions = "g722,722",
229 228
     .value = CODEC_ID_ADPCM_G722,
... ...
@@ -233,12 +232,10 @@ AVInputFormat ff_g722_demuxer = {
233 233
 
234 234
 #if CONFIG_GSM_DEMUXER
235 235
 AVInputFormat ff_gsm_demuxer = {
236
-    "gsm",
237
-    NULL_IF_CONFIG_SMALL("raw GSM"),
238
-    0,
239
-    NULL,
240
-    ff_raw_audio_read_header,
241
-    ff_raw_read_partial_packet,
236
+    .name           = "gsm",
237
+    .long_name      = NULL_IF_CONFIG_SMALL("raw GSM"),
238
+    .read_header    = ff_raw_audio_read_header,
239
+    .read_packet    = ff_raw_read_partial_packet,
242 240
     .flags= AVFMT_GENERIC_INDEX,
243 241
     .extensions = "gsm",
244 242
     .value = CODEC_ID_GSM,
... ...
@@ -251,12 +248,10 @@ FF_DEF_RAWVIDEO_DEMUXER(mjpeg, "raw MJPEG video", NULL, "mjpg,mjpeg", CODEC_ID_M
251 251
 
252 252
 #if CONFIG_MLP_DEMUXER
253 253
 AVInputFormat ff_mlp_demuxer = {
254
-    "mlp",
255
-    NULL_IF_CONFIG_SMALL("raw MLP"),
256
-    0,
257
-    NULL,
258
-    ff_raw_audio_read_header,
259
-    ff_raw_read_partial_packet,
254
+    .name           = "mlp",
255
+    .long_name      = NULL_IF_CONFIG_SMALL("raw MLP"),
256
+    .read_header    = ff_raw_audio_read_header,
257
+    .read_packet    = ff_raw_read_partial_packet,
260 258
     .flags= AVFMT_GENERIC_INDEX,
261 259
     .extensions = "mlp",
262 260
     .value = CODEC_ID_MLP,
... ...
@@ -265,12 +260,10 @@ AVInputFormat ff_mlp_demuxer = {
265 265
 
266 266
 #if CONFIG_TRUEHD_DEMUXER
267 267
 AVInputFormat ff_truehd_demuxer = {
268
-    "truehd",
269
-    NULL_IF_CONFIG_SMALL("raw TrueHD"),
270
-    0,
271
-    NULL,
272
-    ff_raw_audio_read_header,
273
-    ff_raw_read_partial_packet,
268
+    .name           = "truehd",
269
+    .long_name      = NULL_IF_CONFIG_SMALL("raw TrueHD"),
270
+    .read_header    = ff_raw_audio_read_header,
271
+    .read_packet    = ff_raw_read_partial_packet,
274 272
     .flags= AVFMT_GENERIC_INDEX,
275 273
     .extensions = "thd",
276 274
     .value = CODEC_ID_TRUEHD,
... ...
@@ -279,12 +272,10 @@ AVInputFormat ff_truehd_demuxer = {
279 279
 
280 280
 #if CONFIG_SHORTEN_DEMUXER
281 281
 AVInputFormat ff_shorten_demuxer = {
282
-    "shn",
283
-    NULL_IF_CONFIG_SMALL("raw Shorten"),
284
-    0,
285
-    NULL,
286
-    ff_raw_audio_read_header,
287
-    ff_raw_read_partial_packet,
282
+    .name           = "shn",
283
+    .long_name      = NULL_IF_CONFIG_SMALL("raw Shorten"),
284
+    .read_header    = ff_raw_audio_read_header,
285
+    .read_packet    = ff_raw_read_partial_packet,
288 286
     .flags= AVFMT_GENERIC_INDEX,
289 287
     .extensions = "shn",
290 288
     .value = CODEC_ID_SHORTEN,
... ...
@@ -34,195 +34,163 @@ int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt)
34 34
 
35 35
 #if CONFIG_AC3_MUXER
36 36
 AVOutputFormat ff_ac3_muxer = {
37
-    "ac3",
38
-    NULL_IF_CONFIG_SMALL("raw AC-3"),
39
-    "audio/x-ac3",
40
-    "ac3",
41
-    0,
42
-    CODEC_ID_AC3,
43
-    CODEC_ID_NONE,
44
-    NULL,
45
-    ff_raw_write_packet,
37
+    .name              = "ac3",
38
+    .long_name         = NULL_IF_CONFIG_SMALL("raw AC-3"),
39
+    .mime_type         = "audio/x-ac3",
40
+    .extensions        = "ac3",
41
+    .audio_codec       = CODEC_ID_AC3,
42
+    .video_codec       = CODEC_ID_NONE,
43
+    .write_packet      = ff_raw_write_packet,
46 44
     .flags= AVFMT_NOTIMESTAMPS,
47 45
 };
48 46
 #endif
49 47
 
50 48
 #if CONFIG_DIRAC_MUXER
51 49
 AVOutputFormat ff_dirac_muxer = {
52
-    "dirac",
53
-    NULL_IF_CONFIG_SMALL("raw Dirac"),
54
-    NULL,
55
-    "drc",
56
-    0,
57
-    CODEC_ID_NONE,
58
-    CODEC_ID_DIRAC,
59
-    NULL,
60
-    ff_raw_write_packet,
50
+    .name              = "dirac",
51
+    .long_name         = NULL_IF_CONFIG_SMALL("raw Dirac"),
52
+    .extensions        = "drc",
53
+    .audio_codec       = CODEC_ID_NONE,
54
+    .video_codec       = CODEC_ID_DIRAC,
55
+    .write_packet      = ff_raw_write_packet,
61 56
     .flags= AVFMT_NOTIMESTAMPS,
62 57
 };
63 58
 #endif
64 59
 
65 60
 #if CONFIG_DNXHD_MUXER
66 61
 AVOutputFormat ff_dnxhd_muxer = {
67
-    "dnxhd",
68
-    NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"),
69
-    NULL,
70
-    "dnxhd",
71
-    0,
72
-    CODEC_ID_NONE,
73
-    CODEC_ID_DNXHD,
74
-    NULL,
75
-    ff_raw_write_packet,
62
+    .name              = "dnxhd",
63
+    .long_name         = NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"),
64
+    .extensions        = "dnxhd",
65
+    .audio_codec       = CODEC_ID_NONE,
66
+    .video_codec       = CODEC_ID_DNXHD,
67
+    .write_packet      = ff_raw_write_packet,
76 68
     .flags= AVFMT_NOTIMESTAMPS,
77 69
 };
78 70
 #endif
79 71
 
80 72
 #if CONFIG_DTS_MUXER
81 73
 AVOutputFormat ff_dts_muxer = {
82
-    "dts",
83
-    NULL_IF_CONFIG_SMALL("raw DTS"),
84
-    "audio/x-dca",
85
-    "dts",
86
-    0,
87
-    CODEC_ID_DTS,
88
-    CODEC_ID_NONE,
89
-    NULL,
90
-    ff_raw_write_packet,
74
+    .name              = "dts",
75
+    .long_name         = NULL_IF_CONFIG_SMALL("raw DTS"),
76
+    .mime_type         = "audio/x-dca",
77
+    .extensions        = "dts",
78
+    .audio_codec       = CODEC_ID_DTS,
79
+    .video_codec       = CODEC_ID_NONE,
80
+    .write_packet      = ff_raw_write_packet,
91 81
     .flags= AVFMT_NOTIMESTAMPS,
92 82
 };
93 83
 #endif
94 84
 
95 85
 #if CONFIG_EAC3_MUXER
96 86
 AVOutputFormat ff_eac3_muxer = {
97
-    "eac3",
98
-    NULL_IF_CONFIG_SMALL("raw E-AC-3"),
99
-    "audio/x-eac3",
100
-    "eac3",
101
-    0,
102
-    CODEC_ID_EAC3,
103
-    CODEC_ID_NONE,
104
-    NULL,
105
-    ff_raw_write_packet,
87
+    .name              = "eac3",
88
+    .long_name         = NULL_IF_CONFIG_SMALL("raw E-AC-3"),
89
+    .mime_type         = "audio/x-eac3",
90
+    .extensions        = "eac3",
91
+    .audio_codec       = CODEC_ID_EAC3,
92
+    .video_codec       = CODEC_ID_NONE,
93
+    .write_packet      = ff_raw_write_packet,
106 94
     .flags= AVFMT_NOTIMESTAMPS,
107 95
 };
108 96
 #endif
109 97
 
110 98
 #if CONFIG_G722_MUXER
111 99
 AVOutputFormat ff_g722_muxer = {
112
-    "g722",
113
-    NULL_IF_CONFIG_SMALL("raw G.722"),
114
-    "audio/G722",
115
-    "g722",
116
-    0,
117
-    CODEC_ID_ADPCM_G722,
118
-    CODEC_ID_NONE,
119
-    NULL,
120
-    ff_raw_write_packet,
100
+    .name              = "g722",
101
+    .long_name         = NULL_IF_CONFIG_SMALL("raw G.722"),
102
+    .mime_type         = "audio/G722",
103
+    .extensions        = "g722",
104
+    .audio_codec       = CODEC_ID_ADPCM_G722,
105
+    .video_codec       = CODEC_ID_NONE,
106
+    .write_packet      = ff_raw_write_packet,
121 107
     .flags= AVFMT_NOTIMESTAMPS,
122 108
 };
123 109
 #endif
124 110
 
125 111
 #if CONFIG_H261_MUXER
126 112
 AVOutputFormat ff_h261_muxer = {
127
-    "h261",
128
-    NULL_IF_CONFIG_SMALL("raw H.261"),
129
-    "video/x-h261",
130
-    "h261",
131
-    0,
132
-    CODEC_ID_NONE,
133
-    CODEC_ID_H261,
134
-    NULL,
135
-    ff_raw_write_packet,
113
+    .name              = "h261",
114
+    .long_name         = NULL_IF_CONFIG_SMALL("raw H.261"),
115
+    .mime_type         = "video/x-h261",
116
+    .extensions        = "h261",
117
+    .audio_codec       = CODEC_ID_NONE,
118
+    .video_codec       = CODEC_ID_H261,
119
+    .write_packet      = ff_raw_write_packet,
136 120
     .flags= AVFMT_NOTIMESTAMPS,
137 121
 };
138 122
 #endif
139 123
 
140 124
 #if CONFIG_H263_MUXER
141 125
 AVOutputFormat ff_h263_muxer = {
142
-    "h263",
143
-    NULL_IF_CONFIG_SMALL("raw H.263"),
144
-    "video/x-h263",
145
-    "h263",
146
-    0,
147
-    CODEC_ID_NONE,
148
-    CODEC_ID_H263,
149
-    NULL,
150
-    ff_raw_write_packet,
126
+    .name              = "h263",
127
+    .long_name         = NULL_IF_CONFIG_SMALL("raw H.263"),
128
+    .mime_type         = "video/x-h263",
129
+    .extensions        = "h263",
130
+    .audio_codec       = CODEC_ID_NONE,
131
+    .video_codec       = CODEC_ID_H263,
132
+    .write_packet      = ff_raw_write_packet,
151 133
     .flags= AVFMT_NOTIMESTAMPS,
152 134
 };
153 135
 #endif
154 136
 
155 137
 #if CONFIG_H264_MUXER
156 138
 AVOutputFormat ff_h264_muxer = {
157
-    "h264",
158
-    NULL_IF_CONFIG_SMALL("raw H.264 video format"),
159
-    NULL,
160
-    "h264",
161
-    0,
162
-    CODEC_ID_NONE,
163
-    CODEC_ID_H264,
164
-    NULL,
165
-    ff_raw_write_packet,
139
+    .name              = "h264",
140
+    .long_name         = NULL_IF_CONFIG_SMALL("raw H.264 video format"),
141
+    .extensions        = "h264",
142
+    .audio_codec       = CODEC_ID_NONE,
143
+    .video_codec       = CODEC_ID_H264,
144
+    .write_packet      = ff_raw_write_packet,
166 145
     .flags= AVFMT_NOTIMESTAMPS,
167 146
 };
168 147
 #endif
169 148
 
170 149
 #if CONFIG_CAVSVIDEO_MUXER
171 150
 AVOutputFormat ff_cavsvideo_muxer = {
172
-    "cavsvideo",
173
-    NULL_IF_CONFIG_SMALL("raw Chinese AVS video"),
174
-    NULL,
175
-    "cavs",
176
-    0,
177
-    CODEC_ID_NONE,
178
-    CODEC_ID_CAVS,
179
-    NULL,
180
-    ff_raw_write_packet,
151
+    .name              = "cavsvideo",
152
+    .long_name         = NULL_IF_CONFIG_SMALL("raw Chinese AVS video"),
153
+    .extensions        = "cavs",
154
+    .audio_codec       = CODEC_ID_NONE,
155
+    .video_codec       = CODEC_ID_CAVS,
156
+    .write_packet      = ff_raw_write_packet,
181 157
     .flags= AVFMT_NOTIMESTAMPS,
182 158
 };
183 159
 #endif
184 160
 
185 161
 #if CONFIG_M4V_MUXER
186 162
 AVOutputFormat ff_m4v_muxer = {
187
-    "m4v",
188
-    NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"),
189
-    NULL,
190
-    "m4v",
191
-    0,
192
-    CODEC_ID_NONE,
193
-    CODEC_ID_MPEG4,
194
-    NULL,
195
-    ff_raw_write_packet,
163
+    .name              = "m4v",
164
+    .long_name         = NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"),
165
+    .extensions        = "m4v",
166
+    .audio_codec       = CODEC_ID_NONE,
167
+    .video_codec       = CODEC_ID_MPEG4,
168
+    .write_packet      = ff_raw_write_packet,
196 169
     .flags= AVFMT_NOTIMESTAMPS,
197 170
 };
198 171
 #endif
199 172
 
200 173
 #if CONFIG_MJPEG_MUXER
201 174
 AVOutputFormat ff_mjpeg_muxer = {
202
-    "mjpeg",
203
-    NULL_IF_CONFIG_SMALL("raw MJPEG video"),
204
-    "video/x-mjpeg",
205
-    "mjpg,mjpeg",
206
-    0,
207
-    CODEC_ID_NONE,
208
-    CODEC_ID_MJPEG,
209
-    NULL,
210
-    ff_raw_write_packet,
175
+    .name              = "mjpeg",
176
+    .long_name         = NULL_IF_CONFIG_SMALL("raw MJPEG video"),
177
+    .mime_type         = "video/x-mjpeg",
178
+    .extensions        = "mjpg,mjpeg",
179
+    .audio_codec       = CODEC_ID_NONE,
180
+    .video_codec       = CODEC_ID_MJPEG,
181
+    .write_packet      = ff_raw_write_packet,
211 182
     .flags= AVFMT_NOTIMESTAMPS,
212 183
 };
213 184
 #endif
214 185
 
215 186
 #if CONFIG_MLP_MUXER
216 187
 AVOutputFormat ff_mlp_muxer = {
217
-    "mlp",
218
-    NULL_IF_CONFIG_SMALL("raw MLP"),
219
-    NULL,
220
-    "mlp",
221
-    0,
222
-    CODEC_ID_MLP,
223
-    CODEC_ID_NONE,
224
-    NULL,
225
-    ff_raw_write_packet,
188
+    .name              = "mlp",
189
+    .long_name         = NULL_IF_CONFIG_SMALL("raw MLP"),
190
+    .extensions        = "mlp",
191
+    .audio_codec       = CODEC_ID_MLP,
192
+    .video_codec       = CODEC_ID_NONE,
193
+    .write_packet      = ff_raw_write_packet,
226 194
     .flags= AVFMT_NOTIMESTAMPS,
227 195
 };
228 196
 #endif
... ...
@@ -241,60 +209,49 @@ AVOutputFormat ff_srt_muxer = {
241 241
 
242 242
 #if CONFIG_TRUEHD_MUXER
243 243
 AVOutputFormat ff_truehd_muxer = {
244
-    "truehd",
245
-    NULL_IF_CONFIG_SMALL("raw TrueHD"),
246
-    NULL,
247
-    "thd",
248
-    0,
249
-    CODEC_ID_TRUEHD,
250
-    CODEC_ID_NONE,
251
-    NULL,
252
-    ff_raw_write_packet,
244
+    .name              = "truehd",
245
+    .long_name         = NULL_IF_CONFIG_SMALL("raw TrueHD"),
246
+    .extensions        = "thd",
247
+    .audio_codec       = CODEC_ID_TRUEHD,
248
+    .video_codec       = CODEC_ID_NONE,
249
+    .write_packet      = ff_raw_write_packet,
253 250
     .flags= AVFMT_NOTIMESTAMPS,
254 251
 };
255 252
 #endif
256 253
 
257 254
 #if CONFIG_MPEG1VIDEO_MUXER
258 255
 AVOutputFormat ff_mpeg1video_muxer = {
259
-    "mpeg1video",
260
-    NULL_IF_CONFIG_SMALL("raw MPEG-1 video"),
261
-    "video/x-mpeg",
262
-    "mpg,mpeg,m1v",
263
-    0,
264
-    CODEC_ID_NONE,
265
-    CODEC_ID_MPEG1VIDEO,
266
-    NULL,
267
-    ff_raw_write_packet,
256
+    .name              = "mpeg1video",
257
+    .long_name         = NULL_IF_CONFIG_SMALL("raw MPEG-1 video"),
258
+    .mime_type         = "video/x-mpeg",
259
+    .extensions        = "mpg,mpeg,m1v",
260
+    .audio_codec       = CODEC_ID_NONE,
261
+    .video_codec       = CODEC_ID_MPEG1VIDEO,
262
+    .write_packet      = ff_raw_write_packet,
268 263
     .flags= AVFMT_NOTIMESTAMPS,
269 264
 };
270 265
 #endif
271 266
 
272 267
 #if CONFIG_MPEG2VIDEO_MUXER
273 268
 AVOutputFormat ff_mpeg2video_muxer = {
274
-    "mpeg2video",
275
-    NULL_IF_CONFIG_SMALL("raw MPEG-2 video"),
276
-    NULL,
277
-    "m2v",
278
-    0,
279
-    CODEC_ID_NONE,
280
-    CODEC_ID_MPEG2VIDEO,
281
-    NULL,
282
-    ff_raw_write_packet,
269
+    .name              = "mpeg2video",
270
+    .long_name         = NULL_IF_CONFIG_SMALL("raw MPEG-2 video"),
271
+    .extensions        = "m2v",
272
+    .audio_codec       = CODEC_ID_NONE,
273
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
274
+    .write_packet      = ff_raw_write_packet,
283 275
     .flags= AVFMT_NOTIMESTAMPS,
284 276
 };
285 277
 #endif
286 278
 
287 279
 #if CONFIG_RAWVIDEO_MUXER
288 280
 AVOutputFormat ff_rawvideo_muxer = {
289
-    "rawvideo",
290
-    NULL_IF_CONFIG_SMALL("raw video format"),
291
-    NULL,
292
-    "yuv,rgb",
293
-    0,
294
-    CODEC_ID_NONE,
295
-    CODEC_ID_RAWVIDEO,
296
-    NULL,
297
-    ff_raw_write_packet,
281
+    .name              = "rawvideo",
282
+    .long_name         = NULL_IF_CONFIG_SMALL("raw video format"),
283
+    .extensions        = "yuv,rgb",
284
+    .audio_codec       = CODEC_ID_NONE,
285
+    .video_codec       = CODEC_ID_RAWVIDEO,
286
+    .write_packet      = ff_raw_write_packet,
298 287
     .flags= AVFMT_NOTIMESTAMPS,
299 288
 };
300 289
 #endif
... ...
@@ -45,12 +45,11 @@ static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt)
45 45
 }
46 46
 
47 47
 AVInputFormat ff_rawvideo_demuxer = {
48
-    "rawvideo",
49
-    NULL_IF_CONFIG_SMALL("raw video format"),
50
-    sizeof(FFRawVideoDemuxerContext),
51
-    NULL,
52
-    ff_raw_read_header,
53
-    rawvideo_read_packet,
48
+    .name           = "rawvideo",
49
+    .long_name      = NULL_IF_CONFIG_SMALL("raw video format"),
50
+    .priv_data_size = sizeof(FFRawVideoDemuxerContext),
51
+    .read_header    = ff_raw_read_header,
52
+    .read_packet    = rawvideo_read_packet,
54 53
     .flags= AVFMT_GENERIC_INDEX,
55 54
     .extensions = "yuv,cif,qcif,rgb",
56 55
     .value = CODEC_ID_RAWVIDEO,
... ...
@@ -286,13 +286,12 @@ static int rl2_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
286 286
 }
287 287
 
288 288
 AVInputFormat ff_rl2_demuxer = {
289
-    "rl2",
290
-    NULL_IF_CONFIG_SMALL("RL2 format"),
291
-    sizeof(Rl2DemuxContext),
292
-    rl2_probe,
293
-    rl2_read_header,
294
-    rl2_read_packet,
295
-    NULL,
296
-    rl2_read_seek,
289
+    .name           = "rl2",
290
+    .long_name      = NULL_IF_CONFIG_SMALL("RL2 format"),
291
+    .priv_data_size = sizeof(Rl2DemuxContext),
292
+    .read_probe     = rl2_probe,
293
+    .read_header    = rl2_read_header,
294
+    .read_packet    = rl2_read_packet,
295
+    .read_seek      = rl2_read_seek,
297 296
 };
298 297
 
... ...
@@ -371,7 +371,7 @@ skip:
371 371
     return 0;
372 372
 }
373 373
 
374
-static int rm_read_header_old(AVFormatContext *s, AVFormatParameters *ap)
374
+static int rm_read_header_old(AVFormatContext *s)
375 375
 {
376 376
     RMDemuxContext *rm = s->priv_data;
377 377
     AVStream *st;
... ...
@@ -399,7 +399,7 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap)
399 399
     tag = avio_rl32(pb);
400 400
     if (tag == MKTAG('.', 'r', 'a', 0xfd)) {
401 401
         /* very old .ra format */
402
-        return rm_read_header_old(s, ap);
402
+        return rm_read_header_old(s);
403 403
     } else if (tag != MKTAG('.', 'R', 'M', 'F')) {
404 404
         return AVERROR(EIO);
405 405
     }
... ...
@@ -937,23 +937,19 @@ static int64_t rm_read_dts(AVFormatContext *s, int stream_index,
937 937
 }
938 938
 
939 939
 AVInputFormat ff_rm_demuxer = {
940
-    "rm",
941
-    NULL_IF_CONFIG_SMALL("RealMedia format"),
942
-    sizeof(RMDemuxContext),
943
-    rm_probe,
944
-    rm_read_header,
945
-    rm_read_packet,
946
-    rm_read_close,
947
-    NULL,
948
-    rm_read_dts,
940
+    .name           = "rm",
941
+    .long_name      = NULL_IF_CONFIG_SMALL("RealMedia format"),
942
+    .priv_data_size = sizeof(RMDemuxContext),
943
+    .read_probe     = rm_probe,
944
+    .read_header    = rm_read_header,
945
+    .read_packet    = rm_read_packet,
946
+    .read_close     = rm_read_close,
947
+    .read_timestamp = rm_read_dts,
949 948
 };
950 949
 
951 950
 AVInputFormat ff_rdt_demuxer = {
952
-    "rdt",
953
-    NULL_IF_CONFIG_SMALL("RDT demuxer"),
954
-    sizeof(RMDemuxContext),
955
-    NULL,
956
-    NULL,
957
-    NULL,
958
-    rm_read_close,
951
+    .name           = "rdt",
952
+    .long_name      = NULL_IF_CONFIG_SMALL("RDT demuxer"),
953
+    .priv_data_size = sizeof(RMDemuxContext),
954
+    .read_close     = rm_read_close,
959 955
 };
... ...
@@ -461,15 +461,15 @@ static int rm_write_trailer(AVFormatContext *s)
461 461
 
462 462
 
463 463
 AVOutputFormat ff_rm_muxer = {
464
-    "rm",
465
-    NULL_IF_CONFIG_SMALL("RealMedia format"),
466
-    "application/vnd.rn-realmedia",
467
-    "rm,ra",
468
-    sizeof(RMMuxContext),
469
-    CODEC_ID_AC3,
470
-    CODEC_ID_RV10,
471
-    rm_write_header,
472
-    rm_write_packet,
473
-    rm_write_trailer,
464
+    .name              = "rm",
465
+    .long_name         = NULL_IF_CONFIG_SMALL("RealMedia format"),
466
+    .mime_type         = "application/vnd.rn-realmedia",
467
+    .extensions        = "rm,ra",
468
+    .priv_data_size    = sizeof(RMMuxContext),
469
+    .audio_codec       = CODEC_ID_AC3,
470
+    .video_codec       = CODEC_ID_RV10,
471
+    .write_header      = rm_write_header,
472
+    .write_packet      = rm_write_packet,
473
+    .write_trailer     = rm_write_trailer,
474 474
     .codec_tag= (const AVCodecTag* const []){ff_rm_codec_tags, 0},
475 475
 };
... ...
@@ -351,10 +351,10 @@ static int rpl_read_packet(AVFormatContext *s, AVPacket *pkt)
351 351
 }
352 352
 
353 353
 AVInputFormat ff_rpl_demuxer = {
354
-    "rpl",
355
-    NULL_IF_CONFIG_SMALL("RPL/ARMovie format"),
356
-    sizeof(RPLContext),
357
-    rpl_probe,
358
-    rpl_read_header,
359
-    rpl_read_packet,
354
+    .name           = "rpl",
355
+    .long_name      = NULL_IF_CONFIG_SMALL("RPL/ARMovie format"),
356
+    .priv_data_size = sizeof(RPLContext),
357
+    .read_probe     = rpl_probe,
358
+    .read_header    = rpl_read_header,
359
+    .read_packet    = rpl_read_packet,
360 360
 };
... ...
@@ -462,15 +462,13 @@ static int rtp_write_trailer(AVFormatContext *s1)
462 462
 }
463 463
 
464 464
 AVOutputFormat ff_rtp_muxer = {
465
-    "rtp",
466
-    NULL_IF_CONFIG_SMALL("RTP output format"),
467
-    NULL,
468
-    NULL,
469
-    sizeof(RTPMuxContext),
470
-    CODEC_ID_PCM_MULAW,
471
-    CODEC_ID_NONE,
472
-    rtp_write_header,
473
-    rtp_write_packet,
474
-    rtp_write_trailer,
465
+    .name              = "rtp",
466
+    .long_name         = NULL_IF_CONFIG_SMALL("RTP output format"),
467
+    .priv_data_size    = sizeof(RTPMuxContext),
468
+    .audio_codec       = CODEC_ID_PCM_MULAW,
469
+    .video_codec       = CODEC_ID_NONE,
470
+    .write_header      = rtp_write_header,
471
+    .write_packet      = rtp_write_packet,
472
+    .write_trailer     = rtp_write_trailer,
475 473
     .priv_class = &rtp_muxer_class,
476 474
 };
... ...
@@ -1824,13 +1824,13 @@ static int sdp_read_close(AVFormatContext *s)
1824 1824
 }
1825 1825
 
1826 1826
 AVInputFormat ff_sdp_demuxer = {
1827
-    "sdp",
1828
-    NULL_IF_CONFIG_SMALL("SDP"),
1829
-    sizeof(RTSPState),
1830
-    sdp_probe,
1831
-    sdp_read_header,
1832
-    ff_rtsp_fetch_packet,
1833
-    sdp_read_close,
1827
+    .name           = "sdp",
1828
+    .long_name      = NULL_IF_CONFIG_SMALL("SDP"),
1829
+    .priv_data_size = sizeof(RTSPState),
1830
+    .read_probe     = sdp_probe,
1831
+    .read_header    = sdp_read_header,
1832
+    .read_packet    = ff_rtsp_fetch_packet,
1833
+    .read_close     = sdp_read_close,
1834 1834
 };
1835 1835
 #endif /* CONFIG_SDP_DEMUXER */
1836 1836
 
... ...
@@ -1928,13 +1928,13 @@ fail:
1928 1928
 }
1929 1929
 
1930 1930
 AVInputFormat ff_rtp_demuxer = {
1931
-    "rtp",
1932
-    NULL_IF_CONFIG_SMALL("RTP input format"),
1933
-    sizeof(RTSPState),
1934
-    rtp_probe,
1935
-    rtp_read_header,
1936
-    ff_rtsp_fetch_packet,
1937
-    sdp_read_close,
1931
+    .name           = "rtp",
1932
+    .long_name      = NULL_IF_CONFIG_SMALL("RTP input format"),
1933
+    .priv_data_size = sizeof(RTSPState),
1934
+    .read_probe     = rtp_probe,
1935
+    .read_header    = rtp_read_header,
1936
+    .read_packet    = ff_rtsp_fetch_packet,
1937
+    .read_close     = sdp_read_close,
1938 1938
     .flags = AVFMT_NOFILE,
1939 1939
 };
1940 1940
 #endif /* CONFIG_RTP_DEMUXER */
... ...
@@ -412,14 +412,14 @@ const AVClass rtsp_demuxer_class = {
412 412
 };
413 413
 
414 414
 AVInputFormat ff_rtsp_demuxer = {
415
-    "rtsp",
416
-    NULL_IF_CONFIG_SMALL("RTSP input format"),
417
-    sizeof(RTSPState),
418
-    rtsp_probe,
419
-    rtsp_read_header,
420
-    rtsp_read_packet,
421
-    rtsp_read_close,
422
-    rtsp_read_seek,
415
+    .name           = "rtsp",
416
+    .long_name      = NULL_IF_CONFIG_SMALL("RTSP input format"),
417
+    .priv_data_size = sizeof(RTSPState),
418
+    .read_probe     = rtsp_probe,
419
+    .read_header    = rtsp_read_header,
420
+    .read_packet    = rtsp_read_packet,
421
+    .read_close     = rtsp_read_close,
422
+    .read_seek      = rtsp_read_seek,
423 423
     .flags = AVFMT_NOFILE,
424 424
     .read_play = rtsp_read_play,
425 425
     .read_pause = rtsp_read_pause,
... ...
@@ -241,16 +241,14 @@ static int rtsp_write_close(AVFormatContext *s)
241 241
 }
242 242
 
243 243
 AVOutputFormat ff_rtsp_muxer = {
244
-    "rtsp",
245
-    NULL_IF_CONFIG_SMALL("RTSP output format"),
246
-    NULL,
247
-    NULL,
248
-    sizeof(RTSPState),
249
-    CODEC_ID_AAC,
250
-    CODEC_ID_MPEG4,
251
-    rtsp_write_header,
252
-    rtsp_write_packet,
253
-    rtsp_write_close,
244
+    .name              = "rtsp",
245
+    .long_name         = NULL_IF_CONFIG_SMALL("RTSP output format"),
246
+    .priv_data_size    = sizeof(RTSPState),
247
+    .audio_codec       = CODEC_ID_AAC,
248
+    .video_codec       = CODEC_ID_MPEG4,
249
+    .write_header      = rtsp_write_header,
250
+    .write_packet      = rtsp_write_packet,
251
+    .write_trailer     = rtsp_write_close,
254 252
     .flags = AVFMT_NOFILE | AVFMT_GLOBALHEADER,
255 253
     .priv_class = &rtsp_muxer_class,
256 254
 };
... ...
@@ -224,13 +224,13 @@ static int sap_fetch_packet(AVFormatContext *s, AVPacket *pkt)
224 224
 }
225 225
 
226 226
 AVInputFormat ff_sap_demuxer = {
227
-    "sap",
228
-    NULL_IF_CONFIG_SMALL("SAP input format"),
229
-    sizeof(struct SAPState),
230
-    sap_probe,
231
-    sap_read_header,
232
-    sap_fetch_packet,
233
-    sap_read_close,
227
+    .name           = "sap",
228
+    .long_name      = NULL_IF_CONFIG_SMALL("SAP input format"),
229
+    .priv_data_size = sizeof(struct SAPState),
230
+    .read_probe     = sap_probe,
231
+    .read_header    = sap_read_header,
232
+    .read_packet    = sap_fetch_packet,
233
+    .read_close     = sap_read_close,
234 234
     .flags = AVFMT_NOFILE,
235 235
 };
236 236
 
... ...
@@ -250,16 +250,14 @@ static int sap_write_packet(AVFormatContext *s, AVPacket *pkt)
250 250
 }
251 251
 
252 252
 AVOutputFormat ff_sap_muxer = {
253
-    "sap",
254
-    NULL_IF_CONFIG_SMALL("SAP output format"),
255
-    NULL,
256
-    NULL,
257
-    sizeof(struct SAPState),
258
-    CODEC_ID_AAC,
259
-    CODEC_ID_MPEG4,
260
-    sap_write_header,
261
-    sap_write_packet,
262
-    sap_write_close,
253
+    .name              = "sap",
254
+    .long_name         = NULL_IF_CONFIG_SMALL("SAP output format"),
255
+    .priv_data_size    = sizeof(struct SAPState),
256
+    .audio_codec       = CODEC_ID_AAC,
257
+    .video_codec       = CODEC_ID_MPEG4,
258
+    .write_header      = sap_write_header,
259
+    .write_packet      = sap_write_packet,
260
+    .write_trailer     = sap_write_close,
263 261
     .flags = AVFMT_NOFILE | AVFMT_GLOBALHEADER,
264 262
 };
265 263
 
... ...
@@ -297,11 +297,11 @@ static int film_read_close(AVFormatContext *s)
297 297
 }
298 298
 
299 299
 AVInputFormat ff_segafilm_demuxer = {
300
-    "film_cpk",
301
-    NULL_IF_CONFIG_SMALL("Sega FILM/CPK format"),
302
-    sizeof(FilmDemuxContext),
303
-    film_probe,
304
-    film_read_header,
305
-    film_read_packet,
306
-    film_read_close,
300
+    .name           = "film_cpk",
301
+    .long_name      = NULL_IF_CONFIG_SMALL("Sega FILM/CPK format"),
302
+    .priv_data_size = sizeof(FilmDemuxContext),
303
+    .read_probe     = film_probe,
304
+    .read_header    = film_read_header,
305
+    .read_packet    = film_read_packet,
306
+    .read_close     = film_read_close,
307 307
 };
... ...
@@ -281,11 +281,11 @@ static int vmd_read_close(AVFormatContext *s)
281 281
 }
282 282
 
283 283
 AVInputFormat ff_vmd_demuxer = {
284
-    "vmd",
285
-    NULL_IF_CONFIG_SMALL("Sierra VMD format"),
286
-    sizeof(VmdDemuxContext),
287
-    vmd_probe,
288
-    vmd_read_header,
289
-    vmd_read_packet,
290
-    vmd_read_close,
284
+    .name           = "vmd",
285
+    .long_name      = NULL_IF_CONFIG_SMALL("Sierra VMD format"),
286
+    .priv_data_size = sizeof(VmdDemuxContext),
287
+    .read_probe     = vmd_probe,
288
+    .read_header    = vmd_read_header,
289
+    .read_packet    = vmd_read_packet,
290
+    .read_close     = vmd_read_close,
291 291
 };
... ...
@@ -228,11 +228,11 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt)
228 228
 }
229 229
 
230 230
 AVInputFormat ff_siff_demuxer = {
231
-    "siff",
232
-    NULL_IF_CONFIG_SMALL("Beam Software SIFF"),
233
-    sizeof(SIFFContext),
234
-    siff_probe,
235
-    siff_read_header,
236
-    siff_read_packet,
231
+    .name           = "siff",
232
+    .long_name      = NULL_IF_CONFIG_SMALL("Beam Software SIFF"),
233
+    .priv_data_size = sizeof(SIFFContext),
234
+    .read_probe     = siff_probe,
235
+    .read_header    = siff_read_header,
236
+    .read_packet    = siff_read_packet,
237 237
     .extensions = "vb,son"
238 238
 };
... ...
@@ -340,11 +340,11 @@ static int smacker_read_close(AVFormatContext *s)
340 340
 }
341 341
 
342 342
 AVInputFormat ff_smacker_demuxer = {
343
-    "smk",
344
-    NULL_IF_CONFIG_SMALL("Smacker video"),
345
-    sizeof(SmackerContext),
346
-    smacker_probe,
347
-    smacker_read_header,
348
-    smacker_read_packet,
349
-    smacker_read_close,
343
+    .name           = "smk",
344
+    .long_name      = NULL_IF_CONFIG_SMALL("Smacker video"),
345
+    .priv_data_size = sizeof(SmackerContext),
346
+    .read_probe     = smacker_probe,
347
+    .read_header    = smacker_read_header,
348
+    .read_packet    = smacker_read_packet,
349
+    .read_close     = smacker_read_close,
350 350
 };
... ...
@@ -141,12 +141,10 @@ static int sol_read_packet(AVFormatContext *s,
141 141
 }
142 142
 
143 143
 AVInputFormat ff_sol_demuxer = {
144
-    "sol",
145
-    NULL_IF_CONFIG_SMALL("Sierra SOL format"),
146
-    0,
147
-    sol_probe,
148
-    sol_read_header,
149
-    sol_read_packet,
150
-    NULL,
151
-    pcm_read_seek,
144
+    .name           = "sol",
145
+    .long_name      = NULL_IF_CONFIG_SMALL("Sierra SOL format"),
146
+    .read_probe     = sol_probe,
147
+    .read_header    = sol_read_header,
148
+    .read_packet    = sol_read_packet,
149
+    .read_seek      = pcm_read_seek,
152 150
 };
... ...
@@ -143,12 +143,10 @@ static int sox_read_packet(AVFormatContext *s,
143 143
 }
144 144
 
145 145
 AVInputFormat ff_sox_demuxer = {
146
-    "sox",
147
-    NULL_IF_CONFIG_SMALL("SoX native format"),
148
-    0,
149
-    sox_probe,
150
-    sox_read_header,
151
-    sox_read_packet,
152
-    NULL,
153
-    pcm_read_seek,
146
+    .name           = "sox",
147
+    .long_name      = NULL_IF_CONFIG_SMALL("SoX native format"),
148
+    .read_probe     = sox_probe,
149
+    .read_header    = sox_read_header,
150
+    .read_packet    = sox_read_packet,
151
+    .read_seek      = pcm_read_seek,
154 152
 };
... ...
@@ -116,14 +116,13 @@ static int sox_write_trailer(AVFormatContext *s)
116 116
 }
117 117
 
118 118
 AVOutputFormat ff_sox_muxer = {
119
-    "sox",
120
-    NULL_IF_CONFIG_SMALL("SoX native format"),
121
-    NULL,
122
-    "sox",
123
-    sizeof(SoXContext),
124
-    CODEC_ID_PCM_S32LE,
125
-    CODEC_ID_NONE,
126
-    sox_write_header,
127
-    sox_write_packet,
128
-    sox_write_trailer,
119
+    .name              = "sox",
120
+    .long_name         = NULL_IF_CONFIG_SMALL("SoX native format"),
121
+    .extensions        = "sox",
122
+    .priv_data_size    = sizeof(SoXContext),
123
+    .audio_codec       = CODEC_ID_PCM_S32LE,
124
+    .video_codec       = CODEC_ID_NONE,
125
+    .write_header      = sox_write_header,
126
+    .write_packet      = sox_write_packet,
127
+    .write_trailer     = sox_write_trailer,
129 128
 };
... ...
@@ -226,11 +226,10 @@ static int spdif_read_packet(AVFormatContext *s, AVPacket *pkt)
226 226
 }
227 227
 
228 228
 AVInputFormat ff_spdif_demuxer = {
229
-    "spdif",
230
-    NULL_IF_CONFIG_SMALL("IEC 61937 (compressed data in S/PDIF)"),
231
-    0,
232
-    spdif_probe,
233
-    spdif_read_header,
234
-    spdif_read_packet,
229
+    .name           = "spdif",
230
+    .long_name      = NULL_IF_CONFIG_SMALL("IEC 61937 (compressed data in S/PDIF)"),
231
+    .read_probe     = spdif_probe,
232
+    .read_header    = spdif_read_header,
233
+    .read_packet    = spdif_read_packet,
235 234
     .flags = AVFMT_GENERIC_INDEX,
236 235
 };
... ...
@@ -541,16 +541,15 @@ static int spdif_write_packet(struct AVFormatContext *s, AVPacket *pkt)
541 541
 }
542 542
 
543 543
 AVOutputFormat ff_spdif_muxer = {
544
-    "spdif",
545
-    NULL_IF_CONFIG_SMALL("IEC 61937 (used on S/PDIF - IEC958)"),
546
-    NULL,
547
-    "spdif",
548
-    sizeof(IEC61937Context),
549
-    CODEC_ID_AC3,
550
-    CODEC_ID_NONE,
551
-    spdif_write_header,
552
-    spdif_write_packet,
553
-    spdif_write_trailer,
544
+    .name              = "spdif",
545
+    .long_name         = NULL_IF_CONFIG_SMALL("IEC 61937 (used on S/PDIF - IEC958)"),
546
+    .extensions        = "spdif",
547
+    .priv_data_size    = sizeof(IEC61937Context),
548
+    .audio_codec       = CODEC_ID_AC3,
549
+    .video_codec       = CODEC_ID_NONE,
550
+    .write_header      = spdif_write_header,
551
+    .write_packet      = spdif_write_packet,
552
+    .write_trailer     = spdif_write_trailer,
554 553
     .flags = AVFMT_NOTIMESTAMPS,
555 554
     .priv_class = &class,
556 555
 };
... ...
@@ -207,10 +207,10 @@ static int swf_read_packet(AVFormatContext *s, AVPacket *pkt)
207 207
 }
208 208
 
209 209
 AVInputFormat ff_swf_demuxer = {
210
-    "swf",
211
-    NULL_IF_CONFIG_SMALL("Flash format"),
212
-    sizeof(SWFContext),
213
-    swf_probe,
214
-    swf_read_header,
215
-    swf_read_packet,
210
+    .name           = "swf",
211
+    .long_name      = NULL_IF_CONFIG_SMALL("Flash format"),
212
+    .priv_data_size = sizeof(SWFContext),
213
+    .read_probe     = swf_probe,
214
+    .read_header    = swf_read_header,
215
+    .read_packet    = swf_read_packet,
216 216
 };
... ...
@@ -507,29 +507,28 @@ static int swf_write_trailer(AVFormatContext *s)
507 507
 
508 508
 #if CONFIG_SWF_MUXER
509 509
 AVOutputFormat ff_swf_muxer = {
510
-    "swf",
511
-    NULL_IF_CONFIG_SMALL("Flash format"),
512
-    "application/x-shockwave-flash",
513
-    "swf",
514
-    sizeof(SWFContext),
515
-    CODEC_ID_MP3,
516
-    CODEC_ID_FLV1,
517
-    swf_write_header,
518
-    swf_write_packet,
519
-    swf_write_trailer,
510
+    .name              = "swf",
511
+    .long_name         = NULL_IF_CONFIG_SMALL("Flash format"),
512
+    .mime_type         = "application/x-shockwave-flash",
513
+    .extensions        = "swf",
514
+    .priv_data_size    = sizeof(SWFContext),
515
+    .audio_codec       = CODEC_ID_MP3,
516
+    .video_codec       = CODEC_ID_FLV1,
517
+    .write_header      = swf_write_header,
518
+    .write_packet      = swf_write_packet,
519
+    .write_trailer     = swf_write_trailer,
520 520
 };
521 521
 #endif
522 522
 #if CONFIG_AVM2_MUXER
523 523
 AVOutputFormat ff_avm2_muxer = {
524
-    "avm2",
525
-    NULL_IF_CONFIG_SMALL("Flash 9 (AVM2) format"),
526
-    "application/x-shockwave-flash",
527
-    NULL,
528
-    sizeof(SWFContext),
529
-    CODEC_ID_MP3,
530
-    CODEC_ID_FLV1,
531
-    swf_write_header,
532
-    swf_write_packet,
533
-    swf_write_trailer,
524
+    .name              = "avm2",
525
+    .long_name         = NULL_IF_CONFIG_SMALL("Flash 9 (AVM2) format"),
526
+    .mime_type         = "application/x-shockwave-flash",
527
+    .priv_data_size    = sizeof(SWFContext),
528
+    .audio_codec       = CODEC_ID_MP3,
529
+    .video_codec       = CODEC_ID_FLV1,
530
+    .write_header      = swf_write_header,
531
+    .write_packet      = swf_write_packet,
532
+    .write_trailer     = swf_write_trailer,
534 533
 };
535 534
 #endif
... ...
@@ -189,10 +189,10 @@ static int thp_read_packet(AVFormatContext *s,
189 189
 }
190 190
 
191 191
 AVInputFormat ff_thp_demuxer = {
192
-    "thp",
193
-    NULL_IF_CONFIG_SMALL("THP"),
194
-    sizeof(ThpDemuxContext),
195
-    thp_probe,
196
-    thp_read_header,
197
-    thp_read_packet
192
+    .name           = "thp",
193
+    .long_name      = NULL_IF_CONFIG_SMALL("THP"),
194
+    .priv_data_size = sizeof(ThpDemuxContext),
195
+    .read_probe     = thp_probe,
196
+    .read_header    = thp_read_header,
197
+    .read_packet    = thp_read_packet
198 198
 };
... ...
@@ -303,11 +303,11 @@ static int seq_read_close(AVFormatContext *s)
303 303
 }
304 304
 
305 305
 AVInputFormat ff_tiertexseq_demuxer = {
306
-    "tiertexseq",
307
-    NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ format"),
308
-    sizeof(SeqDemuxContext),
309
-    seq_probe,
310
-    seq_read_header,
311
-    seq_read_packet,
312
-    seq_read_close,
306
+    .name           = "tiertexseq",
307
+    .long_name      = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ format"),
308
+    .priv_data_size = sizeof(SeqDemuxContext),
309
+    .read_probe     = seq_probe,
310
+    .read_header    = seq_read_header,
311
+    .read_packet    = seq_read_packet,
312
+    .read_close     = seq_read_close,
313 313
 };
... ...
@@ -179,13 +179,12 @@ static int tmv_read_seek(AVFormatContext *s, int stream_index,
179 179
 }
180 180
 
181 181
 AVInputFormat ff_tmv_demuxer = {
182
-    "tmv",
183
-    NULL_IF_CONFIG_SMALL("8088flex TMV"),
184
-    sizeof(TMVContext),
185
-    tmv_probe,
186
-    tmv_read_header,
187
-    tmv_read_packet,
188
-    NULL,
189
-    tmv_read_seek,
182
+    .name           = "tmv",
183
+    .long_name      = NULL_IF_CONFIG_SMALL("8088flex TMV"),
184
+    .priv_data_size = sizeof(TMVContext),
185
+    .read_probe     = tmv_probe,
186
+    .read_header    = tmv_read_header,
187
+    .read_packet    = tmv_read_packet,
188
+    .read_seek      = tmv_read_seek,
190 189
     .flags = AVFMT_GENERIC_INDEX,
191 190
 };
... ...
@@ -145,13 +145,12 @@ static int tta_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
145 145
 }
146 146
 
147 147
 AVInputFormat ff_tta_demuxer = {
148
-    "tta",
149
-    NULL_IF_CONFIG_SMALL("True Audio"),
150
-    sizeof(TTAContext),
151
-    tta_probe,
152
-    tta_read_header,
153
-    tta_read_packet,
154
-    NULL,
155
-    tta_read_seek,
148
+    .name           = "tta",
149
+    .long_name      = NULL_IF_CONFIG_SMALL("True Audio"),
150
+    .priv_data_size = sizeof(TTAContext),
151
+    .read_probe     = tta_probe,
152
+    .read_header    = tta_read_header,
153
+    .read_packet    = tta_read_packet,
154
+    .read_seek      = tta_read_seek,
156 155
     .extensions = "tta",
157 156
 };
... ...
@@ -2082,30 +2082,30 @@ static void estimate_timings(AVFormatContext *ic, int64_t old_offset)
2082 2082
 #endif
2083 2083
 }
2084 2084
 
2085
-static int has_codec_parameters(AVCodecContext *enc)
2085
+static int has_codec_parameters(AVCodecContext *avctx)
2086 2086
 {
2087 2087
     int val;
2088
-    switch(enc->codec_type) {
2088
+    switch (avctx->codec_type) {
2089 2089
     case AVMEDIA_TYPE_AUDIO:
2090
-        val = enc->sample_rate && enc->channels && enc->sample_fmt != AV_SAMPLE_FMT_NONE;
2091
-        if(!enc->frame_size &&
2092
-           (enc->codec_id == CODEC_ID_VORBIS ||
2093
-            enc->codec_id == CODEC_ID_AAC ||
2094
-            enc->codec_id == CODEC_ID_MP1 ||
2095
-            enc->codec_id == CODEC_ID_MP2 ||
2096
-            enc->codec_id == CODEC_ID_MP3 ||
2097
-            enc->codec_id == CODEC_ID_SPEEX ||
2098
-            enc->codec_id == CODEC_ID_CELT))
2090
+        val = avctx->sample_rate && avctx->channels && avctx->sample_fmt != AV_SAMPLE_FMT_NONE;
2091
+        if(!avctx->frame_size &&
2092
+           (avctx->codec_id == CODEC_ID_VORBIS ||
2093
+            avctx->codec_id == CODEC_ID_AAC ||
2094
+            avctx->codec_id == CODEC_ID_MP1 ||
2095
+            avctx->codec_id == CODEC_ID_MP2 ||
2096
+            avctx->codec_id == CODEC_ID_MP3 ||
2097
+            avctx->codec_id == CODEC_ID_SPEEX ||
2098
+            avctx->codec_id == CODEC_ID_CELT))
2099 2099
             return 0;
2100 2100
         break;
2101 2101
     case AVMEDIA_TYPE_VIDEO:
2102
-        val = enc->width && enc->pix_fmt != PIX_FMT_NONE;
2102
+        val = avctx->width && avctx->pix_fmt != PIX_FMT_NONE;
2103 2103
         break;
2104 2104
     default:
2105 2105
         val = 1;
2106 2106
         break;
2107 2107
     }
2108
-    return enc->codec_id != CODEC_ID_NONE && val != 0;
2108
+    return avctx->codec_id != CODEC_ID_NONE && val != 0;
2109 2109
 }
2110 2110
 
2111 2111
 static int has_decode_delay_been_guessed(AVStream *st)
... ...
@@ -110,11 +110,10 @@ static int vc1t_read_packet(AVFormatContext *s,
110 110
 }
111 111
 
112 112
 AVInputFormat ff_vc1t_demuxer = {
113
-    "vc1test",
114
-    NULL_IF_CONFIG_SMALL("VC-1 test bitstream format"),
115
-    0,
116
-    vc1t_probe,
117
-    vc1t_read_header,
118
-    vc1t_read_packet,
113
+    .name           = "vc1test",
114
+    .long_name      = NULL_IF_CONFIG_SMALL("VC-1 test bitstream format"),
115
+    .read_probe     = vc1t_probe,
116
+    .read_header    = vc1t_read_header,
117
+    .read_packet    = vc1t_read_packet,
119 118
     .flags = AVFMT_GENERIC_INDEX,
120 119
 };
... ...
@@ -82,14 +82,14 @@ static int vc1test_write_trailer(AVFormatContext *s)
82 82
 }
83 83
 
84 84
 AVOutputFormat ff_vc1t_muxer = {
85
-    "rcv",
86
-    NULL_IF_CONFIG_SMALL("VC-1 test bitstream"),
87
-    "",
88
-    "rcv",
89
-    sizeof(RCVContext),
90
-    CODEC_ID_NONE,
91
-    CODEC_ID_WMV3,
92
-    vc1test_write_header,
93
-    vc1test_write_packet,
94
-    vc1test_write_trailer,
85
+    .name              = "rcv",
86
+    .long_name         = NULL_IF_CONFIG_SMALL("VC-1 test bitstream"),
87
+    .mime_type         = "",
88
+    .extensions        = "rcv",
89
+    .priv_data_size    = sizeof(RCVContext),
90
+    .audio_codec       = CODEC_ID_NONE,
91
+    .video_codec       = CODEC_ID_WMV3,
92
+    .write_header      = vc1test_write_header,
93
+    .write_packet      = vc1test_write_packet,
94
+    .write_trailer     = vc1test_write_trailer,
95 95
 };
... ...
@@ -157,11 +157,11 @@ static int voc_read_packet(AVFormatContext *s, AVPacket *pkt)
157 157
 }
158 158
 
159 159
 AVInputFormat ff_voc_demuxer = {
160
-    "voc",
161
-    NULL_IF_CONFIG_SMALL("Creative Voice file format"),
162
-    sizeof(VocDecContext),
163
-    voc_probe,
164
-    voc_read_header,
165
-    voc_read_packet,
160
+    .name           = "voc",
161
+    .long_name      = NULL_IF_CONFIG_SMALL("Creative Voice file format"),
162
+    .priv_data_size = sizeof(VocDecContext),
163
+    .read_probe     = voc_probe,
164
+    .read_header    = voc_read_header,
165
+    .read_packet    = voc_read_packet,
166 166
     .codec_tag=(const AVCodecTag* const []){ff_voc_codec_tags, 0},
167 167
 };
... ...
@@ -90,15 +90,15 @@ static int voc_write_trailer(AVFormatContext *s)
90 90
 }
91 91
 
92 92
 AVOutputFormat ff_voc_muxer = {
93
-    "voc",
94
-    NULL_IF_CONFIG_SMALL("Creative Voice file format"),
95
-    "audio/x-voc",
96
-    "voc",
97
-    sizeof(VocEncContext),
98
-    CODEC_ID_PCM_U8,
99
-    CODEC_ID_NONE,
100
-    voc_write_header,
101
-    voc_write_packet,
102
-    voc_write_trailer,
93
+    .name              = "voc",
94
+    .long_name         = NULL_IF_CONFIG_SMALL("Creative Voice file format"),
95
+    .mime_type         = "audio/x-voc",
96
+    .extensions        = "voc",
97
+    .priv_data_size    = sizeof(VocEncContext),
98
+    .audio_codec       = CODEC_ID_PCM_U8,
99
+    .video_codec       = CODEC_ID_NONE,
100
+    .write_header      = voc_write_header,
101
+    .write_packet      = voc_write_packet,
102
+    .write_trailer     = voc_write_trailer,
103 103
     .codec_tag=(const AVCodecTag* const []){ff_voc_codec_tags, 0},
104 104
 };
... ...
@@ -250,13 +250,12 @@ static int vqf_read_seek(AVFormatContext *s,
250 250
 }
251 251
 
252 252
 AVInputFormat ff_vqf_demuxer = {
253
-    "vqf",
254
-    NULL_IF_CONFIG_SMALL("Nippon Telegraph and Telephone Corporation (NTT) TwinVQ"),
255
-    sizeof(VqfContext),
256
-    vqf_probe,
257
-    vqf_read_header,
258
-    vqf_read_packet,
259
-    NULL,
260
-    vqf_read_seek,
253
+    .name           = "vqf",
254
+    .long_name      = NULL_IF_CONFIG_SMALL("Nippon Telegraph and Telephone Corporation (NTT) TwinVQ"),
255
+    .priv_data_size = sizeof(VqfContext),
256
+    .read_probe     = vqf_probe,
257
+    .read_header    = vqf_read_header,
258
+    .read_packet    = vqf_read_packet,
259
+    .read_seek      = vqf_read_seek,
261 260
     .extensions = "vqf",
262 261
 };
... ...
@@ -206,16 +206,16 @@ static const AVClass wav_muxer_class = {
206 206
 };
207 207
 
208 208
 AVOutputFormat ff_wav_muxer = {
209
-    "wav",
210
-    NULL_IF_CONFIG_SMALL("WAV format"),
211
-    "audio/x-wav",
212
-    "wav",
213
-    sizeof(WAVContext),
214
-    CODEC_ID_PCM_S16LE,
215
-    CODEC_ID_NONE,
216
-    wav_write_header,
217
-    wav_write_packet,
218
-    wav_write_trailer,
209
+    .name              = "wav",
210
+    .long_name         = NULL_IF_CONFIG_SMALL("WAV format"),
211
+    .mime_type         = "audio/x-wav",
212
+    .extensions        = "wav",
213
+    .priv_data_size    = sizeof(WAVContext),
214
+    .audio_codec       = CODEC_ID_PCM_S16LE,
215
+    .video_codec       = CODEC_ID_NONE,
216
+    .write_header      = wav_write_header,
217
+    .write_packet      = wav_write_packet,
218
+    .write_trailer     = wav_write_trailer,
219 219
     .codec_tag= (const AVCodecTag* const []){ff_codec_wav_tags, 0},
220 220
     .priv_class = &wav_muxer_class,
221 221
 };
... ...
@@ -363,7 +363,7 @@ static int wav_parse_bext_tag(AVFormatContext *s, int64_t size)
363 363
 
364 364
         coding_history[size] = 0;
365 365
         if ((ret = av_dict_set(&s->metadata, "coding_history", coding_history,
366
-                               AV_METADATA_DONT_STRDUP_VAL)) < 0)
366
+                               AV_DICT_DONT_STRDUP_VAL)) < 0)
367 367
             return ret;
368 368
     }
369 369
 
... ...
@@ -575,14 +575,13 @@ static int wav_read_seek(AVFormatContext *s,
575 575
 }
576 576
 
577 577
 AVInputFormat ff_wav_demuxer = {
578
-    "wav",
579
-    NULL_IF_CONFIG_SMALL("WAV format"),
580
-    sizeof(WAVContext),
581
-    wav_probe,
582
-    wav_read_header,
583
-    wav_read_packet,
584
-    NULL,
585
-    wav_read_seek,
578
+    .name           = "wav",
579
+    .long_name      = NULL_IF_CONFIG_SMALL("WAV format"),
580
+    .priv_data_size = sizeof(WAVContext),
581
+    .read_probe     = wav_probe,
582
+    .read_header    = wav_read_header,
583
+    .read_packet    = wav_read_packet,
584
+    .read_seek      = wav_read_seek,
586 585
     .flags= AVFMT_GENERIC_INDEX,
587 586
     .codec_tag= (const AVCodecTag* const []){ff_codec_wav_tags, 0},
588 587
 };
... ...
@@ -664,14 +663,13 @@ static int w64_read_header(AVFormatContext *s, AVFormatParameters *ap)
664 664
 }
665 665
 
666 666
 AVInputFormat ff_w64_demuxer = {
667
-    "w64",
668
-    NULL_IF_CONFIG_SMALL("Sony Wave64 format"),
669
-    sizeof(WAVContext),
670
-    w64_probe,
671
-    w64_read_header,
672
-    wav_read_packet,
673
-    NULL,
674
-    wav_read_seek,
667
+    .name           = "w64",
668
+    .long_name      = NULL_IF_CONFIG_SMALL("Sony Wave64 format"),
669
+    .priv_data_size = sizeof(WAVContext),
670
+    .read_probe     = w64_probe,
671
+    .read_header    = w64_read_header,
672
+    .read_packet    = wav_read_packet,
673
+    .read_seek      = wav_read_seek,
675 674
     .flags = AVFMT_GENERIC_INDEX,
676 675
     .codec_tag = (const AVCodecTag* const []){ff_codec_wav_tags, 0},
677 676
 };
... ...
@@ -292,11 +292,11 @@ static int wc3_read_close(AVFormatContext *s)
292 292
 }
293 293
 
294 294
 AVInputFormat ff_wc3_demuxer = {
295
-    "wc3movie",
296
-    NULL_IF_CONFIG_SMALL("Wing Commander III movie format"),
297
-    sizeof(Wc3DemuxContext),
298
-    wc3_probe,
299
-    wc3_read_header,
300
-    wc3_read_packet,
301
-    wc3_read_close,
295
+    .name           = "wc3movie",
296
+    .long_name      = NULL_IF_CONFIG_SMALL("Wing Commander III movie format"),
297
+    .priv_data_size = sizeof(Wc3DemuxContext),
298
+    .read_probe     = wc3_probe,
299
+    .read_header    = wc3_read_header,
300
+    .read_packet    = wc3_read_packet,
301
+    .read_close     = wc3_read_close,
302 302
 };
... ...
@@ -368,21 +368,21 @@ static int wsvqa_read_packet(AVFormatContext *s,
368 368
 
369 369
 #if CONFIG_WSAUD_DEMUXER
370 370
 AVInputFormat ff_wsaud_demuxer = {
371
-    "wsaud",
372
-    NULL_IF_CONFIG_SMALL("Westwood Studios audio format"),
373
-    sizeof(WsAudDemuxContext),
374
-    wsaud_probe,
375
-    wsaud_read_header,
376
-    wsaud_read_packet,
371
+    .name           = "wsaud",
372
+    .long_name      = NULL_IF_CONFIG_SMALL("Westwood Studios audio format"),
373
+    .priv_data_size = sizeof(WsAudDemuxContext),
374
+    .read_probe     = wsaud_probe,
375
+    .read_header    = wsaud_read_header,
376
+    .read_packet    = wsaud_read_packet,
377 377
 };
378 378
 #endif
379 379
 #if CONFIG_WSVQA_DEMUXER
380 380
 AVInputFormat ff_wsvqa_demuxer = {
381
-    "wsvqa",
382
-    NULL_IF_CONFIG_SMALL("Westwood Studios VQA format"),
383
-    sizeof(WsVqaDemuxContext),
384
-    wsvqa_probe,
385
-    wsvqa_read_header,
386
-    wsvqa_read_packet,
381
+    .name           = "wsvqa",
382
+    .long_name      = NULL_IF_CONFIG_SMALL("Westwood Studios VQA format"),
383
+    .priv_data_size = sizeof(WsVqaDemuxContext),
384
+    .read_probe     = wsvqa_probe,
385
+    .read_header    = wsvqa_read_header,
386
+    .read_packet    = wsvqa_read_packet,
387 387
 };
388 388
 #endif
... ...
@@ -351,12 +351,11 @@ static int wv_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp,
351 351
 }
352 352
 
353 353
 AVInputFormat ff_wv_demuxer = {
354
-    "wv",
355
-    NULL_IF_CONFIG_SMALL("WavPack"),
356
-    sizeof(WVContext),
357
-    wv_probe,
358
-    wv_read_header,
359
-    wv_read_packet,
360
-    NULL,
361
-    wv_read_seek,
354
+    .name           = "wv",
355
+    .long_name      = NULL_IF_CONFIG_SMALL("WavPack"),
356
+    .priv_data_size = sizeof(WVContext),
357
+    .read_probe     = wv_probe,
358
+    .read_header    = wv_read_header,
359
+    .read_packet    = wv_read_packet,
360
+    .read_seek      = wv_read_seek,
362 361
 };
... ...
@@ -119,10 +119,10 @@ static int xa_read_packet(AVFormatContext *s,
119 119
 }
120 120
 
121 121
 AVInputFormat ff_xa_demuxer = {
122
-    "xa",
123
-    NULL_IF_CONFIG_SMALL("Maxis XA File Format"),
124
-    sizeof(MaxisXADemuxContext),
125
-    xa_probe,
126
-    xa_read_header,
127
-    xa_read_packet,
122
+    .name           = "xa",
123
+    .long_name      = NULL_IF_CONFIG_SMALL("Maxis XA File Format"),
124
+    .priv_data_size = sizeof(MaxisXADemuxContext),
125
+    .read_probe     = xa_probe,
126
+    .read_header    = xa_read_header,
127
+    .read_packet    = xa_read_packet,
128 128
 };
... ...
@@ -252,10 +252,10 @@ static int xwma_read_packet(AVFormatContext *s, AVPacket *pkt)
252 252
 }
253 253
 
254 254
 AVInputFormat ff_xwma_demuxer = {
255
-    "xwma",
256
-    NULL_IF_CONFIG_SMALL("Microsoft xWMA"),
257
-    sizeof(XWMAContext),
258
-    xwma_probe,
259
-    xwma_read_header,
260
-    xwma_read_packet,
255
+    .name           = "xwma",
256
+    .long_name      = NULL_IF_CONFIG_SMALL("Microsoft xWMA"),
257
+    .priv_data_size = sizeof(XWMAContext),
258
+    .read_probe     = xwma_probe,
259
+    .read_header    = xwma_read_header,
260
+    .read_packet    = xwma_read_packet,
261 261
 };
... ...
@@ -202,14 +202,14 @@ static int yop_read_seek(AVFormatContext *s, int stream_index,
202 202
 }
203 203
 
204 204
 AVInputFormat ff_yop_demuxer = {
205
-    "yop",
206
-    NULL_IF_CONFIG_SMALL("Psygnosis YOP Format"),
207
-    sizeof(YopDecContext),
208
-    yop_probe,
209
-    yop_read_header,
210
-    yop_read_packet,
211
-    yop_read_close,
212
-    yop_read_seek,
205
+    .name           = "yop",
206
+    .long_name      = NULL_IF_CONFIG_SMALL("Psygnosis YOP Format"),
207
+    .priv_data_size = sizeof(YopDecContext),
208
+    .read_probe     = yop_probe,
209
+    .read_header    = yop_read_header,
210
+    .read_packet    = yop_read_packet,
211
+    .read_close     = yop_read_close,
212
+    .read_seek      = yop_read_seek,
213 213
     .extensions = "yop",
214 214
     .flags = AVFMT_GENERIC_INDEX,
215 215
 };
... ...
@@ -176,15 +176,15 @@ static int yuv4_write_header(AVFormatContext *s)
176 176
 }
177 177
 
178 178
 AVOutputFormat ff_yuv4mpegpipe_muxer = {
179
-    "yuv4mpegpipe",
180
-    NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
181
-    "",
182
-    "y4m",
183
-    sizeof(int),
184
-    CODEC_ID_NONE,
185
-    CODEC_ID_RAWVIDEO,
186
-    yuv4_write_header,
187
-    yuv4_write_packet,
179
+    .name              = "yuv4mpegpipe",
180
+    .long_name         = NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
181
+    .mime_type         = "",
182
+    .extensions        = "y4m",
183
+    .priv_data_size    = sizeof(int),
184
+    .audio_codec       = CODEC_ID_NONE,
185
+    .video_codec       = CODEC_ID_RAWVIDEO,
186
+    .write_header      = yuv4_write_header,
187
+    .write_packet      = yuv4_write_packet,
188 188
     .flags = AVFMT_RAWPICTURE,
189 189
 };
190 190
 #endif
... ...
@@ -397,12 +397,12 @@ static int yuv4_probe(AVProbeData *pd)
397 397
 
398 398
 #if CONFIG_YUV4MPEGPIPE_DEMUXER
399 399
 AVInputFormat ff_yuv4mpegpipe_demuxer = {
400
-    "yuv4mpegpipe",
401
-    NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
402
-    sizeof(struct frame_attributes),
403
-    yuv4_probe,
404
-    yuv4_read_header,
405
-    yuv4_read_packet,
400
+    .name           = "yuv4mpegpipe",
401
+    .long_name      = NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
402
+    .priv_data_size = sizeof(struct frame_attributes),
403
+    .read_probe     = yuv4_probe,
404
+    .read_header    = yuv4_read_header,
405
+    .read_packet    = yuv4_read_packet,
406 406
     .extensions = "y4m"
407 407
 };
408 408
 #endif
... ...
@@ -39,7 +39,7 @@ static const uint8_t IP_shuffle[] = {
39 39
 };
40 40
 #undef T
41 41
 
42
-#if defined(CONFIG_SMALL) || defined(GENTABLES)
42
+#if CONFIG_SMALL || defined(GENTABLES)
43 43
 #define T(a, b, c, d) 32-a,32-b,32-c,32-d
44 44
 static const uint8_t P_shuffle[] = {
45 45
     T(16,  7, 20, 21),
... ...
@@ -64,6 +64,9 @@ fi
64 64
 
65 65
 if [ -n "$do_mxf" ] ; then
66 66
 do_lavf mxf "-ar 48000 -bf 2 -timecode_frame_start 264363"
67
+fi
68
+
69
+if [ -n "$do_mxf_d10" ]; then
67 70
 do_lavf mxf_d10 "-ar 48000 -ac 2 -r 25 -s 720x576 -vf pad=720:608:0:32 -vcodec mpeg2video -intra -flags +ildct+low_delay -dc 10 -flags2 +ivlc+non_linear_q -qscale 1 -ps 1 -qmin 1 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -pix_fmt yuv422p -minrate 30000k -maxrate 30000k -b 30000k -bufsize 1200000 -top 1 -rc_init_occupancy 1200000 -qmax 12 -f mxf_d10"
68 71
 fi
69 72
 
... ...
@@ -1,6 +1,3 @@
1 1
 785e38ddd2466046f30aa36399b8f8fa *./tests/data/lavf/lavf.mxf
2 2
 525881 ./tests/data/lavf/lavf.mxf
3
-./tests/data/lavf/lavf.mxf CRC=0x4ace0849
4
-b3174e2db508564c1cce0b5e3c1bc1bd *./tests/data/lavf/lavf.mxf_d10
5
-5330989 ./tests/data/lavf/lavf.mxf_d10
6
-./tests/data/lavf/lavf.mxf_d10 CRC=0xc3f4f92e
3
+./tests/data/lavf/lavf.mxf CRC=0x4ace0849
7 4
\ No newline at end of file
8 5
new file mode 100644
... ...
@@ -0,0 +1,3 @@
0
+b3174e2db508564c1cce0b5e3c1bc1bd *./tests/data/lavf/lavf.mxf_d10
1
+5330989 ./tests/data/lavf/lavf.mxf_d10
2
+./tests/data/lavf/lavf.mxf_d10 CRC=0xc3f4f92e