Browse code

lavf: use designated initialisers for all (de)muxers.

It's more readable and less prone to breakage.

Anton Khirnov authored on 2011/07/17 05:18:12
Showing 132 changed files
... ...
@@ -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
 };
... ...
@@ -313,13 +313,12 @@ static int aiff_read_packet(AVFormatContext *s,
313 313
 }
314 314
 
315 315
 AVInputFormat ff_aiff_demuxer = {
316
-    "aiff",
317
-    NULL_IF_CONFIG_SMALL("Audio IFF"),
318
-    sizeof(AIFFInputContext),
319
-    aiff_probe,
320
-    aiff_read_header,
321
-    aiff_read_packet,
322
-    NULL,
323
-    pcm_read_seek,
316
+    .name           = "aiff",
317
+    .long_name      = NULL_IF_CONFIG_SMALL("Audio IFF"),
318
+    .priv_data_size = sizeof(AIFFInputContext),
319
+    .read_probe     = aiff_probe,
320
+    .read_header    = aiff_read_header,
321
+    .read_packet    = aiff_read_packet,
322
+    .read_seek      = pcm_read_seek,
324 323
     .codec_tag= (const AVCodecTag* const []){ff_codec_aiff_tags, 0},
325 324
 };
... ...
@@ -148,15 +148,15 @@ static int aiff_write_trailer(AVFormatContext *s)
148 148
 }
149 149
 
150 150
 AVOutputFormat ff_aiff_muxer = {
151
-    "aiff",
152
-    NULL_IF_CONFIG_SMALL("Audio IFF"),
153
-    "audio/aiff",
154
-    "aif,aiff,afc,aifc",
155
-    sizeof(AIFFOutputContext),
156
-    CODEC_ID_PCM_S16BE,
157
-    CODEC_ID_NONE,
158
-    aiff_write_header,
159
-    aiff_write_packet,
160
-    aiff_write_trailer,
151
+    .name              = "aiff",
152
+    .long_name         = NULL_IF_CONFIG_SMALL("Audio IFF"),
153
+    .mime_type         = "audio/aiff",
154
+    .extensions        = "aif,aiff,afc,aifc",
155
+    .priv_data_size    = sizeof(AIFFOutputContext),
156
+    .audio_codec       = CODEC_ID_PCM_S16BE,
157
+    .video_codec       = CODEC_ID_NONE,
158
+    .write_header      = aiff_write_header,
159
+    .write_packet      = aiff_write_packet,
160
+    .write_trailer     = aiff_write_trailer,
161 161
     .codec_tag= (const AVCodecTag* const []){ff_codec_aiff_tags, 0},
162 162
 };
... ...
@@ -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
 };
... ...
@@ -1289,14 +1289,14 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int
1289 1289
 }
1290 1290
 
1291 1291
 AVInputFormat ff_asf_demuxer = {
1292
-    "asf",
1293
-    NULL_IF_CONFIG_SMALL("ASF format"),
1294
-    sizeof(ASFContext),
1295
-    asf_probe,
1296
-    asf_read_header,
1297
-    asf_read_packet,
1298
-    asf_read_close,
1299
-    asf_read_seek,
1300
-    asf_read_pts,
1292
+    .name           = "asf",
1293
+    .long_name      = NULL_IF_CONFIG_SMALL("ASF format"),
1294
+    .priv_data_size = sizeof(ASFContext),
1295
+    .read_probe     = asf_probe,
1296
+    .read_header    = asf_read_header,
1297
+    .read_packet    = asf_read_packet,
1298
+    .read_close     = asf_read_close,
1299
+    .read_seek      = asf_read_seek,
1300
+    .read_timestamp = asf_read_pts,
1301 1301
     .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
1302 1302
 };
... ...
@@ -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
... ...
@@ -1389,12 +1389,12 @@ static int avi_probe(AVProbeData *p)
1389 1389
 }
1390 1390
 
1391 1391
 AVInputFormat ff_avi_demuxer = {
1392
-    "avi",
1393
-    NULL_IF_CONFIG_SMALL("AVI format"),
1394
-    sizeof(AVIContext),
1395
-    avi_probe,
1396
-    avi_read_header,
1397
-    avi_read_packet,
1398
-    avi_read_close,
1399
-    avi_read_seek,
1392
+    .name           = "avi",
1393
+    .long_name      = NULL_IF_CONFIG_SMALL("AVI format"),
1394
+    .priv_data_size = sizeof(AVIContext),
1395
+    .read_probe     = avi_probe,
1396
+    .read_header    = avi_read_header,
1397
+    .read_packet    = avi_read_packet,
1398
+    .read_close     = avi_read_close,
1399
+    .read_seek      = avi_read_seek,
1400 1400
 };
... ...
@@ -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
 };
... ...
@@ -384,13 +384,12 @@ static int read_seek(AVFormatContext *s, int stream_index,
384 384
 }
385 385
 
386 386
 AVInputFormat ff_caf_demuxer = {
387
-    "caf",
388
-    NULL_IF_CONFIG_SMALL("Apple Core Audio Format"),
389
-    sizeof(CaffContext),
390
-    probe,
391
-    read_header,
392
-    read_packet,
393
-    NULL,
394
-    read_seek,
387
+    .name           = "caf",
388
+    .long_name      = NULL_IF_CONFIG_SMALL("Apple Core Audio Format"),
389
+    .priv_data_size = sizeof(CaffContext),
390
+    .read_probe     = probe,
391
+    .read_header    = read_header,
392
+    .read_packet    = read_packet,
393
+    .read_seek      = read_seek,
395 394
     .codec_tag = (const AVCodecTag*[]){ff_codec_caf_tags, 0},
396 395
 };
... ...
@@ -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,
... ...
@@ -520,14 +520,14 @@ static int dv_probe(AVProbeData *p)
520 520
 
521 521
 #if CONFIG_DV_DEMUXER
522 522
 AVInputFormat ff_dv_demuxer = {
523
-    "dv",
524
-    NULL_IF_CONFIG_SMALL("DV video format"),
525
-    sizeof(RawDVContext),
526
-    dv_probe,
527
-    dv_read_header,
528
-    dv_read_packet,
529
-    dv_read_close,
530
-    dv_read_seek,
523
+    .name           = "dv",
524
+    .long_name      = NULL_IF_CONFIG_SMALL("DV video format"),
525
+    .priv_data_size = sizeof(RawDVContext),
526
+    .read_probe     = dv_probe,
527
+    .read_header    = dv_read_header,
528
+    .read_packet    = dv_read_packet,
529
+    .read_close     = dv_read_close,
530
+    .read_seek      = dv_read_seek,
531 531
     .extensions = "dv,dif",
532 532
 };
533 533
 #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
 };
... ...
@@ -91,11 +91,11 @@ static int cdata_read_packet(AVFormatContext *s, AVPacket *pkt)
91 91
 }
92 92
 
93 93
 AVInputFormat ff_ea_cdata_demuxer = {
94
-    "ea_cdata",
95
-    NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
96
-    sizeof(CdataDemuxContext),
97
-    cdata_probe,
98
-    cdata_read_header,
99
-    cdata_read_packet,
94
+    .name           = "ea_cdata",
95
+    .long_name      = NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
96
+    .priv_data_size = sizeof(CdataDemuxContext),
97
+    .read_probe     = cdata_probe,
98
+    .read_header    = cdata_read_header,
99
+    .read_packet    = cdata_read_packet,
100 100
     .extensions = "cdata",
101 101
 };
... ...
@@ -569,10 +569,10 @@ get_video_packet:
569 569
 }
570 570
 
571 571
 AVInputFormat ff_ea_demuxer = {
572
-    "ea",
573
-    NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia Format"),
574
-    sizeof(EaDemuxContext),
575
-    ea_probe,
576
-    ea_read_header,
577
-    ea_read_packet,
572
+    .name           = "ea",
573
+    .long_name      = NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia Format"),
574
+    .priv_data_size = sizeof(EaDemuxContext),
575
+    .read_probe     = ea_probe,
576
+    .read_header    = ea_read_header,
577
+    .read_packet    = ea_read_packet,
578 578
 };
... ...
@@ -509,12 +509,12 @@ static int ffm_probe(AVProbeData *p)
509 509
 }
510 510
 
511 511
 AVInputFormat ff_ffm_demuxer = {
512
-    "ffm",
513
-    NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
514
-    sizeof(FFMContext),
515
-    ffm_probe,
516
-    ffm_read_header,
517
-    ffm_read_packet,
518
-    ffm_close,
519
-    ffm_seek,
512
+    .name           = "ffm",
513
+    .long_name      = NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
514
+    .priv_data_size = sizeof(FFMContext),
515
+    .read_probe     = ffm_probe,
516
+    .read_header    = ffm_read_header,
517
+    .read_packet    = ffm_read_packet,
518
+    .read_close     = ffm_close,
519
+    .read_seek      = ffm_seek,
520 520
 };
... ...
@@ -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
 };
... ...
@@ -572,12 +572,12 @@ static int flv_read_seek2(AVFormatContext *s, int stream_index,
572 572
 #endif
573 573
 
574 574
 AVInputFormat ff_flv_demuxer = {
575
-    "flv",
576
-    NULL_IF_CONFIG_SMALL("FLV format"),
577
-    sizeof(FLVContext),
578
-    flv_probe,
579
-    flv_read_header,
580
-    flv_read_packet,
575
+    .name           = "flv",
576
+    .long_name      = NULL_IF_CONFIG_SMALL("FLV format"),
577
+    .priv_data_size = sizeof(FLVContext),
578
+    .read_probe     = flv_probe,
579
+    .read_header    = flv_read_header,
580
+    .read_packet    = flv_read_packet,
581 581
     .read_seek = flv_read_seek,
582 582
 #if 0
583 583
     .read_seek2 = flv_read_seek2,
... ...
@@ -441,20 +441,20 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
441 441
 }
442 442
 
443 443
 AVOutputFormat ff_flv_muxer = {
444
-    "flv",
445
-    NULL_IF_CONFIG_SMALL("FLV format"),
446
-    "video/x-flv",
447
-    "flv",
448
-    sizeof(FLVContext),
444
+    .name           = "flv",
445
+    .long_name      = NULL_IF_CONFIG_SMALL("FLV format"),
446
+    .mime_type      = "video/x-flv",
447
+    .extensions     = "flv",
448
+    .priv_data_size = sizeof(FLVContext),
449 449
 #if CONFIG_LIBMP3LAME
450
-    CODEC_ID_MP3,
450
+    .audio_codec    = CODEC_ID_MP3,
451 451
 #else // CONFIG_LIBMP3LAME
452
-    CODEC_ID_ADPCM_SWF,
452
+    .audio_codec    = CODEC_ID_ADPCM_SWF,
453 453
 #endif // CONFIG_LIBMP3LAME
454
-    CODEC_ID_FLV1,
455
-    flv_write_header,
456
-    flv_write_packet,
457
-    flv_write_trailer,
454
+    .video_codec    = CODEC_ID_FLV1,
455
+    .write_header   = flv_write_header,
456
+    .write_packet   = flv_write_packet,
457
+    .write_trailer  = flv_write_trailer,
458 458
     .codec_tag= (const AVCodecTag* const []){flv_video_codec_ids, flv_audio_codec_ids, 0},
459 459
     .flags= AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
460 460
 };
... ...
@@ -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
 };
... ...
@@ -316,10 +316,10 @@ static int iff_read_packet(AVFormatContext *s,
316 316
 }
317 317
 
318 318
 AVInputFormat ff_iff_demuxer = {
319
-    "IFF",
320
-    NULL_IF_CONFIG_SMALL("IFF format"),
321
-    sizeof(IffDemuxContext),
322
-    iff_probe,
323
-    iff_read_header,
324
-    iff_read_packet,
319
+    .name           = "IFF",
320
+    .long_name      = NULL_IF_CONFIG_SMALL("IFF format"),
321
+    .priv_data_size = sizeof(IffDemuxContext),
322
+    .read_probe     = iff_probe,
323
+    .read_header    = iff_read_header,
324
+    .read_packet    = iff_read_packet,
325 325
 };
... ...
@@ -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
 };
... ...
@@ -1999,12 +1999,12 @@ static int matroska_read_close(AVFormatContext *s)
1999 1999
 }
2000 2000
 
2001 2001
 AVInputFormat ff_matroska_demuxer = {
2002
-    "matroska,webm",
2003
-    NULL_IF_CONFIG_SMALL("Matroska/WebM file format"),
2004
-    sizeof(MatroskaDemuxContext),
2005
-    matroska_probe,
2006
-    matroska_read_header,
2007
-    matroska_read_packet,
2008
-    matroska_read_close,
2009
-    matroska_read_seek,
2002
+    .name           = "matroska,webm",
2003
+    .long_name      = NULL_IF_CONFIG_SMALL("Matroska/WebM file format"),
2004
+    .priv_data_size = sizeof(MatroskaDemuxContext),
2005
+    .read_probe     = matroska_probe,
2006
+    .read_header    = matroska_read_header,
2007
+    .read_packet    = matroska_read_packet,
2008
+    .read_close     = matroska_read_close,
2009
+    .read_seek      = matroska_read_seek,
2010 2010
 };
... ...
@@ -1193,16 +1193,16 @@ static int mkv_write_trailer(AVFormatContext *s)
1193 1193
 
1194 1194
 #if CONFIG_MATROSKA_MUXER
1195 1195
 AVOutputFormat ff_matroska_muxer = {
1196
-    "matroska",
1197
-    NULL_IF_CONFIG_SMALL("Matroska file format"),
1198
-    "video/x-matroska",
1199
-    "mkv",
1200
-    sizeof(MatroskaMuxContext),
1201
-    CODEC_ID_MP2,
1202
-    CODEC_ID_MPEG4,
1203
-    mkv_write_header,
1204
-    mkv_write_packet,
1205
-    mkv_write_trailer,
1196
+    .name              = "matroska",
1197
+    .long_name         = NULL_IF_CONFIG_SMALL("Matroska file format"),
1198
+    .mime_type         = "video/x-matroska",
1199
+    .extensions        = "mkv",
1200
+    .priv_data_size    = sizeof(MatroskaMuxContext),
1201
+    .audio_codec       = CODEC_ID_MP2,
1202
+    .video_codec       = CODEC_ID_MPEG4,
1203
+    .write_header      = mkv_write_header,
1204
+    .write_packet      = mkv_write_packet,
1205
+    .write_trailer     = mkv_write_trailer,
1206 1206
     .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
1207 1207
     .codec_tag = (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
1208 1208
     .subtitle_codec = CODEC_ID_SSA,
... ...
@@ -1211,32 +1211,32 @@ AVOutputFormat ff_matroska_muxer = {
1211 1211
 
1212 1212
 #if CONFIG_WEBM_MUXER
1213 1213
 AVOutputFormat ff_webm_muxer = {
1214
-    "webm",
1215
-    NULL_IF_CONFIG_SMALL("WebM file format"),
1216
-    "video/webm",
1217
-    "webm",
1218
-    sizeof(MatroskaMuxContext),
1219
-    CODEC_ID_VORBIS,
1220
-    CODEC_ID_VP8,
1221
-    mkv_write_header,
1222
-    mkv_write_packet,
1223
-    mkv_write_trailer,
1214
+    .name              = "webm",
1215
+    .long_name         = NULL_IF_CONFIG_SMALL("WebM file format"),
1216
+    .mime_type         = "video/webm",
1217
+    .extensions        = "webm",
1218
+    .priv_data_size    = sizeof(MatroskaMuxContext),
1219
+    .audio_codec       = CODEC_ID_VORBIS,
1220
+    .video_codec       = CODEC_ID_VP8,
1221
+    .write_header      = mkv_write_header,
1222
+    .write_packet      = mkv_write_packet,
1223
+    .write_trailer     = mkv_write_trailer,
1224 1224
     .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
1225 1225
 };
1226 1226
 #endif
1227 1227
 
1228 1228
 #if CONFIG_MATROSKA_AUDIO_MUXER
1229 1229
 AVOutputFormat ff_matroska_audio_muxer = {
1230
-    "matroska",
1231
-    NULL_IF_CONFIG_SMALL("Matroska file format"),
1232
-    "audio/x-matroska",
1233
-    "mka",
1234
-    sizeof(MatroskaMuxContext),
1235
-    CODEC_ID_MP2,
1236
-    CODEC_ID_NONE,
1237
-    mkv_write_header,
1238
-    mkv_write_packet,
1239
-    mkv_write_trailer,
1230
+    .name              = "matroska",
1231
+    .long_name         = NULL_IF_CONFIG_SMALL("Matroska file format"),
1232
+    .mime_type         = "audio/x-matroska",
1233
+    .extensions        = "mka",
1234
+    .priv_data_size    = sizeof(MatroskaMuxContext),
1235
+    .audio_codec       = CODEC_ID_MP2,
1236
+    .video_codec       = CODEC_ID_NONE,
1237
+    .write_header      = mkv_write_header,
1238
+    .write_packet      = mkv_write_packet,
1239
+    .write_trailer     = mkv_write_trailer,
1240 1240
     .flags = AVFMT_GLOBALHEADER,
1241 1241
     .codec_tag = (const AVCodecTag* const []){ff_codec_wav_tags, 0},
1242 1242
 };
... ...
@@ -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
... ...
@@ -2611,12 +2611,12 @@ static int mov_read_close(AVFormatContext *s)
2611 2611
 }
2612 2612
 
2613 2613
 AVInputFormat ff_mov_demuxer = {
2614
-    "mov,mp4,m4a,3gp,3g2,mj2",
2615
-    NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 format"),
2616
-    sizeof(MOVContext),
2617
-    mov_probe,
2618
-    mov_read_header,
2619
-    mov_read_packet,
2620
-    mov_read_close,
2621
-    mov_read_seek,
2614
+    .name           = "mov,mp4,m4a,3gp,3g2,mj2",
2615
+    .long_name      = NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 format"),
2616
+    .priv_data_size = sizeof(MOVContext),
2617
+    .read_probe     = mov_probe,
2618
+    .read_header    = mov_read_header,
2619
+    .read_packet    = mov_read_packet,
2620
+    .read_close     = mov_read_close,
2621
+    .read_seek      = mov_read_seek,
2622 2622
 };
... ...
@@ -2338,16 +2338,15 @@ static int mov_write_trailer(AVFormatContext *s)
2338 2338
 
2339 2339
 #if CONFIG_MOV_MUXER
2340 2340
 AVOutputFormat ff_mov_muxer = {
2341
-    "mov",
2342
-    NULL_IF_CONFIG_SMALL("MOV format"),
2343
-    NULL,
2344
-    "mov",
2345
-    sizeof(MOVMuxContext),
2346
-    CODEC_ID_AAC,
2347
-    CODEC_ID_MPEG4,
2348
-    mov_write_header,
2349
-    ff_mov_write_packet,
2350
-    mov_write_trailer,
2341
+    .name              = "mov",
2342
+    .long_name         = NULL_IF_CONFIG_SMALL("MOV format"),
2343
+    .extensions        = "mov",
2344
+    .priv_data_size    = sizeof(MOVMuxContext),
2345
+    .audio_codec       = CODEC_ID_AAC,
2346
+    .video_codec       = CODEC_ID_MPEG4,
2347
+    .write_header      = mov_write_header,
2348
+    .write_packet      = ff_mov_write_packet,
2349
+    .write_trailer     = mov_write_trailer,
2351 2350
     .flags = AVFMT_GLOBALHEADER,
2352 2351
     .codec_tag = (const AVCodecTag* const []){codec_movvideo_tags, codec_movaudio_tags, 0},
2353 2352
     .priv_class = &mov_muxer_class,
... ...
@@ -2355,16 +2354,15 @@ AVOutputFormat ff_mov_muxer = {
2355 2355
 #endif
2356 2356
 #if CONFIG_TGP_MUXER
2357 2357
 AVOutputFormat ff_tgp_muxer = {
2358
-    "3gp",
2359
-    NULL_IF_CONFIG_SMALL("3GP format"),
2360
-    NULL,
2361
-    "3gp",
2362
-    sizeof(MOVMuxContext),
2363
-    CODEC_ID_AMR_NB,
2364
-    CODEC_ID_H263,
2365
-    mov_write_header,
2366
-    ff_mov_write_packet,
2367
-    mov_write_trailer,
2358
+    .name              = "3gp",
2359
+    .long_name         = NULL_IF_CONFIG_SMALL("3GP format"),
2360
+    .extensions        = "3gp",
2361
+    .priv_data_size    = sizeof(MOVMuxContext),
2362
+    .audio_codec       = CODEC_ID_AMR_NB,
2363
+    .video_codec       = CODEC_ID_H263,
2364
+    .write_header      = mov_write_header,
2365
+    .write_packet      = ff_mov_write_packet,
2366
+    .write_trailer     = mov_write_trailer,
2368 2367
     .flags = AVFMT_GLOBALHEADER,
2369 2368
     .codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
2370 2369
     .priv_class = &mov_muxer_class,
... ...
@@ -2372,16 +2370,16 @@ AVOutputFormat ff_tgp_muxer = {
2372 2372
 #endif
2373 2373
 #if CONFIG_MP4_MUXER
2374 2374
 AVOutputFormat ff_mp4_muxer = {
2375
-    "mp4",
2376
-    NULL_IF_CONFIG_SMALL("MP4 format"),
2377
-    "application/mp4",
2378
-    "mp4",
2379
-    sizeof(MOVMuxContext),
2380
-    CODEC_ID_AAC,
2381
-    CODEC_ID_MPEG4,
2382
-    mov_write_header,
2383
-    ff_mov_write_packet,
2384
-    mov_write_trailer,
2375
+    .name              = "mp4",
2376
+    .long_name         = NULL_IF_CONFIG_SMALL("MP4 format"),
2377
+    .mime_type         = "application/mp4",
2378
+    .extensions        = "mp4",
2379
+    .priv_data_size    = sizeof(MOVMuxContext),
2380
+    .audio_codec       = CODEC_ID_AAC,
2381
+    .video_codec       = CODEC_ID_MPEG4,
2382
+    .write_header      = mov_write_header,
2383
+    .write_packet      = ff_mov_write_packet,
2384
+    .write_trailer     = mov_write_trailer,
2385 2385
     .flags = AVFMT_GLOBALHEADER,
2386 2386
     .codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
2387 2387
     .priv_class = &mov_muxer_class,
... ...
@@ -2389,16 +2387,15 @@ AVOutputFormat ff_mp4_muxer = {
2389 2389
 #endif
2390 2390
 #if CONFIG_PSP_MUXER
2391 2391
 AVOutputFormat ff_psp_muxer = {
2392
-    "psp",
2393
-    NULL_IF_CONFIG_SMALL("PSP MP4 format"),
2394
-    NULL,
2395
-    "mp4,psp",
2396
-    sizeof(MOVMuxContext),
2397
-    CODEC_ID_AAC,
2398
-    CODEC_ID_MPEG4,
2399
-    mov_write_header,
2400
-    ff_mov_write_packet,
2401
-    mov_write_trailer,
2392
+    .name              = "psp",
2393
+    .long_name         = NULL_IF_CONFIG_SMALL("PSP MP4 format"),
2394
+    .extensions        = "mp4,psp",
2395
+    .priv_data_size    = sizeof(MOVMuxContext),
2396
+    .audio_codec       = CODEC_ID_AAC,
2397
+    .video_codec       = CODEC_ID_MPEG4,
2398
+    .write_header      = mov_write_header,
2399
+    .write_packet      = ff_mov_write_packet,
2400
+    .write_trailer     = mov_write_trailer,
2402 2401
     .flags = AVFMT_GLOBALHEADER,
2403 2402
     .codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
2404 2403
     .priv_class = &mov_muxer_class,
... ...
@@ -2406,16 +2403,15 @@ AVOutputFormat ff_psp_muxer = {
2406 2406
 #endif
2407 2407
 #if CONFIG_TG2_MUXER
2408 2408
 AVOutputFormat ff_tg2_muxer = {
2409
-    "3g2",
2410
-    NULL_IF_CONFIG_SMALL("3GP2 format"),
2411
-    NULL,
2412
-    "3g2",
2413
-    sizeof(MOVMuxContext),
2414
-    CODEC_ID_AMR_NB,
2415
-    CODEC_ID_H263,
2416
-    mov_write_header,
2417
-    ff_mov_write_packet,
2418
-    mov_write_trailer,
2409
+    .name              = "3g2",
2410
+    .long_name         = NULL_IF_CONFIG_SMALL("3GP2 format"),
2411
+    .extensions        = "3g2",
2412
+    .priv_data_size    = sizeof(MOVMuxContext),
2413
+    .audio_codec       = CODEC_ID_AMR_NB,
2414
+    .video_codec       = CODEC_ID_H263,
2415
+    .write_header      = mov_write_header,
2416
+    .write_packet      = ff_mov_write_packet,
2417
+    .write_trailer     = mov_write_trailer,
2419 2418
     .flags = AVFMT_GLOBALHEADER,
2420 2419
     .codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
2421 2420
     .priv_class = &mov_muxer_class,
... ...
@@ -2423,16 +2419,16 @@ AVOutputFormat ff_tg2_muxer = {
2423 2423
 #endif
2424 2424
 #if CONFIG_IPOD_MUXER
2425 2425
 AVOutputFormat ff_ipod_muxer = {
2426
-    "ipod",
2427
-    NULL_IF_CONFIG_SMALL("iPod H.264 MP4 format"),
2428
-    "application/mp4",
2429
-    "m4v,m4a",
2430
-    sizeof(MOVMuxContext),
2431
-    CODEC_ID_AAC,
2432
-    CODEC_ID_H264,
2433
-    mov_write_header,
2434
-    ff_mov_write_packet,
2435
-    mov_write_trailer,
2426
+    .name              = "ipod",
2427
+    .long_name         = NULL_IF_CONFIG_SMALL("iPod H.264 MP4 format"),
2428
+    .mime_type         = "application/mp4",
2429
+    .extensions        = "m4v,m4a",
2430
+    .priv_data_size    = sizeof(MOVMuxContext),
2431
+    .audio_codec       = CODEC_ID_AAC,
2432
+    .video_codec       = CODEC_ID_H264,
2433
+    .write_header      = mov_write_header,
2434
+    .write_packet      = ff_mov_write_packet,
2435
+    .write_trailer     = mov_write_trailer,
2436 2436
     .flags = AVFMT_GLOBALHEADER,
2437 2437
     .codec_tag = (const AVCodecTag* const []){codec_ipod_tags, 0},
2438 2438
     .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
 };
... ...
@@ -162,16 +162,14 @@ static int mp3_write_trailer(struct AVFormatContext *s)
162 162
 
163 163
 #if CONFIG_MP2_MUXER
164 164
 AVOutputFormat ff_mp2_muxer = {
165
-    "mp2",
166
-    NULL_IF_CONFIG_SMALL("MPEG audio layer 2"),
167
-    "audio/x-mpeg",
168
-    "mp2,m2a",
169
-    0,
170
-    CODEC_ID_MP2,
171
-    CODEC_ID_NONE,
172
-    NULL,
173
-    ff_raw_write_packet,
174
-    mp3_write_trailer,
165
+    .name              = "mp2",
166
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG audio layer 2"),
167
+    .mime_type         = "audio/x-mpeg",
168
+    .extensions        = "mp2,m2a",
169
+    .audio_codec       = CODEC_ID_MP2,
170
+    .video_codec       = CODEC_ID_NONE,
171
+    .write_packet      = ff_raw_write_packet,
172
+    .write_trailer     = mp3_write_trailer,
175 173
 };
176 174
 #endif
177 175
 
... ...
@@ -306,17 +304,17 @@ static int mp3_write_header(struct AVFormatContext *s)
306 306
 }
307 307
 
308 308
 AVOutputFormat ff_mp3_muxer = {
309
-    "mp3",
310
-    NULL_IF_CONFIG_SMALL("MPEG audio layer 3"),
311
-    "audio/x-mpeg",
312
-    "mp3",
313
-    sizeof(MP3Context),
314
-    CODEC_ID_MP3,
315
-    CODEC_ID_NONE,
316
-    mp3_write_header,
317
-    ff_raw_write_packet,
318
-    mp3_write_trailer,
319
-    AVFMT_NOTIMESTAMPS,
309
+    .name              = "mp3",
310
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG audio layer 3"),
311
+    .mime_type         = "audio/x-mpeg",
312
+    .extensions        = "mp3",
313
+    .priv_data_size    = sizeof(MP3Context),
314
+    .audio_codec       = CODEC_ID_MP3,
315
+    .video_codec       = CODEC_ID_NONE,
316
+    .write_header      = mp3_write_header,
317
+    .write_packet      = ff_raw_write_packet,
318
+    .write_trailer     = mp3_write_trailer,
319
+    .flags             = AVFMT_NOTIMESTAMPS,
320 320
     .priv_class = &mp3_muxer_class,
321 321
 };
322 322
 #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
 };
... ...
@@ -603,14 +603,13 @@ static int64_t mpegps_read_dts(AVFormatContext *s, int stream_index,
603 603
 }
604 604
 
605 605
 AVInputFormat ff_mpegps_demuxer = {
606
-    "mpeg",
607
-    NULL_IF_CONFIG_SMALL("MPEG-PS format"),
608
-    sizeof(MpegDemuxContext),
609
-    mpegps_probe,
610
-    mpegps_read_header,
611
-    mpegps_read_packet,
612
-    NULL,
613
-    NULL, //mpegps_read_seek,
614
-    mpegps_read_dts,
606
+    .name           = "mpeg",
607
+    .long_name      = NULL_IF_CONFIG_SMALL("MPEG-PS format"),
608
+    .priv_data_size = sizeof(MpegDemuxContext),
609
+    .read_probe     = mpegps_probe,
610
+    .read_header    = mpegps_read_header,
611
+    .read_packet    = mpegps_read_packet,
612
+    .read_seek      = NULL, //mpegps_read_seek,
613
+    .read_timestamp = mpegps_read_dts,
615 614
     .flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
616 615
 };
... ...
@@ -1229,75 +1229,74 @@ static int mpeg_mux_end(AVFormatContext *ctx)
1229 1229
 
1230 1230
 #if CONFIG_MPEG1SYSTEM_MUXER
1231 1231
 AVOutputFormat ff_mpeg1system_muxer = {
1232
-    "mpeg",
1233
-    NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
1234
-    "video/mpeg",
1235
-    "mpg,mpeg",
1236
-    sizeof(MpegMuxContext),
1237
-    CODEC_ID_MP2,
1238
-    CODEC_ID_MPEG1VIDEO,
1239
-    mpeg_mux_init,
1240
-    mpeg_mux_write_packet,
1241
-    mpeg_mux_end,
1232
+    .name              = "mpeg",
1233
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
1234
+    .mime_type         = "video/mpeg",
1235
+    .extensions        = "mpg,mpeg",
1236
+    .priv_data_size    = sizeof(MpegMuxContext),
1237
+    .audio_codec       = CODEC_ID_MP2,
1238
+    .video_codec       = CODEC_ID_MPEG1VIDEO,
1239
+    .write_header      = mpeg_mux_init,
1240
+    .write_packet      = mpeg_mux_write_packet,
1241
+    .write_trailer     = mpeg_mux_end,
1242 1242
 };
1243 1243
 #endif
1244 1244
 #if CONFIG_MPEG1VCD_MUXER
1245 1245
 AVOutputFormat ff_mpeg1vcd_muxer = {
1246
-    "vcd",
1247
-    NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
1248
-    "video/mpeg",
1249
-    NULL,
1250
-    sizeof(MpegMuxContext),
1251
-    CODEC_ID_MP2,
1252
-    CODEC_ID_MPEG1VIDEO,
1253
-    mpeg_mux_init,
1254
-    mpeg_mux_write_packet,
1255
-    mpeg_mux_end,
1246
+    .name              = "vcd",
1247
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
1248
+    .mime_type         = "video/mpeg",
1249
+    .priv_data_size    = sizeof(MpegMuxContext),
1250
+    .audio_codec       = CODEC_ID_MP2,
1251
+    .video_codec       = CODEC_ID_MPEG1VIDEO,
1252
+    .write_header      = mpeg_mux_init,
1253
+    .write_packet      = mpeg_mux_write_packet,
1254
+    .write_trailer     = mpeg_mux_end,
1256 1255
 };
1257 1256
 #endif
1258 1257
 #if CONFIG_MPEG2VOB_MUXER
1259 1258
 AVOutputFormat ff_mpeg2vob_muxer = {
1260
-    "vob",
1261
-    NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1262
-    "video/mpeg",
1263
-    "vob",
1264
-    sizeof(MpegMuxContext),
1265
-    CODEC_ID_MP2,
1266
-    CODEC_ID_MPEG2VIDEO,
1267
-    mpeg_mux_init,
1268
-    mpeg_mux_write_packet,
1269
-    mpeg_mux_end,
1259
+    .name              = "vob",
1260
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1261
+    .mime_type         = "video/mpeg",
1262
+    .extensions        = "vob",
1263
+    .priv_data_size    = sizeof(MpegMuxContext),
1264
+    .audio_codec       = CODEC_ID_MP2,
1265
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
1266
+    .write_header      = mpeg_mux_init,
1267
+    .write_packet      = mpeg_mux_write_packet,
1268
+    .write_trailer     = mpeg_mux_end,
1270 1269
 };
1271 1270
 #endif
1272 1271
 
1273 1272
 /* Same as mpeg2vob_mux except that the pack size is 2324 */
1274 1273
 #if CONFIG_MPEG2SVCD_MUXER
1275 1274
 AVOutputFormat ff_mpeg2svcd_muxer = {
1276
-    "svcd",
1277
-    NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1278
-    "video/mpeg",
1279
-    "vob",
1280
-    sizeof(MpegMuxContext),
1281
-    CODEC_ID_MP2,
1282
-    CODEC_ID_MPEG2VIDEO,
1283
-    mpeg_mux_init,
1284
-    mpeg_mux_write_packet,
1285
-    mpeg_mux_end,
1275
+    .name              = "svcd",
1276
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1277
+    .mime_type         = "video/mpeg",
1278
+    .extensions        = "vob",
1279
+    .priv_data_size    = sizeof(MpegMuxContext),
1280
+    .audio_codec       = CODEC_ID_MP2,
1281
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
1282
+    .write_header      = mpeg_mux_init,
1283
+    .write_packet      = mpeg_mux_write_packet,
1284
+    .write_trailer     = mpeg_mux_end,
1286 1285
 };
1287 1286
 #endif
1288 1287
 
1289 1288
 /*  Same as mpeg2vob_mux except the 'is_dvd' flag is set to produce NAV pkts */
1290 1289
 #if CONFIG_MPEG2DVD_MUXER
1291 1290
 AVOutputFormat ff_mpeg2dvd_muxer = {
1292
-    "dvd",
1293
-    NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
1294
-    "video/mpeg",
1295
-    "dvd",
1296
-    sizeof(MpegMuxContext),
1297
-    CODEC_ID_MP2,
1298
-    CODEC_ID_MPEG2VIDEO,
1299
-    mpeg_mux_init,
1300
-    mpeg_mux_write_packet,
1301
-    mpeg_mux_end,
1291
+    .name              = "dvd",
1292
+    .long_name         = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
1293
+    .mime_type         = "video/mpeg",
1294
+    .extensions        = "dvd",
1295
+    .priv_data_size    = sizeof(MpegMuxContext),
1296
+    .audio_codec       = CODEC_ID_MP2,
1297
+    .video_codec       = CODEC_ID_MPEG2VIDEO,
1298
+    .write_header      = mpeg_mux_init,
1299
+    .write_packet      = mpeg_mux_write_packet,
1300
+    .write_trailer     = mpeg_mux_end,
1302 1301
 };
1303 1302
 #endif
... ...
@@ -1864,15 +1864,15 @@ void ff_mpegts_parse_close(MpegTSContext *ts)
1864 1864
 }
1865 1865
 
1866 1866
 AVInputFormat ff_mpegts_demuxer = {
1867
-    "mpegts",
1868
-    NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
1869
-    sizeof(MpegTSContext),
1870
-    mpegts_probe,
1871
-    mpegts_read_header,
1872
-    mpegts_read_packet,
1873
-    mpegts_read_close,
1874
-    read_seek,
1875
-    mpegts_get_pcr,
1867
+    .name           = "mpegts",
1868
+    .long_name      = NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
1869
+    .priv_data_size = sizeof(MpegTSContext),
1870
+    .read_probe     = mpegts_probe,
1871
+    .read_header    = mpegts_read_header,
1872
+    .read_packet    = mpegts_read_packet,
1873
+    .read_close     = mpegts_read_close,
1874
+    .read_seek      = read_seek,
1875
+    .read_timestamp = mpegts_get_pcr,
1876 1876
     .flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
1877 1877
 #ifdef USE_SYNCPOINT_SEARCH
1878 1878
     .read_seek2 = read_seek2,
... ...
@@ -1880,15 +1880,14 @@ AVInputFormat ff_mpegts_demuxer = {
1880 1880
 };
1881 1881
 
1882 1882
 AVInputFormat ff_mpegtsraw_demuxer = {
1883
-    "mpegtsraw",
1884
-    NULL_IF_CONFIG_SMALL("MPEG-2 raw transport stream format"),
1885
-    sizeof(MpegTSContext),
1886
-    NULL,
1887
-    mpegts_read_header,
1888
-    mpegts_raw_read_packet,
1889
-    mpegts_read_close,
1890
-    read_seek,
1891
-    mpegts_get_pcr,
1883
+    .name           = "mpegtsraw",
1884
+    .long_name      = NULL_IF_CONFIG_SMALL("MPEG-2 raw transport stream format"),
1885
+    .priv_data_size = sizeof(MpegTSContext),
1886
+    .read_header    = mpegts_read_header,
1887
+    .read_packet    = mpegts_raw_read_packet,
1888
+    .read_close     = mpegts_read_close,
1889
+    .read_seek      = read_seek,
1890
+    .read_timestamp = mpegts_get_pcr,
1892 1891
     .flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
1893 1892
 #ifdef USE_SYNCPOINT_SEARCH
1894 1893
     .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
 };
... ...
@@ -776,12 +776,12 @@ static int nsv_probe(AVProbeData *p)
776 776
 }
777 777
 
778 778
 AVInputFormat ff_nsv_demuxer = {
779
-    "nsv",
780
-    NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
781
-    sizeof(NSVContext),
782
-    nsv_probe,
783
-    nsv_read_header,
784
-    nsv_read_packet,
785
-    nsv_read_close,
786
-    nsv_read_seek,
779
+    .name           = "nsv",
780
+    .long_name      = NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
781
+    .priv_data_size = sizeof(NSVContext),
782
+    .read_probe     = nsv_probe,
783
+    .read_header    = nsv_read_header,
784
+    .read_packet    = nsv_read_packet,
785
+    .read_close     = nsv_read_close,
786
+    .read_seek      = nsv_read_seek,
787 787
 };
... ...
@@ -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
 };
... ...
@@ -861,22 +861,22 @@ static int write_trailer(AVFormatContext *s){
861 861
 }
862 862
 
863 863
 AVOutputFormat ff_nut_muxer = {
864
-    "nut",
865
-    NULL_IF_CONFIG_SMALL("NUT format"),
866
-    "video/x-nut",
867
-    "nut",
868
-    sizeof(NUTContext),
864
+    .name           = "nut",
865
+    .long_name      = NULL_IF_CONFIG_SMALL("NUT format"),
866
+    .mime_type      = "video/x-nut",
867
+    .extensions     = "nut",
868
+    .priv_data_size = sizeof(NUTContext),
869 869
 #if   CONFIG_LIBVORBIS
870
-    CODEC_ID_VORBIS,
870
+    .audio_codec    = CODEC_ID_VORBIS,
871 871
 #elif CONFIG_LIBMP3LAME
872
-    CODEC_ID_MP3,
872
+    .audio_codec    = CODEC_ID_MP3,
873 873
 #else
874
-    CODEC_ID_MP2,
874
+    .audio_codec    = CODEC_ID_MP2,
875 875
 #endif
876
-    CODEC_ID_MPEG4,
877
-    write_header,
878
-    write_packet,
879
-    write_trailer,
876
+    .video_codec    = CODEC_ID_MPEG4,
877
+    .write_header   = write_header,
878
+    .write_packet   = write_packet,
879
+    .write_trailer  = write_trailer,
880 880
     .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
881 881
     .codec_tag = (const AVCodecTag * const []){ ff_codec_bmp_tags, ff_nut_video_tags, ff_codec_wav_tags, ff_nut_subtitle_tags, 0 },
882 882
 };
... ...
@@ -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
 };
... ...
@@ -505,14 +505,14 @@ static int ogg_write_trailer(AVFormatContext *s)
505 505
 }
506 506
 
507 507
 AVOutputFormat ff_ogg_muxer = {
508
-    "ogg",
509
-    NULL_IF_CONFIG_SMALL("Ogg"),
510
-    "application/ogg",
511
-    "ogg,ogv,spx",
512
-    sizeof(OGGContext),
513
-    CODEC_ID_FLAC,
514
-    CODEC_ID_THEORA,
515
-    ogg_write_header,
516
-    ogg_write_packet,
517
-    ogg_write_trailer,
508
+    .name              = "ogg",
509
+    .long_name         = NULL_IF_CONFIG_SMALL("Ogg"),
510
+    .mime_type         = "application/ogg",
511
+    .extensions        = "ogg,ogv,spx",
512
+    .priv_data_size    = sizeof(OGGContext),
513
+    .audio_codec       = CODEC_ID_FLAC,
514
+    .video_codec       = CODEC_ID_THEORA,
515
+    .write_header      = ogg_write_header,
516
+    .write_packet      = ogg_write_packet,
517
+    .write_trailer     = ogg_write_trailer,
518 518
 };
... ...
@@ -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
 };
... ...
@@ -217,12 +217,11 @@ const AVClass ff_rawvideo_demuxer_class = {
217 217
 
218 218
 #if CONFIG_G722_DEMUXER
219 219
 AVInputFormat ff_g722_demuxer = {
220
-    "g722",
221
-    NULL_IF_CONFIG_SMALL("raw G.722"),
222
-    sizeof(RawAudioDemuxerContext),
223
-    NULL,
224
-    ff_raw_read_header,
225
-    ff_raw_read_partial_packet,
220
+    .name           = "g722",
221
+    .long_name      = NULL_IF_CONFIG_SMALL("raw G.722"),
222
+    .priv_data_size = sizeof(RawAudioDemuxerContext),
223
+    .read_header    = ff_raw_read_header,
224
+    .read_packet    = ff_raw_read_partial_packet,
226 225
     .flags= AVFMT_GENERIC_INDEX,
227 226
     .extensions = "g722,722",
228 227
     .value = CODEC_ID_ADPCM_G722,
... ...
@@ -232,12 +231,10 @@ AVInputFormat ff_g722_demuxer = {
232 232
 
233 233
 #if CONFIG_GSM_DEMUXER
234 234
 AVInputFormat ff_gsm_demuxer = {
235
-    "gsm",
236
-    NULL_IF_CONFIG_SMALL("raw GSM"),
237
-    0,
238
-    NULL,
239
-    ff_raw_audio_read_header,
240
-    ff_raw_read_partial_packet,
235
+    .name           = "gsm",
236
+    .long_name      = NULL_IF_CONFIG_SMALL("raw GSM"),
237
+    .read_header    = ff_raw_audio_read_header,
238
+    .read_packet    = ff_raw_read_partial_packet,
241 239
     .flags= AVFMT_GENERIC_INDEX,
242 240
     .extensions = "gsm",
243 241
     .value = CODEC_ID_GSM,
... ...
@@ -250,12 +247,10 @@ FF_DEF_RAWVIDEO_DEMUXER(mjpeg, "raw MJPEG video", NULL, "mjpg,mjpeg", CODEC_ID_M
250 250
 
251 251
 #if CONFIG_MLP_DEMUXER
252 252
 AVInputFormat ff_mlp_demuxer = {
253
-    "mlp",
254
-    NULL_IF_CONFIG_SMALL("raw MLP"),
255
-    0,
256
-    NULL,
257
-    ff_raw_audio_read_header,
258
-    ff_raw_read_partial_packet,
253
+    .name           = "mlp",
254
+    .long_name      = NULL_IF_CONFIG_SMALL("raw MLP"),
255
+    .read_header    = ff_raw_audio_read_header,
256
+    .read_packet    = ff_raw_read_partial_packet,
259 257
     .flags= AVFMT_GENERIC_INDEX,
260 258
     .extensions = "mlp",
261 259
     .value = CODEC_ID_MLP,
... ...
@@ -264,12 +259,10 @@ AVInputFormat ff_mlp_demuxer = {
264 264
 
265 265
 #if CONFIG_TRUEHD_DEMUXER
266 266
 AVInputFormat ff_truehd_demuxer = {
267
-    "truehd",
268
-    NULL_IF_CONFIG_SMALL("raw TrueHD"),
269
-    0,
270
-    NULL,
271
-    ff_raw_audio_read_header,
272
-    ff_raw_read_partial_packet,
267
+    .name           = "truehd",
268
+    .long_name      = NULL_IF_CONFIG_SMALL("raw TrueHD"),
269
+    .read_header    = ff_raw_audio_read_header,
270
+    .read_packet    = ff_raw_read_partial_packet,
273 271
     .flags= AVFMT_GENERIC_INDEX,
274 272
     .extensions = "thd",
275 273
     .value = CODEC_ID_TRUEHD,
... ...
@@ -278,12 +271,10 @@ AVInputFormat ff_truehd_demuxer = {
278 278
 
279 279
 #if CONFIG_SHORTEN_DEMUXER
280 280
 AVInputFormat ff_shorten_demuxer = {
281
-    "shn",
282
-    NULL_IF_CONFIG_SMALL("raw Shorten"),
283
-    0,
284
-    NULL,
285
-    ff_raw_audio_read_header,
286
-    ff_raw_read_partial_packet,
281
+    .name           = "shn",
282
+    .long_name      = NULL_IF_CONFIG_SMALL("raw Shorten"),
283
+    .read_header    = ff_raw_audio_read_header,
284
+    .read_packet    = ff_raw_read_partial_packet,
287 285
     .flags= AVFMT_GENERIC_INDEX,
288 286
     .extensions = "shn",
289 287
     .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
 
... ...
@@ -935,23 +935,19 @@ static int64_t rm_read_dts(AVFormatContext *s, int stream_index,
935 935
 }
936 936
 
937 937
 AVInputFormat ff_rm_demuxer = {
938
-    "rm",
939
-    NULL_IF_CONFIG_SMALL("RealMedia format"),
940
-    sizeof(RMDemuxContext),
941
-    rm_probe,
942
-    rm_read_header,
943
-    rm_read_packet,
944
-    rm_read_close,
945
-    NULL,
946
-    rm_read_dts,
938
+    .name           = "rm",
939
+    .long_name      = NULL_IF_CONFIG_SMALL("RealMedia format"),
940
+    .priv_data_size = sizeof(RMDemuxContext),
941
+    .read_probe     = rm_probe,
942
+    .read_header    = rm_read_header,
943
+    .read_packet    = rm_read_packet,
944
+    .read_close     = rm_read_close,
945
+    .read_timestamp = rm_read_dts,
947 946
 };
948 947
 
949 948
 AVInputFormat ff_rdt_demuxer = {
950
-    "rdt",
951
-    NULL_IF_CONFIG_SMALL("RDT demuxer"),
952
-    sizeof(RMDemuxContext),
953
-    NULL,
954
-    NULL,
955
-    NULL,
956
-    rm_read_close,
949
+    .name           = "rdt",
950
+    .long_name      = NULL_IF_CONFIG_SMALL("RDT demuxer"),
951
+    .priv_data_size = sizeof(RMDemuxContext),
952
+    .read_close     = rm_read_close,
957 953
 };
... ...
@@ -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
 };
... ...
@@ -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
 };
... ...
@@ -574,14 +574,13 @@ static int wav_read_seek(AVFormatContext *s,
574 574
 }
575 575
 
576 576
 AVInputFormat ff_wav_demuxer = {
577
-    "wav",
578
-    NULL_IF_CONFIG_SMALL("WAV format"),
579
-    sizeof(WAVContext),
580
-    wav_probe,
581
-    wav_read_header,
582
-    wav_read_packet,
583
-    NULL,
584
-    wav_read_seek,
577
+    .name           = "wav",
578
+    .long_name      = NULL_IF_CONFIG_SMALL("WAV format"),
579
+    .priv_data_size = sizeof(WAVContext),
580
+    .read_probe     = wav_probe,
581
+    .read_header    = wav_read_header,
582
+    .read_packet    = wav_read_packet,
583
+    .read_seek      = wav_read_seek,
585 584
     .flags= AVFMT_GENERIC_INDEX,
586 585
     .codec_tag= (const AVCodecTag* const []){ff_codec_wav_tags, 0},
587 586
 };
... ...
@@ -663,14 +662,13 @@ static int w64_read_header(AVFormatContext *s, AVFormatParameters *ap)
663 663
 }
664 664
 
665 665
 AVInputFormat ff_w64_demuxer = {
666
-    "w64",
667
-    NULL_IF_CONFIG_SMALL("Sony Wave64 format"),
668
-    sizeof(WAVContext),
669
-    w64_probe,
670
-    w64_read_header,
671
-    wav_read_packet,
672
-    NULL,
673
-    wav_read_seek,
666
+    .name           = "w64",
667
+    .long_name      = NULL_IF_CONFIG_SMALL("Sony Wave64 format"),
668
+    .priv_data_size = sizeof(WAVContext),
669
+    .read_probe     = w64_probe,
670
+    .read_header    = w64_read_header,
671
+    .read_packet    = wav_read_packet,
672
+    .read_seek      = wav_read_seek,
674 673
     .flags = AVFMT_GENERIC_INDEX,
675 674
     .codec_tag = (const AVCodecTag* const []){ff_codec_wav_tags, 0},
676 675
 };
... ...
@@ -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
 };
... ...
@@ -170,15 +170,15 @@ static int yuv4_write_header(AVFormatContext *s)
170 170
 }
171 171
 
172 172
 AVOutputFormat ff_yuv4mpegpipe_muxer = {
173
-    "yuv4mpegpipe",
174
-    NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
175
-    "",
176
-    "y4m",
177
-    sizeof(int),
178
-    CODEC_ID_NONE,
179
-    CODEC_ID_RAWVIDEO,
180
-    yuv4_write_header,
181
-    yuv4_write_packet,
173
+    .name              = "yuv4mpegpipe",
174
+    .long_name         = NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
175
+    .mime_type         = "",
176
+    .extensions        = "y4m",
177
+    .priv_data_size    = sizeof(int),
178
+    .audio_codec       = CODEC_ID_NONE,
179
+    .video_codec       = CODEC_ID_RAWVIDEO,
180
+    .write_header      = yuv4_write_header,
181
+    .write_packet      = yuv4_write_packet,
182 182
     .flags = AVFMT_RAWPICTURE,
183 183
 };
184 184
 #endif
... ...
@@ -391,12 +391,12 @@ static int yuv4_probe(AVProbeData *pd)
391 391
 
392 392
 #if CONFIG_YUV4MPEGPIPE_DEMUXER
393 393
 AVInputFormat ff_yuv4mpegpipe_demuxer = {
394
-    "yuv4mpegpipe",
395
-    NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
396
-    sizeof(struct frame_attributes),
397
-    yuv4_probe,
398
-    yuv4_read_header,
399
-    yuv4_read_packet,
394
+    .name           = "yuv4mpegpipe",
395
+    .long_name      = NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
396
+    .priv_data_size = sizeof(struct frame_attributes),
397
+    .read_probe     = yuv4_probe,
398
+    .read_header    = yuv4_read_header,
399
+    .read_packet    = yuv4_read_packet,
400 400
     .extensions = "y4m"
401 401
 };
402 402
 #endif