@@ -4117,9 +4117,9 @@ find_filters_extern(){
FILTER_LIST=$(find_filters_extern libavfilter/allfilters.c)
OUTDEV_LIST=$(find_things_extern muxer FFOutputFormat libavdevice/alldevices.c outdev)
-INDEV_LIST=$(find_things_extern demuxer AVInputFormat libavdevice/alldevices.c indev)
+INDEV_LIST=$(find_things_extern demuxer FFInputFormat libavdevice/alldevices.c indev)
MUXER_LIST=$(find_things_extern muxer FFOutputFormat libavformat/allformats.c)
-DEMUXER_LIST=$(find_things_extern demuxer AVInputFormat libavformat/allformats.c)
+DEMUXER_LIST=$(find_things_extern demuxer FFInputFormat libavformat/allformats.c)
ENCODER_LIST=$(find_things_extern encoder FFCodec libavcodec/allcodecs.c)
DECODER_LIST=$(find_things_extern decoder FFCodec libavcodec/allcodecs.c)
CODEC_LIST="
@@ -8187,9 +8187,9 @@ print_enabled_components libavfilter/filter_list.c AVFilter filter_list $FILTER_
print_enabled_components libavcodec/codec_list.c FFCodec codec_list $CODEC_LIST
print_enabled_components libavcodec/parser_list.c AVCodecParser parser_list $PARSER_LIST
print_enabled_components libavcodec/bsf_list.c FFBitStreamFilter bitstream_filters $BSF_LIST
-print_enabled_components libavformat/demuxer_list.c AVInputFormat demuxer_list $DEMUXER_LIST
+print_enabled_components libavformat/demuxer_list.c FFInputFormat demuxer_list $DEMUXER_LIST
print_enabled_components libavformat/muxer_list.c FFOutputFormat muxer_list $MUXER_LIST
-print_enabled_components libavdevice/indev_list.c AVInputFormat indev_list $INDEV_LIST
+print_enabled_components libavdevice/indev_list.c FFInputFormat indev_list $INDEV_LIST
print_enabled_components libavdevice/outdev_list.c FFOutputFormat outdev_list $OUTDEV_LIST
print_enabled_components libavformat/protocol_list.c URLProtocol url_protocols $PROTOCOL_LIST
@@ -18,46 +18,47 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "libavformat/mux.h"
#include "avdevice.h"
/* devices */
-extern const AVInputFormat ff_alsa_demuxer;
+extern const FFInputFormat ff_alsa_demuxer;
extern const FFOutputFormat ff_alsa_muxer;
-extern const AVInputFormat ff_android_camera_demuxer;
+extern const FFInputFormat ff_android_camera_demuxer;
extern const FFOutputFormat ff_audiotoolbox_muxer;
-extern const AVInputFormat ff_avfoundation_demuxer;
-extern const AVInputFormat ff_bktr_demuxer;
+extern const FFInputFormat ff_avfoundation_demuxer;
+extern const FFInputFormat ff_bktr_demuxer;
extern const FFOutputFormat ff_caca_muxer;
-extern const AVInputFormat ff_decklink_demuxer;
+extern const FFInputFormat ff_decklink_demuxer;
extern const FFOutputFormat ff_decklink_muxer;
-extern const AVInputFormat ff_dshow_demuxer;
-extern const AVInputFormat ff_fbdev_demuxer;
+extern const FFInputFormat ff_dshow_demuxer;
+extern const FFInputFormat ff_fbdev_demuxer;
extern const FFOutputFormat ff_fbdev_muxer;
-extern const AVInputFormat ff_gdigrab_demuxer;
-extern const AVInputFormat ff_iec61883_demuxer;
-extern const AVInputFormat ff_jack_demuxer;
-extern const AVInputFormat ff_kmsgrab_demuxer;
-extern const AVInputFormat ff_lavfi_demuxer;
-extern const AVInputFormat ff_openal_demuxer;
+extern const FFInputFormat ff_gdigrab_demuxer;
+extern const FFInputFormat ff_iec61883_demuxer;
+extern const FFInputFormat ff_jack_demuxer;
+extern const FFInputFormat ff_kmsgrab_demuxer;
+extern const FFInputFormat ff_lavfi_demuxer;
+extern const FFInputFormat ff_openal_demuxer;
extern const FFOutputFormat ff_opengl_muxer;
-extern const AVInputFormat ff_oss_demuxer;
+extern const FFInputFormat ff_oss_demuxer;
extern const FFOutputFormat ff_oss_muxer;
-extern const AVInputFormat ff_pulse_demuxer;
+extern const FFInputFormat ff_pulse_demuxer;
extern const FFOutputFormat ff_pulse_muxer;
extern const FFOutputFormat ff_sdl2_muxer;
-extern const AVInputFormat ff_sndio_demuxer;
+extern const FFInputFormat ff_sndio_demuxer;
extern const FFOutputFormat ff_sndio_muxer;
-extern const AVInputFormat ff_v4l2_demuxer;
+extern const FFInputFormat ff_v4l2_demuxer;
extern const FFOutputFormat ff_v4l2_muxer;
-extern const AVInputFormat ff_vfwcap_demuxer;
-extern const AVInputFormat ff_xcbgrab_demuxer;
+extern const FFInputFormat ff_vfwcap_demuxer;
+extern const FFInputFormat ff_xcbgrab_demuxer;
extern const FFOutputFormat ff_xv_muxer;
/* external libraries */
-extern const AVInputFormat ff_libcdio_demuxer;
-extern const AVInputFormat ff_libdc1394_demuxer;
+extern const FFInputFormat ff_libcdio_demuxer;
+extern const FFInputFormat ff_libdc1394_demuxer;
#include "libavdevice/outdev_list.c"
#include "libavdevice/indev_list.c"
@@ -72,12 +73,12 @@ static const void *next_input(const AVInputFormat *prev, AVClassCategory c2)
const AVClass *pc;
const AVClassCategory c1 = AV_CLASS_CATEGORY_DEVICE_INPUT;
AVClassCategory category = AV_CLASS_CATEGORY_NA;
- const AVInputFormat *fmt = NULL;
+ const FFInputFormat *fmt = NULL;
int i = 0;
while (prev && (fmt = indev_list[i])) {
i++;
- if (prev == fmt)
+ if (prev == &fmt->p)
break;
}
@@ -85,7 +86,7 @@ static const void *next_input(const AVInputFormat *prev, AVClassCategory c2)
fmt = indev_list[i++];
if (!fmt)
break;
- pc = fmt->priv_class;
+ pc = fmt->p.priv_class;
if (!pc)
continue;
category = pc->category;
@@ -52,6 +52,7 @@
#include "libavutil/opt.h"
#include "libavutil/time.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "avdevice.h"
@@ -157,14 +158,14 @@ static const AVClass alsa_demuxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT,
};
-const AVInputFormat ff_alsa_demuxer = {
- .name = "alsa",
- .long_name = NULL_IF_CONFIG_SMALL("ALSA audio input"),
+const FFInputFormat ff_alsa_demuxer = {
+ .p.name = "alsa",
+ .p.long_name = NULL_IF_CONFIG_SMALL("ALSA audio input"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &alsa_demuxer_class,
.priv_data_size = sizeof(AlsaData),
.read_header = audio_read_header,
.read_packet = audio_read_packet,
.read_close = ff_alsa_close,
.get_device_list = audio_get_device_list,
- .flags = AVFMT_NOFILE,
- .priv_class = &alsa_demuxer_class,
};
@@ -33,6 +33,7 @@
#include <media/NdkImageReader.h>
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "libavutil/avstring.h"
#include "libavutil/display.h"
@@ -860,13 +861,13 @@ static const AVClass android_camera_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,
};
-const AVInputFormat ff_android_camera_demuxer = {
- .name = "android_camera",
- .long_name = NULL_IF_CONFIG_SMALL("Android camera input device"),
+const FFInputFormat ff_android_camera_demuxer = {
+ .p.name = "android_camera",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Android camera input device"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &android_camera_class,
.priv_data_size = sizeof(AndroidCameraCtx),
.read_header = android_camera_read_header,
.read_packet = android_camera_read_packet,
.read_close = android_camera_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &android_camera_class,
};
@@ -19,6 +19,7 @@
#include "libavutil/avassert.h"
#include "avdevice.h"
#include "internal.h"
+#include "libavformat/demux.h"
#include "libavformat/mux.h"
int avdevice_app_to_dev_control_message(struct AVFormatContext *s, enum AVAppToDevMessageType type,
@@ -44,7 +45,7 @@ int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list)
av_assert0(device_list);
av_assert0(s->oformat || s->iformat);
if ((s->oformat && !ffofmt(s->oformat)->get_device_list) ||
- (s->iformat && !s->iformat->get_device_list)) {
+ (s->iformat && !ffifmt(s->iformat)->get_device_list)) {
*device_list = NULL;
return AVERROR(ENOSYS);
}
@@ -56,7 +57,7 @@ int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list)
if (s->oformat)
ret = ffofmt(s->oformat)->get_device_list(s, *device_list);
else
- ret = s->iformat->get_device_list(s, *device_list);
+ ret = ffifmt(s->iformat)->get_device_list(s, *device_list);
if (ret < 0) {
avdevice_free_list_devices(device_list);
return ret;
@@ -24,6 +24,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "libavutil/file_open.h"
#include "libavutil/internal.h"
@@ -352,13 +353,13 @@ static const AVClass bktr_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,
};
-const AVInputFormat ff_bktr_demuxer = {
- .name = "bktr",
- .long_name = NULL_IF_CONFIG_SMALL("video grab"),
+const FFInputFormat ff_bktr_demuxer = {
+ .p.name = "bktr",
+ .p.long_name = NULL_IF_CONFIG_SMALL("video grab"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &bktr_class,
.priv_data_size = sizeof(VideoData),
.read_header = grab_read_header,
.read_packet = grab_read_packet,
.read_close = grab_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &bktr_class,
};
@@ -21,6 +21,7 @@
*/
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
#include "libavutil/opt.h"
#include "decklink_common_c.h"
@@ -111,11 +112,11 @@ static const AVClass decklink_demuxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,
};
-const AVInputFormat ff_decklink_demuxer = {
- .name = "decklink",
- .long_name = NULL_IF_CONFIG_SMALL("Blackmagic DeckLink input"),
- .flags = AVFMT_NOFILE,
- .priv_class = &decklink_demuxer_class,
+const FFInputFormat ff_decklink_demuxer = {
+ .p.name = "decklink",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Blackmagic DeckLink input"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &decklink_demuxer_class,
.priv_data_size = sizeof(struct decklink_cctx),
.get_device_list = ff_decklink_list_input_devices,
.read_header = ff_decklink_read_header,
@@ -24,6 +24,7 @@
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
#include "libavutil/mem.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "libavformat/riff.h"
#include "avdevice.h"
@@ -1924,14 +1925,15 @@ static const AVClass dshow_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,
};
-const AVInputFormat ff_dshow_demuxer = {
- .name = "dshow",
- .long_name = NULL_IF_CONFIG_SMALL("DirectShow capture"),
+const FFInputFormat ff_dshow_demuxer = {
+ .p.name = "dshow",
+ .p.long_name = NULL_IF_CONFIG_SMALL("DirectShow capture"),
+ .p.flags = AVFMT_NOFILE | AVFMT_NOBINSEARCH |
+ AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK,
+ .p.priv_class = &dshow_class,
.priv_data_size = sizeof(struct dshow_ctx),
.read_header = dshow_read_header,
.read_packet = dshow_read_packet,
.read_close = dshow_read_close,
.get_device_list= dshow_get_device_list,
- .flags = AVFMT_NOFILE | AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK,
- .priv_class = &dshow_class,
};
@@ -41,6 +41,7 @@
#include "libavutil/time.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "avdevice.h"
#include "fbdev_common.h"
@@ -232,14 +233,14 @@ static const AVClass fbdev_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,
};
-const AVInputFormat ff_fbdev_demuxer = {
- .name = "fbdev",
- .long_name = NULL_IF_CONFIG_SMALL("Linux framebuffer"),
+const FFInputFormat ff_fbdev_demuxer = {
+ .p.name = "fbdev",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Linux framebuffer"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &fbdev_class,
.priv_data_size = sizeof(FBDevContext),
.read_header = fbdev_read_header,
.read_packet = fbdev_read_packet,
.read_close = fbdev_read_close,
.get_device_list = fbdev_get_device_list,
- .flags = AVFMT_NOFILE,
- .priv_class = &fbdev_class,
};
@@ -29,6 +29,7 @@
*/
#include "config.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "libavutil/opt.h"
#include "libavutil/time.h"
@@ -677,13 +678,13 @@ static const AVClass gdigrab_class = {
};
/** gdi grabber device demuxer declaration */
-const AVInputFormat ff_gdigrab_demuxer = {
- .name = "gdigrab",
- .long_name = NULL_IF_CONFIG_SMALL("GDI API Windows frame grabber"),
+const FFInputFormat ff_gdigrab_demuxer = {
+ .p.name = "gdigrab",
+ .p.long_name = NULL_IF_CONFIG_SMALL("GDI API Windows frame grabber"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &gdigrab_class,
.priv_data_size = sizeof(struct gdigrab),
.read_header = gdigrab_read_header,
.read_packet = gdigrab_read_packet,
.read_close = gdigrab_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &gdigrab_class,
};
@@ -30,6 +30,7 @@
#include <libavc1394/avc1394.h>
#include <libavc1394/rom1394.h>
#include <libiec61883/iec61883.h>
+#include "libavformat/demux.h"
#include "libavformat/dv.h"
#include "libavformat/mpegts.h"
#include "libavutil/opt.h"
@@ -502,13 +503,13 @@ static const AVClass iec61883_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,
};
-const AVInputFormat ff_iec61883_demuxer = {
- .name = "iec61883",
- .long_name = NULL_IF_CONFIG_SMALL("libiec61883 (new DV1394) A/V input device"),
+const FFInputFormat ff_iec61883_demuxer = {
+ .p.name = "iec61883",
+ .p.long_name = NULL_IF_CONFIG_SMALL("libiec61883 (new DV1394) A/V input device"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &iec61883_class,
.priv_data_size = sizeof(struct iec61883_data),
.read_header = iec61883_read_header,
.read_packet = iec61883_read_packet,
.read_close = iec61883_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &iec61883_class,
};
@@ -30,6 +30,7 @@
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "timefilter.h"
#include "avdevice.h"
@@ -341,13 +342,13 @@ static const AVClass jack_indev_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT,
};
-const AVInputFormat ff_jack_demuxer = {
- .name = "jack",
- .long_name = NULL_IF_CONFIG_SMALL("JACK Audio Connection Kit"),
+const FFInputFormat ff_jack_demuxer = {
+ .p.name = "jack",
+ .p.long_name = NULL_IF_CONFIG_SMALL("JACK Audio Connection Kit"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &jack_indev_class,
.priv_data_size = sizeof(JackData),
.read_header = audio_read_header,
.read_packet = audio_read_packet,
.read_close = audio_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &jack_indev_class,
};
@@ -42,6 +42,7 @@
#include "libavutil/time.h"
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
typedef struct KMSGrabContext {
@@ -708,13 +709,13 @@ static const AVClass kmsgrab_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,
};
-const AVInputFormat ff_kmsgrab_demuxer = {
- .name = "kmsgrab",
- .long_name = NULL_IF_CONFIG_SMALL("KMS screen capture"),
+const FFInputFormat ff_kmsgrab_demuxer = {
+ .p.name = "kmsgrab",
+ .p.long_name = NULL_IF_CONFIG_SMALL("KMS screen capture"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &kmsgrab_class,
.priv_data_size = sizeof(KMSGrabContext),
.read_header = &kmsgrab_read_header,
.read_packet = &kmsgrab_read_packet,
.read_close = &kmsgrab_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &kmsgrab_class,
};
@@ -39,6 +39,7 @@
#include "libavutil/pixdesc.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/buffersink.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "avdevice.h"
@@ -493,14 +494,14 @@ static const AVClass lavfi_class = {
.category = AV_CLASS_CATEGORY_DEVICE_INPUT,
};
-const AVInputFormat ff_lavfi_demuxer = {
- .name = "lavfi",
- .long_name = NULL_IF_CONFIG_SMALL("Libavfilter virtual input device"),
+const FFInputFormat ff_lavfi_demuxer = {
+ .p.name = "lavfi",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Libavfilter virtual input device"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &lavfi_class,
.priv_data_size = sizeof(LavfiContext),
.read_header = lavfi_read_header,
.read_packet = lavfi_read_packet,
.read_close = lavfi_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &lavfi_class,
.flags_internal = FF_FMT_INIT_CLEANUP,
};
@@ -180,13 +180,13 @@ static const AVClass libcdio_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT,
};
-const AVInputFormat ff_libcdio_demuxer = {
- .name = "libcdio",
+const FFInputFormat ff_libcdio_demuxer = {
+ .p.name = "libcdio",
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &libcdio_class,
.read_header = read_header,
.read_packet = read_packet,
.read_close = read_close,
.read_seek = read_seek,
.priv_data_size = sizeof(CDIOContext),
- .flags = AVFMT_NOFILE,
- .priv_class = &libcdio_class,
};
@@ -31,6 +31,7 @@
#include "libavutil/pixdesc.h"
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
typedef struct dc1394_data {
@@ -288,13 +289,13 @@ static int dc1394_close(AVFormatContext * context)
return 0;
}
-const AVInputFormat ff_libdc1394_demuxer = {
- .name = "libdc1394",
- .long_name = NULL_IF_CONFIG_SMALL("dc1394 v.2 A/V grab"),
+const FFInputFormat ff_libdc1394_demuxer = {
+ .p.name = "libdc1394",
+ .p.long_name = NULL_IF_CONFIG_SMALL("dc1394 v.2 A/V grab"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &libdc1394_class,
.priv_data_size = sizeof(struct dc1394_data),
.read_header = dc1394_read_header,
.read_packet = dc1394_read_packet,
.read_close = dc1394_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &libdc1394_class,
};
@@ -26,6 +26,7 @@
#include "libavutil/opt.h"
#include "libavutil/time.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "avdevice.h"
@@ -248,14 +249,14 @@ static const AVClass class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT,
};
-const AVInputFormat ff_openal_demuxer = {
- .name = "openal",
- .long_name = NULL_IF_CONFIG_SMALL("OpenAL audio capture device"),
+const FFInputFormat ff_openal_demuxer = {
+ .p.name = "openal",
+ .p.long_name = NULL_IF_CONFIG_SMALL("OpenAL audio capture device"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &class,
.priv_data_size = sizeof(al_data),
.read_probe = NULL,
.read_header = read_header,
.read_packet = read_packet,
.read_close = read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &class
};
@@ -35,6 +35,7 @@
#include "libavutil/time.h"
#include "avdevice.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "oss.h"
@@ -130,13 +131,13 @@ static const AVClass oss_demuxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT,
};
-const AVInputFormat ff_oss_demuxer = {
- .name = "oss",
- .long_name = NULL_IF_CONFIG_SMALL("OSS (Open Sound System) capture"),
+const FFInputFormat ff_oss_demuxer = {
+ .p.name = "oss",
+ .p.long_name = NULL_IF_CONFIG_SMALL("OSS (Open Sound System) capture"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &oss_demuxer_class,
.priv_data_size = sizeof(OSSAudioData),
.read_header = audio_read_header,
.read_packet = audio_read_packet,
.read_close = audio_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &oss_demuxer_class,
};
@@ -29,6 +29,7 @@
#include "libavutil/time.h"
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "libavformat/version.h"
#include "pulse_audio_common.h"
@@ -393,14 +394,14 @@ static const AVClass pulse_demuxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT,
};
-const AVInputFormat ff_pulse_demuxer = {
- .name = "pulse",
- .long_name = NULL_IF_CONFIG_SMALL("Pulse audio input"),
+const FFInputFormat ff_pulse_demuxer = {
+ .p.name = "pulse",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Pulse audio input"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &pulse_demuxer_class,
.priv_data_size = sizeof(PulseData),
.read_header = pulse_read_header,
.read_packet = pulse_read_packet,
.read_close = pulse_close,
.get_device_list = pulse_get_device_list,
- .flags = AVFMT_NOFILE,
- .priv_class = &pulse_demuxer_class,
};
@@ -27,6 +27,7 @@
#include "libavutil/time.h"
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
#include "libavdevice/sndio.h"
@@ -109,13 +110,13 @@ static const AVClass sndio_demuxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT,
};
-const AVInputFormat ff_sndio_demuxer = {
- .name = "sndio",
- .long_name = NULL_IF_CONFIG_SMALL("sndio audio capture"),
+const FFInputFormat ff_sndio_demuxer = {
+ .p.name = "sndio",
+ .p.long_name = NULL_IF_CONFIG_SMALL("sndio audio capture"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &sndio_demuxer_class,
.priv_data_size = sizeof(SndioData),
.read_header = audio_read_header,
.read_packet = audio_read_packet,
.read_close = audio_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &sndio_demuxer_class,
};
@@ -19,6 +19,7 @@
#include "internal.h"
#include "libavutil/opt.h"
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
int ff_alloc_input_device_context(AVFormatContext **avctx, const AVInputFormat *iformat, const char *format)
{
@@ -38,8 +39,8 @@ int ff_alloc_input_device_context(AVFormatContext **avctx, const AVInputFormat *
goto error;
}
s->iformat = iformat;
- if (s->iformat->priv_data_size > 0) {
- s->priv_data = av_mallocz(s->iformat->priv_data_size);
+ if (ffifmt(s->iformat)->priv_data_size > 0) {
+ s->priv_data = av_mallocz(ffifmt(s->iformat)->priv_data_size);
if (!s->priv_data) {
ret = AVERROR(ENOMEM);
goto error;
@@ -1134,15 +1134,15 @@ static const AVClass v4l2_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,
};
-const AVInputFormat ff_v4l2_demuxer = {
- .name = "video4linux2,v4l2",
- .long_name = NULL_IF_CONFIG_SMALL("Video4Linux2 device grab"),
+const FFInputFormat ff_v4l2_demuxer = {
+ .p.name = "video4linux2,v4l2",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Video4Linux2 device grab"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &v4l2_class,
.priv_data_size = sizeof(struct video_data),
.read_probe = v4l2_read_probe,
.read_header = v4l2_read_header,
.read_packet = v4l2_read_packet,
.read_close = v4l2_read_close,
.get_device_list = v4l2_get_device_list,
- .flags = AVFMT_NOFILE,
- .priv_class = &v4l2_class,
};
@@ -25,6 +25,7 @@
#include "libavutil/parseutils.h"
#include "libavcodec/packet_internal.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
// windows.h must no be included before winsock2.h, and libavformat internal
@@ -482,13 +483,13 @@ static const AVClass vfw_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT
};
-const AVInputFormat ff_vfwcap_demuxer = {
- .name = "vfwcap",
- .long_name = NULL_IF_CONFIG_SMALL("VfW video capture"),
+const FFInputFormat ff_vfwcap_demuxer = {
+ .p.name = "vfwcap",
+ .p.long_name = NULL_IF_CONFIG_SMALL("VfW video capture"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &vfw_class,
.priv_data_size = sizeof(struct vfw_ctx),
.read_header = vfw_read_header,
.read_packet = vfw_read_packet,
.read_close = vfw_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &vfw_class,
};
@@ -45,6 +45,7 @@
#include "libavutil/time.h"
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
#include "libavformat/internal.h"
typedef struct XCBGrabContext {
@@ -900,13 +901,13 @@ static av_cold int xcbgrab_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_xcbgrab_demuxer = {
- .name = "x11grab",
- .long_name = NULL_IF_CONFIG_SMALL("X11 screen capture, using XCB"),
+const FFInputFormat ff_xcbgrab_demuxer = {
+ .p.name = "x11grab",
+ .p.long_name = NULL_IF_CONFIG_SMALL("X11 screen capture, using XCB"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &xcbgrab_class,
.priv_data_size = sizeof(XCBGrabContext),
.read_header = xcbgrab_read_header,
.read_packet = xcbgrab_read_packet,
.read_close = xcbgrab_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &xcbgrab_class,
};
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int threedostr_probe(const AVProbeData *p)
@@ -191,12 +192,12 @@ static int threedostr_read_packet(AVFormatContext *s, AVPacket *pkt)
return AVERROR_EOF;
}
-const AVInputFormat ff_threedostr_demuxer = {
- .name = "3dostr",
- .long_name = NULL_IF_CONFIG_SMALL("3DO STR"),
+const FFInputFormat ff_threedostr_demuxer = {
+ .p.name = "3dostr",
+ .p.long_name = NULL_IF_CONFIG_SMALL("3DO STR"),
+ .p.extensions = "str",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = threedostr_probe,
.read_header = threedostr_read_header,
.read_packet = threedostr_read_packet,
- .extensions = "str",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -31,6 +31,7 @@
#include "libavutil/intfloat.h"
#include "libavcodec/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define RIFF_TAG MKTAG('R', 'I', 'F', 'F')
@@ -396,9 +397,9 @@ static int fourxm_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_fourxm_demuxer = {
- .name = "4xm",
- .long_name = NULL_IF_CONFIG_SMALL("4X Technologies"),
+const FFInputFormat ff_fourxm_demuxer = {
+ .p.name = "4xm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("4X Technologies"),
.priv_data_size = sizeof(FourxmDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = fourxm_probe,
@@ -24,6 +24,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "id3v1.h"
#include "id3v2.h"
@@ -208,14 +209,14 @@ retry:
return ret;
}
-const AVInputFormat ff_aac_demuxer = {
- .name = "aac",
- .long_name = NULL_IF_CONFIG_SMALL("raw ADTS AAC (Advanced Audio Coding)"),
+const FFInputFormat ff_aac_demuxer = {
+ .p.name = "aac",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw ADTS AAC (Advanced Audio Coding)"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "aac",
+ .p.mime_type = "audio/aac,audio/aacp,audio/x-aac",
.read_probe = adts_aac_probe,
.read_header = adts_aac_read_header,
.read_packet = adts_aac_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "aac",
- .mime_type = "audio/aac,audio/aacp,audio/x-aac",
.raw_codec_id = AV_CODEC_ID_AAC,
};
@@ -371,17 +371,17 @@ static const AVClass aa_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_aa_demuxer = {
- .name = "aa",
- .long_name = NULL_IF_CONFIG_SMALL("Audible AA format files"),
- .priv_class = &aa_class,
+const FFInputFormat ff_aa_demuxer = {
+ .p.name = "aa",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Audible AA format files"),
+ .p.priv_class = &aa_class,
+ .p.extensions = "aa",
+ .p.flags = AVFMT_NO_BYTE_SEEK | AVFMT_NOGENSEARCH,
.priv_data_size = sizeof(AADemuxContext),
- .extensions = "aa",
.read_probe = aa_probe,
.read_header = aa_read_header,
.read_packet = aa_read_packet,
.read_seek = aa_read_seek,
.read_close = aa_read_close,
- .flags = AVFMT_NO_BYTE_SEEK | AVFMT_NOGENSEARCH,
.flags_internal = FF_FMT_INIT_CLEANUP,
};
@@ -383,15 +383,15 @@ static int aax_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_aax_demuxer = {
- .name = "aax",
- .long_name = NULL_IF_CONFIG_SMALL("CRI AAX"),
+const FFInputFormat ff_aax_demuxer = {
+ .p.name = "aax",
+ .p.long_name = NULL_IF_CONFIG_SMALL("CRI AAX"),
+ .p.extensions = "aax",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(AAXContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = aax_probe,
.read_header = aax_read_header,
.read_packet = aax_read_packet,
.read_close = aax_read_close,
- .extensions = "aax",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -25,6 +25,7 @@
#include "libavutil/crc.h"
#include "libavcodec/ac3_parser.h"
#include "avformat.h"
+#include "demux.h"
#include "rawdec.h"
static int ac3_eac3_probe(const AVProbeData *p, enum AVCodecID expected_codec_id)
@@ -104,17 +105,17 @@ static int ac3_probe(const AVProbeData *p)
return ac3_eac3_probe(p, AV_CODEC_ID_AC3);
}
-const AVInputFormat ff_ac3_demuxer = {
- .name = "ac3",
- .long_name = NULL_IF_CONFIG_SMALL("raw AC-3"),
+const FFInputFormat ff_ac3_demuxer = {
+ .p.name = "ac3",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw AC-3"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "ac3",
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = ac3_probe,
.read_header = ff_raw_audio_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags= AVFMT_GENERIC_INDEX,
- .extensions = "ac3",
.raw_codec_id = AV_CODEC_ID_AC3,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
#endif
@@ -124,16 +125,16 @@ static int eac3_probe(const AVProbeData *p)
return ac3_eac3_probe(p, AV_CODEC_ID_EAC3);
}
-const AVInputFormat ff_eac3_demuxer = {
- .name = "eac3",
- .long_name = NULL_IF_CONFIG_SMALL("raw E-AC-3"),
+const FFInputFormat ff_eac3_demuxer = {
+ .p.name = "eac3",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw E-AC-3"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "eac3,ec3",
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = eac3_probe,
.read_header = ff_raw_audio_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "eac3,ec3",
.raw_codec_id = AV_CODEC_ID_EAC3,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
#endif
@@ -22,6 +22,7 @@
#include "libavutil/avassert.h"
#include "libavutil/crc.h"
#include "avformat.h"
+#include "demux.h"
#include "rawdec.h"
static int ac4_probe(const AVProbeData *p)
@@ -93,12 +94,12 @@ static int ac4_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_ac4_demuxer = {
- .name = "ac4",
- .long_name = NULL_IF_CONFIG_SMALL("raw AC-4"),
+const FFInputFormat ff_ac4_demuxer = {
+ .p.name = "ac4",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw AC-4"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "ac4",
.read_probe = ac4_probe,
.read_header = ac4_read_header,
.read_packet = ac4_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "ac4",
};
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int ace_probe(const AVProbeData *p)
@@ -104,11 +105,11 @@ static int ace_read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, par->block_align);
}
-const AVInputFormat ff_ace_demuxer = {
- .name = "ace",
- .long_name = NULL_IF_CONFIG_SMALL("tri-Ace Audio Container"),
+const FFInputFormat ff_ace_demuxer = {
+ .p.name = "ace",
+ .p.long_name = NULL_IF_CONFIG_SMALL("tri-Ace Audio Container"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = ace_probe,
.read_header = ace_read_header,
.read_packet = ace_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -61,15 +61,15 @@ static int acm_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_acm_demuxer = {
- .name = "acm",
- .long_name = NULL_IF_CONFIG_SMALL("Interplay ACM"),
+const FFInputFormat ff_acm_demuxer = {
+ .p.name = "acm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Interplay ACM"),
+ .p.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
+ .p.extensions = "acm",
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = acm_probe,
.read_header = acm_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
- .extensions = "acm",
.raw_codec_id = AV_CODEC_ID_INTERPLAY_ACM,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -22,6 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "riff.h"
#include "internal.h"
@@ -198,9 +199,9 @@ static int read_packet(AVFormatContext *s,
return ret;
}
-const AVInputFormat ff_act_demuxer = {
- .name = "act",
- .long_name = "ACT Voice file format",
+const FFInputFormat ff_act_demuxer = {
+ .p.name = "act",
+ .p.long_name = "ACT Voice file format",
.priv_data_size = sizeof(ACTContext),
.read_probe = probe,
.read_header = read_header,
@@ -22,6 +22,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int adp_probe(const AVProbeData *p)
@@ -82,11 +83,11 @@ static int adp_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_adp_demuxer = {
- .name = "adp",
- .long_name = NULL_IF_CONFIG_SMALL("ADP"),
+const FFInputFormat ff_adp_demuxer = {
+ .p.name = "adp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("ADP"),
+ .p.extensions = "adp,dtk",
.read_probe = adp_probe,
.read_header = adp_read_header,
.read_packet = adp_read_packet,
- .extensions = "adp,dtk",
};
@@ -21,6 +21,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int ads_probe(const AVProbeData *p)
@@ -80,11 +81,11 @@ static int ads_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_ads_demuxer = {
- .name = "ads",
- .long_name = NULL_IF_CONFIG_SMALL("Sony PS2 ADS"),
+const FFInputFormat ff_ads_demuxer = {
+ .p.name = "ads",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sony PS2 ADS"),
+ .p.extensions = "ads,ss2",
.read_probe = ads_probe,
.read_header = ads_read_header,
.read_packet = ads_read_packet,
- .extensions = "ads,ss2",
};
@@ -128,14 +128,14 @@ static int adx_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_adx_demuxer = {
- .name = "adx",
- .long_name = NULL_IF_CONFIG_SMALL("CRI ADX"),
+const FFInputFormat ff_adx_demuxer = {
+ .p.name = "adx",
+ .p.long_name = NULL_IF_CONFIG_SMALL("CRI ADX"),
+ .p.extensions = "adx",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = adx_probe,
.priv_data_size = sizeof(ADXDemuxerContext),
.read_header = adx_read_header,
.read_packet = adx_read_packet,
- .extensions = "adx",
.raw_codec_id = AV_CODEC_ID_ADPCM_ADX,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -23,6 +23,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "pcm.h"
#define AT1_SU_SIZE 212
@@ -89,13 +90,13 @@ static int aea_read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, s->streams[0]->codecpar->block_align);
}
-const AVInputFormat ff_aea_demuxer = {
- .name = "aea",
- .long_name = NULL_IF_CONFIG_SMALL("MD STUDIO audio"),
+const FFInputFormat ff_aea_demuxer = {
+ .p.name = "aea",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MD STUDIO audio"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "aea",
.read_probe = aea_read_probe,
.read_header = aea_read_header,
.read_packet = aea_read_packet,
.read_seek = ff_pcm_read_seek,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "aea",
};
@@ -21,6 +21,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct AFCDemuxContext {
@@ -68,12 +69,12 @@ static int afc_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_afc_demuxer = {
- .name = "afc",
- .long_name = NULL_IF_CONFIG_SMALL("AFC"),
+const FFInputFormat ff_afc_demuxer = {
+ .p.name = "afc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("AFC"),
+ .p.extensions = "afc",
+ .p.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK,
.priv_data_size = sizeof(AFCDemuxContext),
.read_header = afc_read_header,
.read_packet = afc_read_packet,
- .extensions = "afc",
- .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK,
};
@@ -433,13 +433,13 @@ static int aiff_read_packet(AVFormatContext *s,
return 0;
}
-const AVInputFormat ff_aiff_demuxer = {
- .name = "aiff",
- .long_name = NULL_IF_CONFIG_SMALL("Audio IFF"),
+const FFInputFormat ff_aiff_demuxer = {
+ .p.name = "aiff",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Audio IFF"),
+ .p.codec_tag = ff_aiff_codec_tags_list,
.priv_data_size = sizeof(AIFFInputContext),
.read_probe = aiff_probe,
.read_header = aiff_read_header,
.read_packet = aiff_read_packet,
.read_seek = ff_pcm_read_seek,
- .codec_tag = ff_aiff_codec_tags_list,
};
@@ -130,12 +130,12 @@ static int aix_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_aix_demuxer = {
- .name = "aix",
- .long_name = NULL_IF_CONFIG_SMALL("CRI AIX"),
+const FFInputFormat ff_aix_demuxer = {
+ .p.name = "aix",
+ .p.long_name = NULL_IF_CONFIG_SMALL("CRI AIX"),
+ .p.extensions= "aix",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = aix_probe,
.read_header = aix_read_header,
.read_packet = aix_read_packet,
- .extensions = "aix",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -25,268 +25,269 @@
#include "libavformat/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "mux.h"
/* (de)muxers */
extern const FFOutputFormat ff_a64_muxer;
-extern const AVInputFormat ff_aa_demuxer;
-extern const AVInputFormat ff_aac_demuxer;
-extern const AVInputFormat ff_aax_demuxer;
-extern const AVInputFormat ff_ac3_demuxer;
+extern const FFInputFormat ff_aa_demuxer;
+extern const FFInputFormat ff_aac_demuxer;
+extern const FFInputFormat ff_aax_demuxer;
+extern const FFInputFormat ff_ac3_demuxer;
extern const FFOutputFormat ff_ac3_muxer;
-extern const AVInputFormat ff_ac4_demuxer;
+extern const FFInputFormat ff_ac4_demuxer;
extern const FFOutputFormat ff_ac4_muxer;
-extern const AVInputFormat ff_ace_demuxer;
-extern const AVInputFormat ff_acm_demuxer;
-extern const AVInputFormat ff_act_demuxer;
-extern const AVInputFormat ff_adf_demuxer;
-extern const AVInputFormat ff_adp_demuxer;
-extern const AVInputFormat ff_ads_demuxer;
+extern const FFInputFormat ff_ace_demuxer;
+extern const FFInputFormat ff_acm_demuxer;
+extern const FFInputFormat ff_act_demuxer;
+extern const FFInputFormat ff_adf_demuxer;
+extern const FFInputFormat ff_adp_demuxer;
+extern const FFInputFormat ff_ads_demuxer;
extern const FFOutputFormat ff_adts_muxer;
-extern const AVInputFormat ff_adx_demuxer;
+extern const FFInputFormat ff_adx_demuxer;
extern const FFOutputFormat ff_adx_muxer;
-extern const AVInputFormat ff_aea_demuxer;
-extern const AVInputFormat ff_afc_demuxer;
-extern const AVInputFormat ff_aiff_demuxer;
+extern const FFInputFormat ff_aea_demuxer;
+extern const FFInputFormat ff_afc_demuxer;
+extern const FFInputFormat ff_aiff_demuxer;
extern const FFOutputFormat ff_aiff_muxer;
-extern const AVInputFormat ff_aix_demuxer;
-extern const AVInputFormat ff_alp_demuxer;
+extern const FFInputFormat ff_aix_demuxer;
+extern const FFInputFormat ff_alp_demuxer;
extern const FFOutputFormat ff_alp_muxer;
-extern const AVInputFormat ff_amr_demuxer;
+extern const FFInputFormat ff_amr_demuxer;
extern const FFOutputFormat ff_amr_muxer;
-extern const AVInputFormat ff_amrnb_demuxer;
-extern const AVInputFormat ff_amrwb_demuxer;
+extern const FFInputFormat ff_amrnb_demuxer;
+extern const FFInputFormat ff_amrwb_demuxer;
extern const FFOutputFormat ff_amv_muxer;
-extern const AVInputFormat ff_anm_demuxer;
-extern const AVInputFormat ff_apac_demuxer;
-extern const AVInputFormat ff_apc_demuxer;
-extern const AVInputFormat ff_ape_demuxer;
-extern const AVInputFormat ff_apm_demuxer;
+extern const FFInputFormat ff_anm_demuxer;
+extern const FFInputFormat ff_apac_demuxer;
+extern const FFInputFormat ff_apc_demuxer;
+extern const FFInputFormat ff_ape_demuxer;
+extern const FFInputFormat ff_apm_demuxer;
extern const FFOutputFormat ff_apm_muxer;
-extern const AVInputFormat ff_apng_demuxer;
+extern const FFInputFormat ff_apng_demuxer;
extern const FFOutputFormat ff_apng_muxer;
-extern const AVInputFormat ff_aptx_demuxer;
+extern const FFInputFormat ff_aptx_demuxer;
extern const FFOutputFormat ff_aptx_muxer;
-extern const AVInputFormat ff_aptx_hd_demuxer;
+extern const FFInputFormat ff_aptx_hd_demuxer;
extern const FFOutputFormat ff_aptx_hd_muxer;
-extern const AVInputFormat ff_aqtitle_demuxer;
-extern const AVInputFormat ff_argo_asf_demuxer;
+extern const FFInputFormat ff_aqtitle_demuxer;
+extern const FFInputFormat ff_argo_asf_demuxer;
extern const FFOutputFormat ff_argo_asf_muxer;
-extern const AVInputFormat ff_argo_brp_demuxer;
-extern const AVInputFormat ff_argo_cvg_demuxer;
+extern const FFInputFormat ff_argo_brp_demuxer;
+extern const FFInputFormat ff_argo_cvg_demuxer;
extern const FFOutputFormat ff_argo_cvg_muxer;
-extern const AVInputFormat ff_asf_demuxer;
+extern const FFInputFormat ff_asf_demuxer;
extern const FFOutputFormat ff_asf_muxer;
-extern const AVInputFormat ff_asf_o_demuxer;
-extern const AVInputFormat ff_ass_demuxer;
+extern const FFInputFormat ff_asf_o_demuxer;
+extern const FFInputFormat ff_ass_demuxer;
extern const FFOutputFormat ff_ass_muxer;
-extern const AVInputFormat ff_ast_demuxer;
+extern const FFInputFormat ff_ast_demuxer;
extern const FFOutputFormat ff_ast_muxer;
extern const FFOutputFormat ff_asf_stream_muxer;
-extern const AVInputFormat ff_au_demuxer;
+extern const FFInputFormat ff_au_demuxer;
extern const FFOutputFormat ff_au_muxer;
-extern const AVInputFormat ff_av1_demuxer;
-extern const AVInputFormat ff_avi_demuxer;
+extern const FFInputFormat ff_av1_demuxer;
+extern const FFInputFormat ff_avi_demuxer;
extern const FFOutputFormat ff_avi_muxer;
extern const FFOutputFormat ff_avif_muxer;
-extern const AVInputFormat ff_avisynth_demuxer;
+extern const FFInputFormat ff_avisynth_demuxer;
extern const FFOutputFormat ff_avm2_muxer;
-extern const AVInputFormat ff_avr_demuxer;
-extern const AVInputFormat ff_avs_demuxer;
-extern const AVInputFormat ff_avs2_demuxer;
+extern const FFInputFormat ff_avr_demuxer;
+extern const FFInputFormat ff_avs_demuxer;
+extern const FFInputFormat ff_avs2_demuxer;
extern const FFOutputFormat ff_avs2_muxer;
-extern const AVInputFormat ff_avs3_demuxer;
+extern const FFInputFormat ff_avs3_demuxer;
extern const FFOutputFormat ff_avs3_muxer;
-extern const AVInputFormat ff_bethsoftvid_demuxer;
-extern const AVInputFormat ff_bfi_demuxer;
-extern const AVInputFormat ff_bintext_demuxer;
-extern const AVInputFormat ff_bink_demuxer;
-extern const AVInputFormat ff_binka_demuxer;
-extern const AVInputFormat ff_bit_demuxer;
+extern const FFInputFormat ff_bethsoftvid_demuxer;
+extern const FFInputFormat ff_bfi_demuxer;
+extern const FFInputFormat ff_bintext_demuxer;
+extern const FFInputFormat ff_bink_demuxer;
+extern const FFInputFormat ff_binka_demuxer;
+extern const FFInputFormat ff_bit_demuxer;
extern const FFOutputFormat ff_bit_muxer;
-extern const AVInputFormat ff_bitpacked_demuxer;
-extern const AVInputFormat ff_bmv_demuxer;
-extern const AVInputFormat ff_bfstm_demuxer;
-extern const AVInputFormat ff_brstm_demuxer;
-extern const AVInputFormat ff_boa_demuxer;
-extern const AVInputFormat ff_bonk_demuxer;
-extern const AVInputFormat ff_c93_demuxer;
-extern const AVInputFormat ff_caf_demuxer;
+extern const FFInputFormat ff_bitpacked_demuxer;
+extern const FFInputFormat ff_bmv_demuxer;
+extern const FFInputFormat ff_bfstm_demuxer;
+extern const FFInputFormat ff_brstm_demuxer;
+extern const FFInputFormat ff_boa_demuxer;
+extern const FFInputFormat ff_bonk_demuxer;
+extern const FFInputFormat ff_c93_demuxer;
+extern const FFInputFormat ff_caf_demuxer;
extern const FFOutputFormat ff_caf_muxer;
-extern const AVInputFormat ff_cavsvideo_demuxer;
+extern const FFInputFormat ff_cavsvideo_demuxer;
extern const FFOutputFormat ff_cavsvideo_muxer;
-extern const AVInputFormat ff_cdg_demuxer;
-extern const AVInputFormat ff_cdxl_demuxer;
-extern const AVInputFormat ff_cine_demuxer;
-extern const AVInputFormat ff_codec2_demuxer;
+extern const FFInputFormat ff_cdg_demuxer;
+extern const FFInputFormat ff_cdxl_demuxer;
+extern const FFInputFormat ff_cine_demuxer;
+extern const FFInputFormat ff_codec2_demuxer;
extern const FFOutputFormat ff_codec2_muxer;
-extern const AVInputFormat ff_codec2raw_demuxer;
+extern const FFInputFormat ff_codec2raw_demuxer;
extern const FFOutputFormat ff_codec2raw_muxer;
-extern const AVInputFormat ff_concat_demuxer;
+extern const FFInputFormat ff_concat_demuxer;
extern const FFOutputFormat ff_crc_muxer;
-extern const AVInputFormat ff_dash_demuxer;
+extern const FFInputFormat ff_dash_demuxer;
extern const FFOutputFormat ff_dash_muxer;
-extern const AVInputFormat ff_data_demuxer;
+extern const FFInputFormat ff_data_demuxer;
extern const FFOutputFormat ff_data_muxer;
-extern const AVInputFormat ff_daud_demuxer;
+extern const FFInputFormat ff_daud_demuxer;
extern const FFOutputFormat ff_daud_muxer;
-extern const AVInputFormat ff_dcstr_demuxer;
-extern const AVInputFormat ff_derf_demuxer;
-extern const AVInputFormat ff_dfa_demuxer;
-extern const AVInputFormat ff_dfpwm_demuxer;
+extern const FFInputFormat ff_dcstr_demuxer;
+extern const FFInputFormat ff_derf_demuxer;
+extern const FFInputFormat ff_dfa_demuxer;
+extern const FFInputFormat ff_dfpwm_demuxer;
extern const FFOutputFormat ff_dfpwm_muxer;
-extern const AVInputFormat ff_dhav_demuxer;
-extern const AVInputFormat ff_dirac_demuxer;
+extern const FFInputFormat ff_dhav_demuxer;
+extern const FFInputFormat ff_dirac_demuxer;
extern const FFOutputFormat ff_dirac_muxer;
-extern const AVInputFormat ff_dnxhd_demuxer;
+extern const FFInputFormat ff_dnxhd_demuxer;
extern const FFOutputFormat ff_dnxhd_muxer;
-extern const AVInputFormat ff_dsf_demuxer;
-extern const AVInputFormat ff_dsicin_demuxer;
-extern const AVInputFormat ff_dss_demuxer;
-extern const AVInputFormat ff_dts_demuxer;
+extern const FFInputFormat ff_dsf_demuxer;
+extern const FFInputFormat ff_dsicin_demuxer;
+extern const FFInputFormat ff_dss_demuxer;
+extern const FFInputFormat ff_dts_demuxer;
extern const FFOutputFormat ff_dts_muxer;
-extern const AVInputFormat ff_dtshd_demuxer;
-extern const AVInputFormat ff_dv_demuxer;
+extern const FFInputFormat ff_dtshd_demuxer;
+extern const FFInputFormat ff_dv_demuxer;
extern const FFOutputFormat ff_dv_muxer;
-extern const AVInputFormat ff_dvbsub_demuxer;
-extern const AVInputFormat ff_dvbtxt_demuxer;
-extern const AVInputFormat ff_dxa_demuxer;
-extern const AVInputFormat ff_ea_demuxer;
-extern const AVInputFormat ff_ea_cdata_demuxer;
-extern const AVInputFormat ff_eac3_demuxer;
+extern const FFInputFormat ff_dvbsub_demuxer;
+extern const FFInputFormat ff_dvbtxt_demuxer;
+extern const FFInputFormat ff_dxa_demuxer;
+extern const FFInputFormat ff_ea_demuxer;
+extern const FFInputFormat ff_ea_cdata_demuxer;
+extern const FFInputFormat ff_eac3_demuxer;
extern const FFOutputFormat ff_eac3_muxer;
-extern const AVInputFormat ff_epaf_demuxer;
-extern const AVInputFormat ff_evc_demuxer;
+extern const FFInputFormat ff_epaf_demuxer;
+extern const FFInputFormat ff_evc_demuxer;
extern const FFOutputFormat ff_evc_muxer;
extern const FFOutputFormat ff_f4v_muxer;
-extern const AVInputFormat ff_ffmetadata_demuxer;
+extern const FFInputFormat ff_ffmetadata_demuxer;
extern const FFOutputFormat ff_ffmetadata_muxer;
extern const FFOutputFormat ff_fifo_muxer;
extern const FFOutputFormat ff_fifo_test_muxer;
-extern const AVInputFormat ff_filmstrip_demuxer;
+extern const FFInputFormat ff_filmstrip_demuxer;
extern const FFOutputFormat ff_filmstrip_muxer;
-extern const AVInputFormat ff_fits_demuxer;
+extern const FFInputFormat ff_fits_demuxer;
extern const FFOutputFormat ff_fits_muxer;
-extern const AVInputFormat ff_flac_demuxer;
+extern const FFInputFormat ff_flac_demuxer;
extern const FFOutputFormat ff_flac_muxer;
-extern const AVInputFormat ff_flic_demuxer;
-extern const AVInputFormat ff_flv_demuxer;
+extern const FFInputFormat ff_flic_demuxer;
+extern const FFInputFormat ff_flv_demuxer;
extern const FFOutputFormat ff_flv_muxer;
-extern const AVInputFormat ff_live_flv_demuxer;
-extern const AVInputFormat ff_fourxm_demuxer;
+extern const FFInputFormat ff_live_flv_demuxer;
+extern const FFInputFormat ff_fourxm_demuxer;
extern const FFOutputFormat ff_framecrc_muxer;
extern const FFOutputFormat ff_framehash_muxer;
extern const FFOutputFormat ff_framemd5_muxer;
-extern const AVInputFormat ff_frm_demuxer;
-extern const AVInputFormat ff_fsb_demuxer;
-extern const AVInputFormat ff_fwse_demuxer;
-extern const AVInputFormat ff_g722_demuxer;
+extern const FFInputFormat ff_frm_demuxer;
+extern const FFInputFormat ff_fsb_demuxer;
+extern const FFInputFormat ff_fwse_demuxer;
+extern const FFInputFormat ff_g722_demuxer;
extern const FFOutputFormat ff_g722_muxer;
-extern const AVInputFormat ff_g723_1_demuxer;
+extern const FFInputFormat ff_g723_1_demuxer;
extern const FFOutputFormat ff_g723_1_muxer;
-extern const AVInputFormat ff_g726_demuxer;
+extern const FFInputFormat ff_g726_demuxer;
extern const FFOutputFormat ff_g726_muxer;
-extern const AVInputFormat ff_g726le_demuxer;
+extern const FFInputFormat ff_g726le_demuxer;
extern const FFOutputFormat ff_g726le_muxer;
-extern const AVInputFormat ff_g729_demuxer;
-extern const AVInputFormat ff_gdv_demuxer;
-extern const AVInputFormat ff_genh_demuxer;
-extern const AVInputFormat ff_gif_demuxer;
+extern const FFInputFormat ff_g729_demuxer;
+extern const FFInputFormat ff_gdv_demuxer;
+extern const FFInputFormat ff_genh_demuxer;
+extern const FFInputFormat ff_gif_demuxer;
extern const FFOutputFormat ff_gif_muxer;
-extern const AVInputFormat ff_gsm_demuxer;
+extern const FFInputFormat ff_gsm_demuxer;
extern const FFOutputFormat ff_gsm_muxer;
-extern const AVInputFormat ff_gxf_demuxer;
+extern const FFInputFormat ff_gxf_demuxer;
extern const FFOutputFormat ff_gxf_muxer;
-extern const AVInputFormat ff_h261_demuxer;
+extern const FFInputFormat ff_h261_demuxer;
extern const FFOutputFormat ff_h261_muxer;
-extern const AVInputFormat ff_h263_demuxer;
+extern const FFInputFormat ff_h263_demuxer;
extern const FFOutputFormat ff_h263_muxer;
-extern const AVInputFormat ff_h264_demuxer;
+extern const FFInputFormat ff_h264_demuxer;
extern const FFOutputFormat ff_h264_muxer;
extern const FFOutputFormat ff_hash_muxer;
-extern const AVInputFormat ff_hca_demuxer;
-extern const AVInputFormat ff_hcom_demuxer;
+extern const FFInputFormat ff_hca_demuxer;
+extern const FFInputFormat ff_hcom_demuxer;
extern const FFOutputFormat ff_hds_muxer;
-extern const AVInputFormat ff_hevc_demuxer;
+extern const FFInputFormat ff_hevc_demuxer;
extern const FFOutputFormat ff_hevc_muxer;
-extern const AVInputFormat ff_hls_demuxer;
+extern const FFInputFormat ff_hls_demuxer;
extern const FFOutputFormat ff_hls_muxer;
-extern const AVInputFormat ff_hnm_demuxer;
-extern const AVInputFormat ff_iamf_demuxer;
+extern const FFInputFormat ff_hnm_demuxer;
+extern const FFInputFormat ff_iamf_demuxer;
extern const FFOutputFormat ff_iamf_muxer;
-extern const AVInputFormat ff_ico_demuxer;
+extern const FFInputFormat ff_ico_demuxer;
extern const FFOutputFormat ff_ico_muxer;
-extern const AVInputFormat ff_idcin_demuxer;
-extern const AVInputFormat ff_idf_demuxer;
-extern const AVInputFormat ff_iff_demuxer;
-extern const AVInputFormat ff_ifv_demuxer;
-extern const AVInputFormat ff_ilbc_demuxer;
+extern const FFInputFormat ff_idcin_demuxer;
+extern const FFInputFormat ff_idf_demuxer;
+extern const FFInputFormat ff_iff_demuxer;
+extern const FFInputFormat ff_ifv_demuxer;
+extern const FFInputFormat ff_ilbc_demuxer;
extern const FFOutputFormat ff_ilbc_muxer;
-extern const AVInputFormat ff_image2_demuxer;
+extern const FFInputFormat ff_image2_demuxer;
extern const FFOutputFormat ff_image2_muxer;
-extern const AVInputFormat ff_image2pipe_demuxer;
+extern const FFInputFormat ff_image2pipe_demuxer;
extern const FFOutputFormat ff_image2pipe_muxer;
-extern const AVInputFormat ff_image2_alias_pix_demuxer;
-extern const AVInputFormat ff_image2_brender_pix_demuxer;
-extern const AVInputFormat ff_imf_demuxer;
-extern const AVInputFormat ff_ingenient_demuxer;
-extern const AVInputFormat ff_ipmovie_demuxer;
+extern const FFInputFormat ff_image2_alias_pix_demuxer;
+extern const FFInputFormat ff_image2_brender_pix_demuxer;
+extern const FFInputFormat ff_imf_demuxer;
+extern const FFInputFormat ff_ingenient_demuxer;
+extern const FFInputFormat ff_ipmovie_demuxer;
extern const FFOutputFormat ff_ipod_muxer;
-extern const AVInputFormat ff_ipu_demuxer;
-extern const AVInputFormat ff_ircam_demuxer;
+extern const FFInputFormat ff_ipu_demuxer;
+extern const FFInputFormat ff_ircam_demuxer;
extern const FFOutputFormat ff_ircam_muxer;
extern const FFOutputFormat ff_ismv_muxer;
-extern const AVInputFormat ff_iss_demuxer;
-extern const AVInputFormat ff_iv8_demuxer;
-extern const AVInputFormat ff_ivf_demuxer;
+extern const FFInputFormat ff_iss_demuxer;
+extern const FFInputFormat ff_iv8_demuxer;
+extern const FFInputFormat ff_ivf_demuxer;
extern const FFOutputFormat ff_ivf_muxer;
-extern const AVInputFormat ff_ivr_demuxer;
-extern const AVInputFormat ff_jacosub_demuxer;
+extern const FFInputFormat ff_ivr_demuxer;
+extern const FFInputFormat ff_jacosub_demuxer;
extern const FFOutputFormat ff_jacosub_muxer;
-extern const AVInputFormat ff_jv_demuxer;
-extern const AVInputFormat ff_jpegxl_anim_demuxer;
-extern const AVInputFormat ff_kux_demuxer;
-extern const AVInputFormat ff_kvag_demuxer;
+extern const FFInputFormat ff_jv_demuxer;
+extern const FFInputFormat ff_jpegxl_anim_demuxer;
+extern const FFInputFormat ff_kux_demuxer;
+extern const FFInputFormat ff_kvag_demuxer;
extern const FFOutputFormat ff_kvag_muxer;
-extern const AVInputFormat ff_laf_demuxer;
+extern const FFInputFormat ff_laf_demuxer;
extern const FFOutputFormat ff_latm_muxer;
-extern const AVInputFormat ff_lmlm4_demuxer;
-extern const AVInputFormat ff_loas_demuxer;
-extern const AVInputFormat ff_luodat_demuxer;
-extern const AVInputFormat ff_lrc_demuxer;
+extern const FFInputFormat ff_lmlm4_demuxer;
+extern const FFInputFormat ff_loas_demuxer;
+extern const FFInputFormat ff_luodat_demuxer;
+extern const FFInputFormat ff_lrc_demuxer;
extern const FFOutputFormat ff_lrc_muxer;
-extern const AVInputFormat ff_lvf_demuxer;
-extern const AVInputFormat ff_lxf_demuxer;
-extern const AVInputFormat ff_m4v_demuxer;
+extern const FFInputFormat ff_lvf_demuxer;
+extern const FFInputFormat ff_lxf_demuxer;
+extern const FFInputFormat ff_m4v_demuxer;
extern const FFOutputFormat ff_m4v_muxer;
-extern const AVInputFormat ff_mca_demuxer;
-extern const AVInputFormat ff_mcc_demuxer;
+extern const FFInputFormat ff_mca_demuxer;
+extern const FFInputFormat ff_mcc_demuxer;
extern const FFOutputFormat ff_md5_muxer;
-extern const AVInputFormat ff_matroska_demuxer;
+extern const FFInputFormat ff_matroska_demuxer;
extern const FFOutputFormat ff_matroska_muxer;
extern const FFOutputFormat ff_matroska_audio_muxer;
-extern const AVInputFormat ff_mgsts_demuxer;
-extern const AVInputFormat ff_microdvd_demuxer;
+extern const FFInputFormat ff_mgsts_demuxer;
+extern const FFInputFormat ff_microdvd_demuxer;
extern const FFOutputFormat ff_microdvd_muxer;
-extern const AVInputFormat ff_mjpeg_demuxer;
+extern const FFInputFormat ff_mjpeg_demuxer;
extern const FFOutputFormat ff_mjpeg_muxer;
-extern const AVInputFormat ff_mjpeg_2000_demuxer;
-extern const AVInputFormat ff_mlp_demuxer;
+extern const FFInputFormat ff_mjpeg_2000_demuxer;
+extern const FFInputFormat ff_mlp_demuxer;
extern const FFOutputFormat ff_mlp_muxer;
-extern const AVInputFormat ff_mlv_demuxer;
-extern const AVInputFormat ff_mm_demuxer;
-extern const AVInputFormat ff_mmf_demuxer;
+extern const FFInputFormat ff_mlv_demuxer;
+extern const FFInputFormat ff_mm_demuxer;
+extern const FFInputFormat ff_mmf_demuxer;
extern const FFOutputFormat ff_mmf_muxer;
-extern const AVInputFormat ff_mods_demuxer;
-extern const AVInputFormat ff_moflex_demuxer;
-extern const AVInputFormat ff_mov_demuxer;
+extern const FFInputFormat ff_mods_demuxer;
+extern const FFInputFormat ff_moflex_demuxer;
+extern const FFInputFormat ff_mov_demuxer;
extern const FFOutputFormat ff_mov_muxer;
extern const FFOutputFormat ff_mp2_muxer;
-extern const AVInputFormat ff_mp3_demuxer;
+extern const FFInputFormat ff_mp3_demuxer;
extern const FFOutputFormat ff_mp3_muxer;
extern const FFOutputFormat ff_mp4_muxer;
-extern const AVInputFormat ff_mpc_demuxer;
-extern const AVInputFormat ff_mpc8_demuxer;
+extern const FFInputFormat ff_mpc_demuxer;
+extern const FFInputFormat ff_mpc8_demuxer;
extern const FFOutputFormat ff_mpeg1system_muxer;
extern const FFOutputFormat ff_mpeg1vcd_muxer;
extern const FFOutputFormat ff_mpeg1video_muxer;
@@ -294,282 +295,282 @@ extern const FFOutputFormat ff_mpeg2dvd_muxer;
extern const FFOutputFormat ff_mpeg2svcd_muxer;
extern const FFOutputFormat ff_mpeg2video_muxer;
extern const FFOutputFormat ff_mpeg2vob_muxer;
-extern const AVInputFormat ff_mpegps_demuxer;
-extern const AVInputFormat ff_mpegts_demuxer;
+extern const FFInputFormat ff_mpegps_demuxer;
+extern const FFInputFormat ff_mpegts_demuxer;
extern const FFOutputFormat ff_mpegts_muxer;
-extern const AVInputFormat ff_mpegtsraw_demuxer;
-extern const AVInputFormat ff_mpegvideo_demuxer;
-extern const AVInputFormat ff_mpjpeg_demuxer;
+extern const FFInputFormat ff_mpegtsraw_demuxer;
+extern const FFInputFormat ff_mpegvideo_demuxer;
+extern const FFInputFormat ff_mpjpeg_demuxer;
extern const FFOutputFormat ff_mpjpeg_muxer;
-extern const AVInputFormat ff_mpl2_demuxer;
-extern const AVInputFormat ff_mpsub_demuxer;
-extern const AVInputFormat ff_msf_demuxer;
-extern const AVInputFormat ff_msnwc_tcp_demuxer;
-extern const AVInputFormat ff_msp_demuxer;
-extern const AVInputFormat ff_mtaf_demuxer;
-extern const AVInputFormat ff_mtv_demuxer;
-extern const AVInputFormat ff_musx_demuxer;
-extern const AVInputFormat ff_mv_demuxer;
-extern const AVInputFormat ff_mvi_demuxer;
-extern const AVInputFormat ff_mxf_demuxer;
+extern const FFInputFormat ff_mpl2_demuxer;
+extern const FFInputFormat ff_mpsub_demuxer;
+extern const FFInputFormat ff_msf_demuxer;
+extern const FFInputFormat ff_msnwc_tcp_demuxer;
+extern const FFInputFormat ff_msp_demuxer;
+extern const FFInputFormat ff_mtaf_demuxer;
+extern const FFInputFormat ff_mtv_demuxer;
+extern const FFInputFormat ff_musx_demuxer;
+extern const FFInputFormat ff_mv_demuxer;
+extern const FFInputFormat ff_mvi_demuxer;
+extern const FFInputFormat ff_mxf_demuxer;
extern const FFOutputFormat ff_mxf_muxer;
extern const FFOutputFormat ff_mxf_d10_muxer;
extern const FFOutputFormat ff_mxf_opatom_muxer;
-extern const AVInputFormat ff_mxg_demuxer;
-extern const AVInputFormat ff_nc_demuxer;
-extern const AVInputFormat ff_nistsphere_demuxer;
-extern const AVInputFormat ff_nsp_demuxer;
-extern const AVInputFormat ff_nsv_demuxer;
+extern const FFInputFormat ff_mxg_demuxer;
+extern const FFInputFormat ff_nc_demuxer;
+extern const FFInputFormat ff_nistsphere_demuxer;
+extern const FFInputFormat ff_nsp_demuxer;
+extern const FFInputFormat ff_nsv_demuxer;
extern const FFOutputFormat ff_null_muxer;
-extern const AVInputFormat ff_nut_demuxer;
+extern const FFInputFormat ff_nut_demuxer;
extern const FFOutputFormat ff_nut_muxer;
-extern const AVInputFormat ff_nuv_demuxer;
-extern const AVInputFormat ff_obu_demuxer;
+extern const FFInputFormat ff_nuv_demuxer;
+extern const FFInputFormat ff_obu_demuxer;
extern const FFOutputFormat ff_obu_muxer;
extern const FFOutputFormat ff_oga_muxer;
-extern const AVInputFormat ff_ogg_demuxer;
+extern const FFInputFormat ff_ogg_demuxer;
extern const FFOutputFormat ff_ogg_muxer;
extern const FFOutputFormat ff_ogv_muxer;
-extern const AVInputFormat ff_oma_demuxer;
+extern const FFInputFormat ff_oma_demuxer;
extern const FFOutputFormat ff_oma_muxer;
extern const FFOutputFormat ff_opus_muxer;
-extern const AVInputFormat ff_osq_demuxer;
-extern const AVInputFormat ff_paf_demuxer;
-extern const AVInputFormat ff_pcm_alaw_demuxer;
+extern const FFInputFormat ff_osq_demuxer;
+extern const FFInputFormat ff_paf_demuxer;
+extern const FFInputFormat ff_pcm_alaw_demuxer;
extern const FFOutputFormat ff_pcm_alaw_muxer;
-extern const AVInputFormat ff_pcm_mulaw_demuxer;
+extern const FFInputFormat ff_pcm_mulaw_demuxer;
extern const FFOutputFormat ff_pcm_mulaw_muxer;
-extern const AVInputFormat ff_pcm_vidc_demuxer;
+extern const FFInputFormat ff_pcm_vidc_demuxer;
extern const FFOutputFormat ff_pcm_vidc_muxer;
-extern const AVInputFormat ff_pcm_f64be_demuxer;
+extern const FFInputFormat ff_pcm_f64be_demuxer;
extern const FFOutputFormat ff_pcm_f64be_muxer;
-extern const AVInputFormat ff_pcm_f64le_demuxer;
+extern const FFInputFormat ff_pcm_f64le_demuxer;
extern const FFOutputFormat ff_pcm_f64le_muxer;
-extern const AVInputFormat ff_pcm_f32be_demuxer;
+extern const FFInputFormat ff_pcm_f32be_demuxer;
extern const FFOutputFormat ff_pcm_f32be_muxer;
-extern const AVInputFormat ff_pcm_f32le_demuxer;
+extern const FFInputFormat ff_pcm_f32le_demuxer;
extern const FFOutputFormat ff_pcm_f32le_muxer;
-extern const AVInputFormat ff_pcm_s32be_demuxer;
+extern const FFInputFormat ff_pcm_s32be_demuxer;
extern const FFOutputFormat ff_pcm_s32be_muxer;
-extern const AVInputFormat ff_pcm_s32le_demuxer;
+extern const FFInputFormat ff_pcm_s32le_demuxer;
extern const FFOutputFormat ff_pcm_s32le_muxer;
-extern const AVInputFormat ff_pcm_s24be_demuxer;
+extern const FFInputFormat ff_pcm_s24be_demuxer;
extern const FFOutputFormat ff_pcm_s24be_muxer;
-extern const AVInputFormat ff_pcm_s24le_demuxer;
+extern const FFInputFormat ff_pcm_s24le_demuxer;
extern const FFOutputFormat ff_pcm_s24le_muxer;
-extern const AVInputFormat ff_pcm_s16be_demuxer;
+extern const FFInputFormat ff_pcm_s16be_demuxer;
extern const FFOutputFormat ff_pcm_s16be_muxer;
-extern const AVInputFormat ff_pcm_s16le_demuxer;
+extern const FFInputFormat ff_pcm_s16le_demuxer;
extern const FFOutputFormat ff_pcm_s16le_muxer;
-extern const AVInputFormat ff_pcm_s8_demuxer;
+extern const FFInputFormat ff_pcm_s8_demuxer;
extern const FFOutputFormat ff_pcm_s8_muxer;
-extern const AVInputFormat ff_pcm_u32be_demuxer;
+extern const FFInputFormat ff_pcm_u32be_demuxer;
extern const FFOutputFormat ff_pcm_u32be_muxer;
-extern const AVInputFormat ff_pcm_u32le_demuxer;
+extern const FFInputFormat ff_pcm_u32le_demuxer;
extern const FFOutputFormat ff_pcm_u32le_muxer;
-extern const AVInputFormat ff_pcm_u24be_demuxer;
+extern const FFInputFormat ff_pcm_u24be_demuxer;
extern const FFOutputFormat ff_pcm_u24be_muxer;
-extern const AVInputFormat ff_pcm_u24le_demuxer;
+extern const FFInputFormat ff_pcm_u24le_demuxer;
extern const FFOutputFormat ff_pcm_u24le_muxer;
-extern const AVInputFormat ff_pcm_u16be_demuxer;
+extern const FFInputFormat ff_pcm_u16be_demuxer;
extern const FFOutputFormat ff_pcm_u16be_muxer;
-extern const AVInputFormat ff_pcm_u16le_demuxer;
+extern const FFInputFormat ff_pcm_u16le_demuxer;
extern const FFOutputFormat ff_pcm_u16le_muxer;
-extern const AVInputFormat ff_pcm_u8_demuxer;
+extern const FFInputFormat ff_pcm_u8_demuxer;
extern const FFOutputFormat ff_pcm_u8_muxer;
-extern const AVInputFormat ff_pdv_demuxer;
-extern const AVInputFormat ff_pjs_demuxer;
-extern const AVInputFormat ff_pmp_demuxer;
-extern const AVInputFormat ff_pp_bnk_demuxer;
+extern const FFInputFormat ff_pdv_demuxer;
+extern const FFInputFormat ff_pjs_demuxer;
+extern const FFInputFormat ff_pmp_demuxer;
+extern const FFInputFormat ff_pp_bnk_demuxer;
extern const FFOutputFormat ff_psp_muxer;
-extern const AVInputFormat ff_pva_demuxer;
-extern const AVInputFormat ff_pvf_demuxer;
-extern const AVInputFormat ff_qcp_demuxer;
-extern const AVInputFormat ff_qoa_demuxer;
-extern const AVInputFormat ff_r3d_demuxer;
-extern const AVInputFormat ff_rawvideo_demuxer;
+extern const FFInputFormat ff_pva_demuxer;
+extern const FFInputFormat ff_pvf_demuxer;
+extern const FFInputFormat ff_qcp_demuxer;
+extern const FFInputFormat ff_qoa_demuxer;
+extern const FFInputFormat ff_r3d_demuxer;
+extern const FFInputFormat ff_rawvideo_demuxer;
extern const FFOutputFormat ff_rawvideo_muxer;
extern const FFOutputFormat ff_rcwt_muxer;
-extern const AVInputFormat ff_realtext_demuxer;
-extern const AVInputFormat ff_redspark_demuxer;
-extern const AVInputFormat ff_rka_demuxer;
-extern const AVInputFormat ff_rl2_demuxer;
-extern const AVInputFormat ff_rm_demuxer;
+extern const FFInputFormat ff_realtext_demuxer;
+extern const FFInputFormat ff_redspark_demuxer;
+extern const FFInputFormat ff_rka_demuxer;
+extern const FFInputFormat ff_rl2_demuxer;
+extern const FFInputFormat ff_rm_demuxer;
extern const FFOutputFormat ff_rm_muxer;
-extern const AVInputFormat ff_roq_demuxer;
+extern const FFInputFormat ff_roq_demuxer;
extern const FFOutputFormat ff_roq_muxer;
-extern const AVInputFormat ff_rpl_demuxer;
-extern const AVInputFormat ff_rsd_demuxer;
-extern const AVInputFormat ff_rso_demuxer;
+extern const FFInputFormat ff_rpl_demuxer;
+extern const FFInputFormat ff_rsd_demuxer;
+extern const FFInputFormat ff_rso_demuxer;
extern const FFOutputFormat ff_rso_muxer;
-extern const AVInputFormat ff_rtp_demuxer;
+extern const FFInputFormat ff_rtp_demuxer;
extern const FFOutputFormat ff_rtp_muxer;
extern const FFOutputFormat ff_rtp_mpegts_muxer;
-extern const AVInputFormat ff_rtsp_demuxer;
+extern const FFInputFormat ff_rtsp_demuxer;
extern const FFOutputFormat ff_rtsp_muxer;
-extern const AVInputFormat ff_s337m_demuxer;
-extern const AVInputFormat ff_sami_demuxer;
-extern const AVInputFormat ff_sap_demuxer;
+extern const FFInputFormat ff_s337m_demuxer;
+extern const FFInputFormat ff_sami_demuxer;
+extern const FFInputFormat ff_sap_demuxer;
extern const FFOutputFormat ff_sap_muxer;
-extern const AVInputFormat ff_sbc_demuxer;
+extern const FFInputFormat ff_sbc_demuxer;
extern const FFOutputFormat ff_sbc_muxer;
-extern const AVInputFormat ff_sbg_demuxer;
-extern const AVInputFormat ff_scc_demuxer;
+extern const FFInputFormat ff_sbg_demuxer;
+extern const FFInputFormat ff_scc_demuxer;
extern const FFOutputFormat ff_scc_muxer;
-extern const AVInputFormat ff_scd_demuxer;
-extern const AVInputFormat ff_sdns_demuxer;
-extern const AVInputFormat ff_sdp_demuxer;
-extern const AVInputFormat ff_sdr2_demuxer;
-extern const AVInputFormat ff_sds_demuxer;
-extern const AVInputFormat ff_sdx_demuxer;
-extern const AVInputFormat ff_segafilm_demuxer;
+extern const FFInputFormat ff_scd_demuxer;
+extern const FFInputFormat ff_sdns_demuxer;
+extern const FFInputFormat ff_sdp_demuxer;
+extern const FFInputFormat ff_sdr2_demuxer;
+extern const FFInputFormat ff_sds_demuxer;
+extern const FFInputFormat ff_sdx_demuxer;
+extern const FFInputFormat ff_segafilm_demuxer;
extern const FFOutputFormat ff_segafilm_muxer;
extern const FFOutputFormat ff_segment_muxer;
extern const FFOutputFormat ff_stream_segment_muxer;
-extern const AVInputFormat ff_ser_demuxer;
-extern const AVInputFormat ff_sga_demuxer;
-extern const AVInputFormat ff_shorten_demuxer;
-extern const AVInputFormat ff_siff_demuxer;
-extern const AVInputFormat ff_simbiosis_imx_demuxer;
-extern const AVInputFormat ff_sln_demuxer;
-extern const AVInputFormat ff_smacker_demuxer;
-extern const AVInputFormat ff_smjpeg_demuxer;
+extern const FFInputFormat ff_ser_demuxer;
+extern const FFInputFormat ff_sga_demuxer;
+extern const FFInputFormat ff_shorten_demuxer;
+extern const FFInputFormat ff_siff_demuxer;
+extern const FFInputFormat ff_simbiosis_imx_demuxer;
+extern const FFInputFormat ff_sln_demuxer;
+extern const FFInputFormat ff_smacker_demuxer;
+extern const FFInputFormat ff_smjpeg_demuxer;
extern const FFOutputFormat ff_smjpeg_muxer;
extern const FFOutputFormat ff_smoothstreaming_muxer;
-extern const AVInputFormat ff_smush_demuxer;
-extern const AVInputFormat ff_sol_demuxer;
-extern const AVInputFormat ff_sox_demuxer;
+extern const FFInputFormat ff_smush_demuxer;
+extern const FFInputFormat ff_sol_demuxer;
+extern const FFInputFormat ff_sox_demuxer;
extern const FFOutputFormat ff_sox_muxer;
extern const FFOutputFormat ff_spx_muxer;
-extern const AVInputFormat ff_spdif_demuxer;
+extern const FFInputFormat ff_spdif_demuxer;
extern const FFOutputFormat ff_spdif_muxer;
-extern const AVInputFormat ff_srt_demuxer;
+extern const FFInputFormat ff_srt_demuxer;
extern const FFOutputFormat ff_srt_muxer;
-extern const AVInputFormat ff_str_demuxer;
-extern const AVInputFormat ff_stl_demuxer;
+extern const FFInputFormat ff_str_demuxer;
+extern const FFInputFormat ff_stl_demuxer;
extern const FFOutputFormat ff_streamhash_muxer;
-extern const AVInputFormat ff_subviewer1_demuxer;
-extern const AVInputFormat ff_subviewer_demuxer;
-extern const AVInputFormat ff_sup_demuxer;
+extern const FFInputFormat ff_subviewer1_demuxer;
+extern const FFInputFormat ff_subviewer_demuxer;
+extern const FFInputFormat ff_sup_demuxer;
extern const FFOutputFormat ff_sup_muxer;
-extern const AVInputFormat ff_svag_demuxer;
-extern const AVInputFormat ff_svs_demuxer;
-extern const AVInputFormat ff_swf_demuxer;
+extern const FFInputFormat ff_svag_demuxer;
+extern const FFInputFormat ff_svs_demuxer;
+extern const FFInputFormat ff_swf_demuxer;
extern const FFOutputFormat ff_swf_muxer;
-extern const AVInputFormat ff_tak_demuxer;
+extern const FFInputFormat ff_tak_demuxer;
extern const FFOutputFormat ff_tee_muxer;
-extern const AVInputFormat ff_tedcaptions_demuxer;
+extern const FFInputFormat ff_tedcaptions_demuxer;
extern const FFOutputFormat ff_tg2_muxer;
extern const FFOutputFormat ff_tgp_muxer;
-extern const AVInputFormat ff_thp_demuxer;
-extern const AVInputFormat ff_threedostr_demuxer;
-extern const AVInputFormat ff_tiertexseq_demuxer;
+extern const FFInputFormat ff_thp_demuxer;
+extern const FFInputFormat ff_threedostr_demuxer;
+extern const FFInputFormat ff_tiertexseq_demuxer;
extern const FFOutputFormat ff_mkvtimestamp_v2_muxer;
-extern const AVInputFormat ff_tmv_demuxer;
-extern const AVInputFormat ff_truehd_demuxer;
+extern const FFInputFormat ff_tmv_demuxer;
+extern const FFInputFormat ff_truehd_demuxer;
extern const FFOutputFormat ff_truehd_muxer;
-extern const AVInputFormat ff_tta_demuxer;
+extern const FFInputFormat ff_tta_demuxer;
extern const FFOutputFormat ff_tta_muxer;
extern const FFOutputFormat ff_ttml_muxer;
-extern const AVInputFormat ff_txd_demuxer;
-extern const AVInputFormat ff_tty_demuxer;
-extern const AVInputFormat ff_ty_demuxer;
+extern const FFInputFormat ff_txd_demuxer;
+extern const FFInputFormat ff_tty_demuxer;
+extern const FFInputFormat ff_ty_demuxer;
extern const FFOutputFormat ff_uncodedframecrc_muxer;
-extern const AVInputFormat ff_usm_demuxer;
-extern const AVInputFormat ff_v210_demuxer;
-extern const AVInputFormat ff_v210x_demuxer;
-extern const AVInputFormat ff_vag_demuxer;
-extern const AVInputFormat ff_vc1_demuxer;
+extern const FFInputFormat ff_usm_demuxer;
+extern const FFInputFormat ff_v210_demuxer;
+extern const FFInputFormat ff_v210x_demuxer;
+extern const FFInputFormat ff_vag_demuxer;
+extern const FFInputFormat ff_vc1_demuxer;
extern const FFOutputFormat ff_vc1_muxer;
-extern const AVInputFormat ff_vc1t_demuxer;
+extern const FFInputFormat ff_vc1t_demuxer;
extern const FFOutputFormat ff_vc1t_muxer;
-extern const AVInputFormat ff_vividas_demuxer;
-extern const AVInputFormat ff_vivo_demuxer;
-extern const AVInputFormat ff_vmd_demuxer;
-extern const AVInputFormat ff_vobsub_demuxer;
-extern const AVInputFormat ff_voc_demuxer;
+extern const FFInputFormat ff_vividas_demuxer;
+extern const FFInputFormat ff_vivo_demuxer;
+extern const FFInputFormat ff_vmd_demuxer;
+extern const FFInputFormat ff_vobsub_demuxer;
+extern const FFInputFormat ff_voc_demuxer;
extern const FFOutputFormat ff_voc_muxer;
-extern const AVInputFormat ff_vpk_demuxer;
-extern const AVInputFormat ff_vplayer_demuxer;
-extern const AVInputFormat ff_vqf_demuxer;
-extern const AVInputFormat ff_vvc_demuxer;
+extern const FFInputFormat ff_vpk_demuxer;
+extern const FFInputFormat ff_vplayer_demuxer;
+extern const FFInputFormat ff_vqf_demuxer;
+extern const FFInputFormat ff_vvc_demuxer;
extern const FFOutputFormat ff_vvc_muxer;
-extern const AVInputFormat ff_w64_demuxer;
+extern const FFInputFormat ff_w64_demuxer;
extern const FFOutputFormat ff_w64_muxer;
-extern const AVInputFormat ff_wady_demuxer;
-extern const AVInputFormat ff_wavarc_demuxer;
-extern const AVInputFormat ff_wav_demuxer;
+extern const FFInputFormat ff_wady_demuxer;
+extern const FFInputFormat ff_wavarc_demuxer;
+extern const FFInputFormat ff_wav_demuxer;
extern const FFOutputFormat ff_wav_muxer;
-extern const AVInputFormat ff_wc3_demuxer;
+extern const FFInputFormat ff_wc3_demuxer;
extern const FFOutputFormat ff_webm_muxer;
-extern const AVInputFormat ff_webm_dash_manifest_demuxer;
+extern const FFInputFormat ff_webm_dash_manifest_demuxer;
extern const FFOutputFormat ff_webm_dash_manifest_muxer;
extern const FFOutputFormat ff_webm_chunk_muxer;
extern const FFOutputFormat ff_webp_muxer;
-extern const AVInputFormat ff_webvtt_demuxer;
+extern const FFInputFormat ff_webvtt_demuxer;
extern const FFOutputFormat ff_webvtt_muxer;
-extern const AVInputFormat ff_wsaud_demuxer;
+extern const FFInputFormat ff_wsaud_demuxer;
extern const FFOutputFormat ff_wsaud_muxer;
-extern const AVInputFormat ff_wsd_demuxer;
-extern const AVInputFormat ff_wsvqa_demuxer;
-extern const AVInputFormat ff_wtv_demuxer;
+extern const FFInputFormat ff_wsd_demuxer;
+extern const FFInputFormat ff_wsvqa_demuxer;
+extern const FFInputFormat ff_wtv_demuxer;
extern const FFOutputFormat ff_wtv_muxer;
-extern const AVInputFormat ff_wve_demuxer;
-extern const AVInputFormat ff_wv_demuxer;
+extern const FFInputFormat ff_wve_demuxer;
+extern const FFInputFormat ff_wv_demuxer;
extern const FFOutputFormat ff_wv_muxer;
-extern const AVInputFormat ff_xa_demuxer;
-extern const AVInputFormat ff_xbin_demuxer;
-extern const AVInputFormat ff_xmd_demuxer;
-extern const AVInputFormat ff_xmv_demuxer;
-extern const AVInputFormat ff_xvag_demuxer;
-extern const AVInputFormat ff_xwma_demuxer;
-extern const AVInputFormat ff_yop_demuxer;
-extern const AVInputFormat ff_yuv4mpegpipe_demuxer;
+extern const FFInputFormat ff_xa_demuxer;
+extern const FFInputFormat ff_xbin_demuxer;
+extern const FFInputFormat ff_xmd_demuxer;
+extern const FFInputFormat ff_xmv_demuxer;
+extern const FFInputFormat ff_xvag_demuxer;
+extern const FFInputFormat ff_xwma_demuxer;
+extern const FFInputFormat ff_yop_demuxer;
+extern const FFInputFormat ff_yuv4mpegpipe_demuxer;
extern const FFOutputFormat ff_yuv4mpegpipe_muxer;
/* image demuxers */
-extern const AVInputFormat ff_image_bmp_pipe_demuxer;
-extern const AVInputFormat ff_image_cri_pipe_demuxer;
-extern const AVInputFormat ff_image_dds_pipe_demuxer;
-extern const AVInputFormat ff_image_dpx_pipe_demuxer;
-extern const AVInputFormat ff_image_exr_pipe_demuxer;
-extern const AVInputFormat ff_image_gem_pipe_demuxer;
-extern const AVInputFormat ff_image_gif_pipe_demuxer;
-extern const AVInputFormat ff_image_hdr_pipe_demuxer;
-extern const AVInputFormat ff_image_j2k_pipe_demuxer;
-extern const AVInputFormat ff_image_jpeg_pipe_demuxer;
-extern const AVInputFormat ff_image_jpegls_pipe_demuxer;
-extern const AVInputFormat ff_image_jpegxl_pipe_demuxer;
-extern const AVInputFormat ff_image_pam_pipe_demuxer;
-extern const AVInputFormat ff_image_pbm_pipe_demuxer;
-extern const AVInputFormat ff_image_pcx_pipe_demuxer;
-extern const AVInputFormat ff_image_pfm_pipe_demuxer;
-extern const AVInputFormat ff_image_pgmyuv_pipe_demuxer;
-extern const AVInputFormat ff_image_pgm_pipe_demuxer;
-extern const AVInputFormat ff_image_pgx_pipe_demuxer;
-extern const AVInputFormat ff_image_phm_pipe_demuxer;
-extern const AVInputFormat ff_image_photocd_pipe_demuxer;
-extern const AVInputFormat ff_image_pictor_pipe_demuxer;
-extern const AVInputFormat ff_image_png_pipe_demuxer;
-extern const AVInputFormat ff_image_ppm_pipe_demuxer;
-extern const AVInputFormat ff_image_psd_pipe_demuxer;
-extern const AVInputFormat ff_image_qdraw_pipe_demuxer;
-extern const AVInputFormat ff_image_qoi_pipe_demuxer;
-extern const AVInputFormat ff_image_sgi_pipe_demuxer;
-extern const AVInputFormat ff_image_svg_pipe_demuxer;
-extern const AVInputFormat ff_image_sunrast_pipe_demuxer;
-extern const AVInputFormat ff_image_tiff_pipe_demuxer;
-extern const AVInputFormat ff_image_vbn_pipe_demuxer;
-extern const AVInputFormat ff_image_webp_pipe_demuxer;
-extern const AVInputFormat ff_image_xbm_pipe_demuxer;
-extern const AVInputFormat ff_image_xpm_pipe_demuxer;
-extern const AVInputFormat ff_image_xwd_pipe_demuxer;
+extern const FFInputFormat ff_image_bmp_pipe_demuxer;
+extern const FFInputFormat ff_image_cri_pipe_demuxer;
+extern const FFInputFormat ff_image_dds_pipe_demuxer;
+extern const FFInputFormat ff_image_dpx_pipe_demuxer;
+extern const FFInputFormat ff_image_exr_pipe_demuxer;
+extern const FFInputFormat ff_image_gem_pipe_demuxer;
+extern const FFInputFormat ff_image_gif_pipe_demuxer;
+extern const FFInputFormat ff_image_hdr_pipe_demuxer;
+extern const FFInputFormat ff_image_j2k_pipe_demuxer;
+extern const FFInputFormat ff_image_jpeg_pipe_demuxer;
+extern const FFInputFormat ff_image_jpegls_pipe_demuxer;
+extern const FFInputFormat ff_image_jpegxl_pipe_demuxer;
+extern const FFInputFormat ff_image_pam_pipe_demuxer;
+extern const FFInputFormat ff_image_pbm_pipe_demuxer;
+extern const FFInputFormat ff_image_pcx_pipe_demuxer;
+extern const FFInputFormat ff_image_pfm_pipe_demuxer;
+extern const FFInputFormat ff_image_pgmyuv_pipe_demuxer;
+extern const FFInputFormat ff_image_pgm_pipe_demuxer;
+extern const FFInputFormat ff_image_pgx_pipe_demuxer;
+extern const FFInputFormat ff_image_phm_pipe_demuxer;
+extern const FFInputFormat ff_image_photocd_pipe_demuxer;
+extern const FFInputFormat ff_image_pictor_pipe_demuxer;
+extern const FFInputFormat ff_image_png_pipe_demuxer;
+extern const FFInputFormat ff_image_ppm_pipe_demuxer;
+extern const FFInputFormat ff_image_psd_pipe_demuxer;
+extern const FFInputFormat ff_image_qdraw_pipe_demuxer;
+extern const FFInputFormat ff_image_qoi_pipe_demuxer;
+extern const FFInputFormat ff_image_sgi_pipe_demuxer;
+extern const FFInputFormat ff_image_svg_pipe_demuxer;
+extern const FFInputFormat ff_image_sunrast_pipe_demuxer;
+extern const FFInputFormat ff_image_tiff_pipe_demuxer;
+extern const FFInputFormat ff_image_vbn_pipe_demuxer;
+extern const FFInputFormat ff_image_webp_pipe_demuxer;
+extern const FFInputFormat ff_image_xbm_pipe_demuxer;
+extern const FFInputFormat ff_image_xpm_pipe_demuxer;
+extern const FFInputFormat ff_image_xwd_pipe_demuxer;
/* external libraries */
extern const FFOutputFormat ff_chromaprint_muxer;
-extern const AVInputFormat ff_libgme_demuxer;
-extern const AVInputFormat ff_libmodplug_demuxer;
-extern const AVInputFormat ff_libopenmpt_demuxer;
-extern const AVInputFormat ff_vapoursynth_demuxer;
+extern const FFInputFormat ff_libgme_demuxer;
+extern const FFInputFormat ff_libmodplug_demuxer;
+extern const FFInputFormat ff_libopenmpt_demuxer;
+extern const FFInputFormat ff_vapoursynth_demuxer;
#include "libavformat/muxer_list.c"
#include "libavformat/demuxer_list.c"
@@ -602,22 +603,24 @@ const AVInputFormat *av_demuxer_iterate(void **opaque)
{
static const uintptr_t size = sizeof(demuxer_list)/sizeof(demuxer_list[0]) - 1;
uintptr_t i = (uintptr_t)*opaque;
- const AVInputFormat *f = NULL;
+ const FFInputFormat *f = NULL;
uintptr_t tmp;
if (i < size) {
f = demuxer_list[i];
} else if (tmp = atomic_load_explicit(&indev_list_intptr, memory_order_relaxed)) {
- const AVInputFormat *const *indev_list = (const AVInputFormat *const *)tmp;
+ const FFInputFormat *const *indev_list = (const FFInputFormat *const *)tmp;
f = indev_list[i - size];
}
- if (f)
+ if (f) {
*opaque = (void*)(i + 1);
- return f;
+ return &f->p;
+ }
+ return NULL;
}
-void avpriv_register_devices(const FFOutputFormat * const o[], const AVInputFormat * const i[])
+void avpriv_register_devices(const FFOutputFormat * const o[], const FFInputFormat * const i[])
{
atomic_store_explicit(&outdev_list_intptr, (uintptr_t)o, memory_order_relaxed);
atomic_store_explicit(&indev_list_intptr, (uintptr_t)i, memory_order_relaxed);
@@ -24,6 +24,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "rawenc.h"
@@ -163,9 +164,9 @@ static int alp_seek(AVFormatContext *s, int stream_index,
return avio_seek(s->pb, hdr->header_size + 8, SEEK_SET);
}
-const AVInputFormat ff_alp_demuxer = {
- .name = "alp",
- .long_name = NULL_IF_CONFIG_SMALL("LEGO Racers ALP"),
+const FFInputFormat ff_alp_demuxer = {
+ .p.name = "alp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("LEGO Racers ALP"),
.priv_data_size = sizeof(ALPHeader),
.read_probe = alp_probe,
.read_header = alp_read_header,
@@ -29,6 +29,7 @@ Write and read amr data according to RFC3267, http://www.ietf.org/rfc/rfc3267.tx
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "rawdec.h"
@@ -140,15 +141,15 @@ static int amr_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_amr_demuxer = {
- .name = "amr",
- .long_name = NULL_IF_CONFIG_SMALL("3GPP AMR"),
+const FFInputFormat ff_amr_demuxer = {
+ .p.name = "amr",
+ .p.long_name = NULL_IF_CONFIG_SMALL("3GPP AMR"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &ff_raw_demuxer_class,
.priv_data_size = sizeof(AMRContext),
.read_probe = amr_probe,
.read_header = amr_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .priv_class = &ff_raw_demuxer_class,
};
#endif
@@ -197,15 +198,15 @@ static int amrnb_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_amrnb_demuxer = {
- .name = "amrnb",
- .long_name = NULL_IF_CONFIG_SMALL("raw AMR-NB"),
+const FFInputFormat ff_amrnb_demuxer = {
+ .p.name = "amrnb",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw AMR-NB"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &ff_raw_demuxer_class,
.priv_data_size = sizeof(AMRContext),
.read_probe = amrnb_probe,
.read_header = amrnb_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .priv_class = &ff_raw_demuxer_class,
};
#endif
@@ -254,15 +255,15 @@ static int amrwb_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_amrwb_demuxer = {
- .name = "amrwb",
- .long_name = NULL_IF_CONFIG_SMALL("raw AMR-WB"),
+const FFInputFormat ff_amrwb_demuxer = {
+ .p.name = "amrwb",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw AMR-WB"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &ff_raw_demuxer_class,
.priv_data_size = sizeof(AMRContext),
.read_probe = amrwb_probe,
.read_header = amrwb_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .priv_class = &ff_raw_demuxer_class,
};
#endif
@@ -215,9 +215,9 @@ repeat:
return 0;
}
-const AVInputFormat ff_anm_demuxer = {
- .name = "anm",
- .long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
+const FFInputFormat ff_anm_demuxer = {
+ .p.name = "anm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
.priv_data_size = sizeof(AnmDemuxContext),
.read_probe = probe,
.read_header = read_header,
@@ -72,15 +72,15 @@ static int apac_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_apac_demuxer = {
- .name = "apac",
- .long_name = NULL_IF_CONFIG_SMALL("raw APAC"),
+const FFInputFormat ff_apac_demuxer = {
+ .p.name = "apac",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw APAC"),
+ .p.extensions = "apc",
+ .p.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = apac_probe,
.read_header = apac_read_header,
.read_packet = ff_raw_read_partial_packet,
- .extensions = "apc",
- .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
.raw_codec_id = AV_CODEC_ID_APAC,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -79,9 +79,9 @@ static int apc_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_apc_demuxer = {
- .name = "apc",
- .long_name = NULL_IF_CONFIG_SMALL("CRYO APC"),
+const FFInputFormat ff_apc_demuxer = {
+ .p.name = "apc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("CRYO APC"),
.read_probe = apc_probe,
.read_header = apc_read_header,
.read_packet = apc_read_packet,
@@ -24,6 +24,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "apetag.h"
@@ -444,9 +445,10 @@ static int ape_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
return 0;
}
-const AVInputFormat ff_ape_demuxer = {
- .name = "ape",
- .long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
+const FFInputFormat ff_ape_demuxer = {
+ .p.name = "ape",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
+ .p.extensions = "ape,apl,mac",
.priv_data_size = sizeof(APEContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = ape_probe,
@@ -454,5 +456,4 @@ const AVInputFormat ff_ape_demuxer = {
.read_packet = ape_read_packet,
.read_close = ape_read_close,
.read_seek = ape_read_seek,
- .extensions = "ape,apl,mac",
};
@@ -23,6 +23,7 @@
#include "config_components.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "rawenc.h"
@@ -202,9 +203,9 @@ static int apm_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_apm_demuxer = {
- .name = "apm",
- .long_name = NULL_IF_CONFIG_SMALL("Ubisoft Rayman 2 APM"),
+const FFInputFormat ff_apm_demuxer = {
+ .p.name = "apm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Ubisoft Rayman 2 APM"),
.read_probe = apm_probe,
.read_header = apm_read_header,
.read_packet = apm_read_packet
@@ -28,6 +28,7 @@
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
@@ -421,13 +422,13 @@ static const AVClass demuxer_class = {
.category = AV_CLASS_CATEGORY_DEMUXER,
};
-const AVInputFormat ff_apng_demuxer = {
- .name = "apng",
- .long_name = NULL_IF_CONFIG_SMALL("Animated Portable Network Graphics"),
+const FFInputFormat ff_apng_demuxer = {
+ .p.name = "apng",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Animated Portable Network Graphics"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &demuxer_class,
.priv_data_size = sizeof(APNGDemuxContext),
.read_probe = apng_probe,
.read_header = apng_read_header,
.read_packet = apng_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .priv_class = &demuxer_class,
};
@@ -24,6 +24,7 @@
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#define APTX_BLOCK_SIZE 4
#define APTX_PACKET_SIZE (256*APTX_BLOCK_SIZE)
@@ -101,27 +102,27 @@ static const AVClass aptx_demuxer_class = {
};
#if CONFIG_APTX_DEMUXER
-const AVInputFormat ff_aptx_demuxer = {
- .name = "aptx",
- .long_name = NULL_IF_CONFIG_SMALL("raw aptX"),
- .extensions = "aptx",
+const FFInputFormat ff_aptx_demuxer = {
+ .p.name = "aptx",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw aptX"),
+ .p.extensions = "aptx",
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &aptx_demuxer_class,
.priv_data_size = sizeof(AptXDemuxerContext),
.read_header = aptx_read_header,
.read_packet = aptx_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .priv_class = &aptx_demuxer_class,
};
#endif
#if CONFIG_APTX_HD_DEMUXER
-const AVInputFormat ff_aptx_hd_demuxer = {
- .name = "aptx_hd",
- .long_name = NULL_IF_CONFIG_SMALL("raw aptX HD"),
- .extensions = "aptxhd",
+const FFInputFormat ff_aptx_hd_demuxer = {
+ .p.name = "aptx_hd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw aptX HD"),
+ .p.extensions = "aptxhd",
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &aptx_demuxer_class,
.priv_data_size = sizeof(AptXDemuxerContext),
.read_header = aptx_hd_read_header,
.read_packet = aptx_hd_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .priv_class = &aptx_demuxer_class,
};
#endif
@@ -27,6 +27,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/opt.h"
@@ -135,9 +136,11 @@ static const AVClass aqt_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_aqtitle_demuxer = {
- .name = "aqtitle",
- .long_name = NULL_IF_CONFIG_SMALL("AQTitle subtitles"),
+const FFInputFormat ff_aqtitle_demuxer = {
+ .p.name = "aqtitle",
+ .p.long_name = NULL_IF_CONFIG_SMALL("AQTitle subtitles"),
+ .p.extensions = "aqt",
+ .p.priv_class = &aqt_class,
.priv_data_size = sizeof(AQTitleContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = aqt_probe,
@@ -145,6 +148,4 @@ const AVInputFormat ff_aqtitle_demuxer = {
.read_packet = aqt_read_packet,
.read_seek2 = aqt_read_seek,
.read_close = aqt_read_close,
- .extensions = "aqt",
- .priv_class = &aqt_class,
};
@@ -24,6 +24,7 @@
#include "libavutil/avstring.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "libavutil/channel_layout.h"
@@ -272,9 +273,9 @@ static int argo_asf_seek(AVFormatContext *s, int stream_index,
* - Argonaut Sound File?
* - Audio Stream File?
*/
-const AVInputFormat ff_argo_asf_demuxer = {
- .name = "argo_asf",
- .long_name = NULL_IF_CONFIG_SMALL("Argonaut Games ASF"),
+const FFInputFormat ff_argo_asf_demuxer = {
+ .p.name = "argo_asf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Argonaut Games ASF"),
.priv_data_size = sizeof(ArgoASFDemuxContext),
.read_probe = argo_asf_probe,
.read_header = argo_asf_read_header,
@@ -21,6 +21,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/avassert.h"
@@ -413,9 +414,9 @@ static int argo_brp_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_argo_brp_demuxer = {
- .name = "argo_brp",
- .long_name = NULL_IF_CONFIG_SMALL("Argonaut Games BRP"),
+const FFInputFormat ff_argo_brp_demuxer = {
+ .p.name = "argo_brp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Argonaut Games BRP"),
.priv_data_size = sizeof(ArgoBRPDemuxContext),
.read_probe = argo_brp_probe,
.read_header = argo_brp_read_header,
@@ -25,6 +25,7 @@
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "libavutil/opt.h"
@@ -253,9 +254,9 @@ static int argo_cvg_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_argo_cvg_demuxer = {
- .name = "argo_cvg",
- .long_name = NULL_IF_CONFIG_SMALL("Argonaut Games CVG"),
+const FFInputFormat ff_argo_cvg_demuxer = {
+ .p.name = "argo_cvg",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Argonaut Games CVG"),
.priv_data_size = sizeof(ArgoCVGDemuxContext),
.read_probe = argo_cvg_probe,
.read_header = argo_cvg_read_header,
@@ -1617,9 +1617,11 @@ static int asf_read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_asf_demuxer = {
- .name = "asf",
- .long_name = NULL_IF_CONFIG_SMALL("ASF (Advanced / Active Streaming Format)"),
+const FFInputFormat ff_asf_demuxer = {
+ .p.name = "asf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("ASF (Advanced / Active Streaming Format)"),
+ .p.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
+ .p.priv_class = &asf_class,
.priv_data_size = sizeof(ASFContext),
.read_probe = asf_probe,
.read_header = asf_read_header,
@@ -1627,6 +1629,4 @@ const AVInputFormat ff_asf_demuxer = {
.read_close = asf_read_close,
.read_seek = asf_read_seek,
.read_timestamp = asf_read_pts,
- .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
- .priv_class = &asf_class,
};
@@ -1674,9 +1674,10 @@ failed:
return ret;
}
-const AVInputFormat ff_asf_o_demuxer = {
- .name = "asf_o",
- .long_name = NULL_IF_CONFIG_SMALL("ASF (Advanced / Active Streaming Format)"),
+const FFInputFormat ff_asf_o_demuxer = {
+ .p.name = "asf_o",
+ .p.long_name = NULL_IF_CONFIG_SMALL("ASF (Advanced / Active Streaming Format)"),
+ .p.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
.priv_data_size = sizeof(ASFContext),
.read_probe = asf_probe,
.read_header = asf_read_header,
@@ -1684,5 +1685,4 @@ const AVInputFormat ff_asf_o_demuxer = {
.read_close = asf_read_close,
.read_timestamp = asf_read_timestamp,
.read_seek = asf_read_seek,
- .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
};
@@ -23,6 +23,7 @@
#include <stdint.h>
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/bprint.h"
@@ -160,9 +161,9 @@ end:
return res;
}
-const AVInputFormat ff_ass_demuxer = {
- .name = "ass",
- .long_name = NULL_IF_CONFIG_SMALL("SSA (SubStation Alpha) subtitle"),
+const FFInputFormat ff_ass_demuxer = {
+ .p.name = "ass",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SSA (SubStation Alpha) subtitle"),
.flags_internal = FF_FMT_INIT_CLEANUP,
.priv_data_size = sizeof(ASSContext),
.read_probe = ass_probe,
@@ -22,6 +22,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "ast.h"
@@ -111,13 +112,13 @@ static int ast_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_ast_demuxer = {
- .name = "ast",
- .long_name = NULL_IF_CONFIG_SMALL("AST (Audio Stream)"),
+const FFInputFormat ff_ast_demuxer = {
+ .p.name = "ast",
+ .p.long_name = NULL_IF_CONFIG_SMALL("AST (Audio Stream)"),
+ .p.extensions = "ast",
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.codec_tag = ff_ast_codec_tags_list,
.read_probe = ast_probe,
.read_header = ast_read_header,
.read_packet = ast_read_packet,
- .extensions = "ast",
- .flags = AVFMT_GENERIC_INDEX,
- .codec_tag = ff_ast_codec_tags_list,
};
@@ -32,6 +32,7 @@
#include "libavutil/bprint.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
#include "mux.h"
@@ -235,14 +236,14 @@ static int au_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_au_demuxer = {
- .name = "au",
- .long_name = NULL_IF_CONFIG_SMALL("Sun AU"),
+const FFInputFormat ff_au_demuxer = {
+ .p.name = "au",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sun AU"),
+ .p.codec_tag = au_codec_tags,
.read_probe = au_probe,
.read_header = au_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .codec_tag = au_codec_tags,
};
#endif /* CONFIG_AU_DEMUXER */
@@ -27,6 +27,7 @@
#include "libavcodec/bsf.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
typedef struct AV1DemuxContext {
@@ -281,18 +282,18 @@ end:
return ret;
}
-const AVInputFormat ff_av1_demuxer = {
- .name = "av1",
- .long_name = NULL_IF_CONFIG_SMALL("AV1 Annex B"),
+const FFInputFormat ff_av1_demuxer = {
+ .p.name = "av1",
+ .p.long_name = NULL_IF_CONFIG_SMALL("AV1 Annex B"),
+ .p.extensions = "obu",
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
+ .p.priv_class = &av1_demuxer_class,
.priv_data_size = sizeof(AV1DemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = annexb_probe,
.read_header = av1_read_header,
.read_packet = annexb_read_packet,
.read_close = av1_read_close,
- .extensions = "obu",
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
- .priv_class = &av1_demuxer_class,
};
#endif
@@ -426,17 +427,17 @@ static int obu_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_obu_demuxer = {
- .name = "obu",
- .long_name = NULL_IF_CONFIG_SMALL("AV1 low overhead OBU"),
+const FFInputFormat ff_obu_demuxer = {
+ .p.name = "obu",
+ .p.long_name = NULL_IF_CONFIG_SMALL("AV1 low overhead OBU"),
+ .p.extensions = "obu",
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
+ .p.priv_class = &av1_demuxer_class,
.priv_data_size = sizeof(AV1DemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = obu_probe,
.read_header = av1_read_header,
.read_packet = obu_read_packet,
.read_close = av1_read_close,
- .extensions = "obu",
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
- .priv_class = &av1_demuxer_class,
};
#endif
@@ -330,7 +330,6 @@
struct AVFormatContext;
struct AVFrame;
-struct AVDeviceInfoList;
/**
* @defgroup metadata_api Public Metadata API
@@ -584,103 +583,6 @@ typedef struct AVInputFormat {
* @see av_probe_input_format2
*/
const char *mime_type;
-
- /*****************************************************************
- * No fields below this line are part of the public API. They
- * may not be used outside of libavformat and can be changed and
- * removed at will.
- * New public fields should be added right above.
- *****************************************************************
- */
- /**
- * Raw demuxers store their codec ID here.
- */
- int raw_codec_id;
-
- /**
- * Size of private data so that it can be allocated in the wrapper.
- */
- int priv_data_size;
-
- /**
- * Internal flags. See FF_FMT_FLAG_* in internal.h.
- */
- int flags_internal;
-
- /**
- * Tell if a given file has a chance of being parsed as this format.
- * The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes
- * big so you do not have to check for that unless you need more.
- */
- int (*read_probe)(const AVProbeData *);
-
- /**
- * Read the format header and initialize the AVFormatContext
- * structure. Return 0 if OK. 'avformat_new_stream' should be
- * called to create new streams.
- */
- int (*read_header)(struct AVFormatContext *);
-
- /**
- * Read one packet and put it in 'pkt'. pts and flags are also
- * set. 'avformat_new_stream' can be called only if the flag
- * AVFMTCTX_NOHEADER is used and only in the calling thread (not in a
- * background thread).
- * @return 0 on success, < 0 on error.
- * Upon returning an error, pkt must be unreferenced by the caller.
- */
- int (*read_packet)(struct AVFormatContext *, AVPacket *pkt);
-
- /**
- * Close the stream. The AVFormatContext and AVStreams are not
- * freed by this function
- */
- int (*read_close)(struct AVFormatContext *);
-
- /**
- * Seek to a given timestamp relative to the frames in
- * stream component stream_index.
- * @param stream_index Must not be -1.
- * @param flags Selects which direction should be preferred if no exact
- * match is available.
- * @return >= 0 on success (but not necessarily the new offset)
- */
- int (*read_seek)(struct AVFormatContext *,
- int stream_index, int64_t timestamp, int flags);
-
- /**
- * Get the next timestamp in stream[stream_index].time_base units.
- * @return the timestamp or AV_NOPTS_VALUE if an error occurred
- */
- int64_t (*read_timestamp)(struct AVFormatContext *s, int stream_index,
- int64_t *pos, int64_t pos_limit);
-
- /**
- * Start/resume playing - only meaningful if using a network-based format
- * (RTSP).
- */
- int (*read_play)(struct AVFormatContext *);
-
- /**
- * Pause playing - only meaningful if using a network-based format
- * (RTSP).
- */
- int (*read_pause)(struct AVFormatContext *);
-
- /**
- * Seek to timestamp ts.
- * Seeking will be done so that the point from which all active streams
- * can be presented successfully will be closest to ts and within min/max_ts.
- * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
- */
- int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
-
- /**
- * Returns device list with it properties.
- * @see avdevice_list_devices() for more details.
- */
- int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list);
-
} AVInputFormat;
/**
* @}
@@ -2010,16 +2010,16 @@ static int avi_probe(const AVProbeData *p)
return 0;
}
-const AVInputFormat ff_avi_demuxer = {
- .name = "avi",
- .long_name = NULL_IF_CONFIG_SMALL("AVI (Audio Video Interleaved)"),
+const FFInputFormat ff_avi_demuxer = {
+ .p.name = "avi",
+ .p.long_name = NULL_IF_CONFIG_SMALL("AVI (Audio Video Interleaved)"),
+ .p.extensions = "avi",
+ .p.priv_class = &demuxer_class,
.priv_data_size = sizeof(AVIContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
- .extensions = "avi",
.read_probe = avi_probe,
.read_header = avi_read_header,
.read_packet = avi_read_packet,
.read_close = avi_read_close,
.read_seek = avi_read_seek,
- .priv_class = &demuxer_class,
};
@@ -26,6 +26,7 @@
#include "libavcodec/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "config.h"
@@ -1197,14 +1198,14 @@ static const AVClass avisynth_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_avisynth_demuxer = {
- .name = "avisynth",
- .long_name = NULL_IF_CONFIG_SMALL("AviSynth script"),
+const FFInputFormat ff_avisynth_demuxer = {
+ .p.name = "avisynth",
+ .p.long_name = NULL_IF_CONFIG_SMALL("AviSynth script"),
+ .p.extensions = "avs",
+ .p.priv_class = &avisynth_demuxer_class,
.priv_data_size = sizeof(AviSynthContext),
.read_header = avisynth_read_header,
.read_packet = avisynth_read_packet,
.read_close = avisynth_read_close,
.read_seek = avisynth_read_seek,
- .extensions = "avs",
- .priv_class = &avisynth_demuxer_class,
};
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -90,13 +91,13 @@ static int avr_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_avr_demuxer = {
- .name = "avr",
- .long_name = NULL_IF_CONFIG_SMALL("AVR (Audio Visual Research)"),
+const FFInputFormat ff_avr_demuxer = {
+ .p.name = "avr",
+ .p.long_name = NULL_IF_CONFIG_SMALL("AVR (Audio Visual Research)"),
+ .p.extensions = "avr",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = avr_probe,
.read_header = avr_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .extensions = "avr",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -26,6 +26,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "voc.h"
@@ -228,9 +229,9 @@ static int avs_read_packet(AVFormatContext * s, AVPacket * pkt)
}
}
-const AVInputFormat ff_avs_demuxer = {
- .name = "avs",
- .long_name = NULL_IF_CONFIG_SMALL("Argonaut Games Creature Shock"),
+const FFInputFormat ff_avs_demuxer = {
+ .p.name = "avs",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Argonaut Games Creature Shock"),
.priv_data_size = sizeof(AvsFormat),
.read_probe = avs_probe,
.read_header = avs_read_header,
@@ -31,6 +31,7 @@
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavcodec/bethsoftvideo.h"
@@ -290,9 +291,9 @@ static int vid_read_packet(AVFormatContext *s,
}
}
-const AVInputFormat ff_bethsoftvid_demuxer = {
- .name = "bethsoftvid",
- .long_name = NULL_IF_CONFIG_SMALL("Bethesda Softworks VID"),
+const FFInputFormat ff_bethsoftvid_demuxer = {
+ .p.name = "bethsoftvid",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Bethesda Softworks VID"),
.priv_data_size = sizeof(BVID_DemuxContext),
.read_probe = vid_probe,
.read_header = vid_read_header,
@@ -176,9 +176,9 @@ static int bfi_read_packet(AVFormatContext * s, AVPacket * pkt)
return ret;
}
-const AVInputFormat ff_bfi_demuxer = {
- .name = "bfi",
- .long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
+const FFInputFormat ff_bfi_demuxer = {
+ .p.name = "bfi",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
.priv_data_size = sizeof(BFIContext),
.read_probe = bfi_probe,
.read_header = bfi_read_header,
@@ -324,13 +324,13 @@ static int read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, in
return 0;
}
-const AVInputFormat ff_bink_demuxer = {
- .name = "bink",
- .long_name = NULL_IF_CONFIG_SMALL("Bink"),
+const FFInputFormat ff_bink_demuxer = {
+ .p.name = "bink",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Bink"),
+ .p.flags = AVFMT_SHOW_IDS,
.priv_data_size = sizeof(BinkDemuxContext),
.read_probe = probe,
.read_header = read_header,
.read_packet = read_packet,
.read_seek = read_seek,
- .flags = AVFMT_SHOW_IDS,
};
@@ -20,6 +20,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int binka_probe(const AVProbeData *p)
@@ -89,12 +90,12 @@ static int binka_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_binka_demuxer = {
- .name = "binka",
- .long_name = NULL_IF_CONFIG_SMALL("Bink Audio"),
+const FFInputFormat ff_binka_demuxer = {
+ .p.name = "binka",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Bink Audio"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "binka",
.read_probe = binka_probe,
.read_header = binka_read_header,
.read_packet = binka_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "binka",
};
@@ -36,6 +36,7 @@
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "sauce.h"
#include "libavcodec/bintext.h"
@@ -388,50 +389,50 @@ static const AVOption options[] = {
}}
#if CONFIG_BINTEXT_DEMUXER
-const AVInputFormat ff_bintext_demuxer = {
- .name = "bin",
- .long_name = NULL_IF_CONFIG_SMALL("Binary text"),
+const FFInputFormat ff_bintext_demuxer = {
+ .p.name = "bin",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Binary text"),
+ .p.priv_class = CLASS("Binary text demuxer"),
.priv_data_size = sizeof(BinDemuxContext),
.read_probe = bin_probe,
.read_header = bintext_read_header,
.read_packet = read_packet,
- .priv_class = CLASS("Binary text demuxer"),
};
#endif
#if CONFIG_XBIN_DEMUXER
-const AVInputFormat ff_xbin_demuxer = {
- .name = "xbin",
- .long_name = NULL_IF_CONFIG_SMALL("eXtended BINary text (XBIN)"),
+const FFInputFormat ff_xbin_demuxer = {
+ .p.name = "xbin",
+ .p.long_name = NULL_IF_CONFIG_SMALL("eXtended BINary text (XBIN)"),
+ .p.priv_class = CLASS("eXtended BINary text (XBIN) demuxer"),
.priv_data_size = sizeof(BinDemuxContext),
.read_probe = xbin_probe,
.read_header = xbin_read_header,
.read_packet = read_packet,
- .priv_class = CLASS("eXtended BINary text (XBIN) demuxer"),
};
#endif
#if CONFIG_ADF_DEMUXER
-const AVInputFormat ff_adf_demuxer = {
- .name = "adf",
- .long_name = NULL_IF_CONFIG_SMALL("Artworx Data Format"),
+const FFInputFormat ff_adf_demuxer = {
+ .p.name = "adf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Artworx Data Format"),
+ .p.extensions = "adf",
+ .p.priv_class = CLASS("Artworx Data Format demuxer"),
.priv_data_size = sizeof(BinDemuxContext),
.read_header = adf_read_header,
.read_packet = read_packet,
- .extensions = "adf",
- .priv_class = CLASS("Artworx Data Format demuxer"),
};
#endif
#if CONFIG_IDF_DEMUXER
-const AVInputFormat ff_idf_demuxer = {
- .name = "idf",
- .long_name = NULL_IF_CONFIG_SMALL("iCE Draw File"),
+const FFInputFormat ff_idf_demuxer = {
+ .p.name = "idf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("iCE Draw File"),
+ .p.extensions = "idf",
+ .p.priv_class = CLASS("iCE Draw File demuxer"),
.priv_data_size = sizeof(BinDemuxContext),
.read_probe = idf_probe,
.read_header = idf_read_header,
.read_packet = read_packet,
- .extensions = "idf",
- .priv_class = CLASS("iCE Draw File demuxer"),
};
#endif
@@ -22,6 +22,7 @@
#include "config_components.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "libavcodec/get_bits.h"
@@ -113,13 +114,13 @@ static int read_packet(AVFormatContext *s,
return 0;
}
-const AVInputFormat ff_bit_demuxer = {
- .name = "bit",
- .long_name = NULL_IF_CONFIG_SMALL("G.729 BIT file format"),
+const FFInputFormat ff_bit_demuxer = {
+ .p.name = "bit",
+ .p.long_name = NULL_IF_CONFIG_SMALL("G.729 BIT file format"),
+ .p.extensions = "bit",
.read_probe = probe,
.read_header = read_header,
.read_packet = read_packet,
- .extensions = "bit",
};
#endif
@@ -21,6 +21,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
enum BMVFlags {
@@ -124,12 +125,12 @@ static int bmv_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_bmv_demuxer = {
- .name = "bmv",
- .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV"),
+const FFInputFormat ff_bmv_demuxer = {
+ .p.name = "bmv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV"),
+ .p.extensions = "bmv",
.priv_data_size = sizeof(BMVContext),
.read_header = bmv_read_header,
.read_packet = bmv_read_packet,
.read_close = bmv_read_close,
- .extensions = "bmv",
};
@@ -22,6 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "libavcodec/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int probe(const AVProbeData *p)
@@ -78,11 +79,11 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, st->codecpar->block_align);
}
-const AVInputFormat ff_boa_demuxer = {
- .name = "boa",
- .long_name = NULL_IF_CONFIG_SMALL("Black Ops Audio"),
+const FFInputFormat ff_boa_demuxer = {
+ .p.name = "boa",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Black Ops Audio"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = probe,
.read_header = read_header,
.read_packet = read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -103,15 +103,15 @@ static int bonk_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_bonk_demuxer = {
- .name = "bonk",
- .long_name = NULL_IF_CONFIG_SMALL("raw Bonk"),
+const FFInputFormat ff_bonk_demuxer = {
+ .p.name = "bonk",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw Bonk"),
+ .p.extensions = "bonk",
+ .p.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = bonk_probe,
.read_header = bonk_read_header,
.read_packet = ff_raw_read_partial_packet,
- .extensions = "bonk",
- .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
.raw_codec_id = AV_CODEC_ID_BONK,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -467,9 +467,10 @@ static int read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_brstm_demuxer = {
- .name = "brstm",
- .long_name = NULL_IF_CONFIG_SMALL("BRSTM (Binary Revolution Stream)"),
+const FFInputFormat ff_brstm_demuxer = {
+ .p.name = "brstm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("BRSTM (Binary Revolution Stream)"),
+ .p.extensions = "brstm",
.priv_data_size = sizeof(BRSTMDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = probe,
@@ -477,12 +478,12 @@ const AVInputFormat ff_brstm_demuxer = {
.read_packet = read_packet,
.read_close = read_close,
.read_seek = read_seek,
- .extensions = "brstm",
};
-const AVInputFormat ff_bfstm_demuxer = {
- .name = "bfstm",
- .long_name = NULL_IF_CONFIG_SMALL("BFSTM (Binary Cafe Stream)"),
+const FFInputFormat ff_bfstm_demuxer = {
+ .p.name = "bfstm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("BFSTM (Binary Cafe Stream)"),
+ .p.extensions = "bfstm,bcstm",
.priv_data_size = sizeof(BRSTMDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = probe_bfstm,
@@ -490,5 +491,4 @@ const AVInputFormat ff_bfstm_demuxer = {
.read_packet = read_packet,
.read_close = read_close,
.read_seek = read_seek,
- .extensions = "bfstm,bcstm",
};
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "voc.h"
#include "libavutil/intreadwrite.h"
@@ -185,9 +186,9 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_c93_demuxer = {
- .name = "c93",
- .long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),
+const FFInputFormat ff_c93_demuxer = {
+ .p.name = "c93",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),
.priv_data_size = sizeof(C93DemuxContext),
.read_probe = probe,
.read_header = read_header,
@@ -512,13 +512,13 @@ static int read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_caf_demuxer = {
- .name = "caf",
- .long_name = NULL_IF_CONFIG_SMALL("Apple CAF (Core Audio Format)"),
+const FFInputFormat ff_caf_demuxer = {
+ .p.name = "caf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Apple CAF (Core Audio Format)"),
+ .p.codec_tag = ff_caf_codec_tags_list,
.priv_data_size = sizeof(CafContext),
.read_probe = probe,
.read_header = read_header,
.read_packet = read_packet,
.read_seek = read_seek,
- .codec_tag = ff_caf_codec_tags_list,
};
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define CDG_PACKET_SIZE 24
@@ -83,12 +84,12 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_cdg_demuxer = {
- .name = "cdg",
- .long_name = NULL_IF_CONFIG_SMALL("CD Graphics"),
+const FFInputFormat ff_cdg_demuxer = {
+ .p.name = "cdg",
+ .p.long_name = NULL_IF_CONFIG_SMALL("CD Graphics"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "cdg",
.read_probe = read_probe,
.read_header = read_header,
.read_packet = read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "cdg",
};
@@ -24,6 +24,7 @@
#include "libavutil/parseutils.h"
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define CDXL_HEADER_SIZE 32
@@ -257,15 +258,15 @@ static const AVClass cdxl_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_cdxl_demuxer = {
- .name = "cdxl",
- .long_name = NULL_IF_CONFIG_SMALL("Commodore CDXL video"),
+const FFInputFormat ff_cdxl_demuxer = {
+ .p.name = "cdxl",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Commodore CDXL video"),
+ .p.priv_class = &cdxl_demuxer_class,
+ .p.extensions = "cdxl,xl",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(CDXLDemuxContext),
- .priv_class = &cdxl_demuxer_class,
.read_probe = cdxl_read_probe,
.read_header = cdxl_read_header,
.read_packet = cdxl_read_packet,
.read_seek = read_seek,
- .extensions = "cdxl,xl",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -29,6 +29,7 @@
#include "libavcodec/bmp.h"
#include "libavutil/intfloat.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct {
@@ -336,9 +337,9 @@ static int cine_read_seek(AVFormatContext *avctx, int stream_index, int64_t time
return 0;
}
-const AVInputFormat ff_cine_demuxer = {
- .name = "cine",
- .long_name = NULL_IF_CONFIG_SMALL("Phantom Cine"),
+const FFInputFormat ff_cine_demuxer = {
+ .p.name = "cine",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Phantom Cine"),
.priv_data_size = sizeof(CineDemuxContext),
.read_probe = cine_read_probe,
.read_header = cine_read_header,
@@ -27,6 +27,7 @@
#include "libavutil/opt.h"
#include "avio_internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "rawenc.h"
@@ -294,18 +295,18 @@ static const AVClass codec2raw_demux_class = {
};
#if CONFIG_CODEC2_DEMUXER
-const AVInputFormat ff_codec2_demuxer = {
- .name = "codec2",
- .long_name = NULL_IF_CONFIG_SMALL("codec2 .c2 demuxer"),
+const FFInputFormat ff_codec2_demuxer = {
+ .p.name = "codec2",
+ .p.long_name = NULL_IF_CONFIG_SMALL("codec2 .c2 demuxer"),
+ .p.extensions = "c2",
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &codec2_demux_class,
.priv_data_size = sizeof(Codec2Context),
- .extensions = "c2",
.read_probe = codec2_probe,
.read_header = codec2_read_header,
.read_packet = codec2_read_packet,
.read_seek = ff_pcm_read_seek,
- .flags = AVFMT_GENERIC_INDEX,
.raw_codec_id = AV_CODEC_ID_CODEC2,
- .priv_class = &codec2_demux_class,
};
#endif
@@ -324,15 +325,15 @@ const FFOutputFormat ff_codec2_muxer = {
#endif
#if CONFIG_CODEC2RAW_DEMUXER
-const AVInputFormat ff_codec2raw_demuxer = {
- .name = "codec2raw",
- .long_name = NULL_IF_CONFIG_SMALL("raw codec2 demuxer"),
+const FFInputFormat ff_codec2raw_demuxer = {
+ .p.name = "codec2raw",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw codec2 demuxer"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &codec2raw_demux_class,
.priv_data_size = sizeof(Codec2Context),
.read_header = codec2raw_read_header,
.read_packet = codec2_read_packet,
.read_seek = ff_pcm_read_seek,
- .flags = AVFMT_GENERIC_INDEX,
.raw_codec_id = AV_CODEC_ID_CODEC2,
- .priv_class = &codec2raw_demux_class,
};
#endif
@@ -936,9 +936,10 @@ static const AVClass concat_class = {
};
-const AVInputFormat ff_concat_demuxer = {
- .name = "concat",
- .long_name = NULL_IF_CONFIG_SMALL("Virtual concatenation script"),
+const FFInputFormat ff_concat_demuxer = {
+ .p.name = "concat",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Virtual concatenation script"),
+ .p.priv_class = &concat_class,
.priv_data_size = sizeof(ConcatContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = concat_probe,
@@ -946,5 +947,4 @@ const AVInputFormat ff_concat_demuxer = {
.read_packet = concat_read_packet,
.read_close = concat_read_close,
.read_seek2 = concat_seek,
- .priv_class = &concat_class,
};
@@ -2355,10 +2355,11 @@ static const AVClass dash_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_dash_demuxer = {
- .name = "dash",
- .long_name = NULL_IF_CONFIG_SMALL("Dynamic Adaptive Streaming over HTTP"),
- .priv_class = &dash_class,
+const FFInputFormat ff_dash_demuxer = {
+ .p.name = "dash",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Dynamic Adaptive Streaming over HTTP"),
+ .p.priv_class = &dash_class,
+ .p.flags = AVFMT_NO_BYTE_SEEK,
.priv_data_size = sizeof(DASHContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = dash_probe,
@@ -2366,5 +2367,4 @@ const AVInputFormat ff_dash_demuxer = {
.read_packet = dash_read_packet,
.read_close = dash_close,
.read_seek = dash_read_seek,
- .flags = AVFMT_NO_BYTE_SEEK,
};
@@ -21,6 +21,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int daud_header(AVFormatContext *s) {
@@ -53,10 +54,10 @@ static int daud_packet(AVFormatContext *s, AVPacket *pkt) {
return ret;
}
-const AVInputFormat ff_daud_demuxer = {
- .name = "daud",
- .long_name = NULL_IF_CONFIG_SMALL("D-Cinema audio"),
+const FFInputFormat ff_daud_demuxer = {
+ .p.name = "daud",
+ .p.long_name = NULL_IF_CONFIG_SMALL("D-Cinema audio"),
+ .p.extensions = "302,daud",
.read_header = daud_header,
.read_packet = daud_packet,
- .extensions = "302,daud",
};
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int dcstr_probe(const AVProbeData *p)
@@ -80,12 +81,12 @@ static int dcstr_read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, par->block_align);
}
-const AVInputFormat ff_dcstr_demuxer = {
- .name = "dcstr",
- .long_name = NULL_IF_CONFIG_SMALL("Sega DC STR"),
+const FFInputFormat ff_dcstr_demuxer = {
+ .p.name = "dcstr",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sega DC STR"),
+ .p.extensions = "str",
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_NOBINSEARCH,
.read_probe = dcstr_probe,
.read_header = dcstr_read_header,
.read_packet = dcstr_read_packet,
- .extensions = "str",
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_NOBINSEARCH,
};
@@ -283,8 +283,8 @@ int avformat_open_input(AVFormatContext **ps, const char *filename,
s->duration = s->start_time = AV_NOPTS_VALUE;
/* Allocate private data. */
- if (s->iformat->priv_data_size > 0) {
- if (!(s->priv_data = av_mallocz(s->iformat->priv_data_size))) {
+ if (ffifmt(s->iformat)->priv_data_size > 0) {
+ if (!(s->priv_data = av_mallocz(ffifmt(s->iformat)->priv_data_size))) {
ret = AVERROR(ENOMEM);
goto fail;
}
@@ -300,9 +300,9 @@ int avformat_open_input(AVFormatContext **ps, const char *filename,
if (s->pb)
ff_id3v2_read_dict(s->pb, &si->id3v2_meta, ID3v2_DEFAULT_MAGIC, &id3v2_extra_meta);
- if (s->iformat->read_header)
- if ((ret = s->iformat->read_header(s)) < 0) {
- if (s->iformat->flags_internal & FF_FMT_INIT_CLEANUP)
+ if (ffifmt(s->iformat)->read_header)
+ if ((ret = ffifmt(s->iformat)->read_header(s)) < 0) {
+ if (ffifmt(s->iformat)->flags_internal & FF_FMT_INIT_CLEANUP)
goto close;
goto fail;
}
@@ -347,8 +347,8 @@ int avformat_open_input(AVFormatContext **ps, const char *filename,
return 0;
close:
- if (s->iformat->read_close)
- s->iformat->read_close(s);
+ if (ffifmt(s->iformat)->read_close)
+ ffifmt(s->iformat)->read_close(s);
fail:
ff_id3v2_free_extra_meta(&id3v2_extra_meta);
av_dict_free(&tmp);
@@ -375,8 +375,8 @@ void avformat_close_input(AVFormatContext **ps)
pb = NULL;
if (s->iformat)
- if (s->iformat->read_close)
- s->iformat->read_close(s);
+ if (ffifmt(s->iformat)->read_close)
+ ffifmt(s->iformat)->read_close(s);
avformat_free_context(s);
@@ -561,7 +561,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
}
}
- err = s->iformat->read_packet(s, pkt);
+ err = ffifmt(s->iformat)->read_packet(s, pkt);
if (err < 0) {
av_packet_unref(pkt);
@@ -26,6 +26,109 @@
#include "libavcodec/packet.h"
#include "avformat.h"
+struct AVDeviceInfoList;
+
+typedef struct FFInputFormat {
+ /**
+ * The public AVInputFormat. See avformat.h for it.
+ */
+ AVInputFormat p;
+
+ /**
+ * Raw demuxers store their codec ID here.
+ */
+ int raw_codec_id;
+
+ /**
+ * Size of private data so that it can be allocated in the wrapper.
+ */
+ int priv_data_size;
+
+ /**
+ * Internal flags. See FF_FMT_FLAG_* in internal.h.
+ */
+ int flags_internal;
+
+ /**
+ * Tell if a given file has a chance of being parsed as this format.
+ * The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes
+ * big so you do not have to check for that unless you need more.
+ */
+ int (*read_probe)(const AVProbeData *);
+
+ /**
+ * Read the format header and initialize the AVFormatContext
+ * structure. Return 0 if OK. 'avformat_new_stream' should be
+ * called to create new streams.
+ */
+ int (*read_header)(struct AVFormatContext *);
+
+ /**
+ * Read one packet and put it in 'pkt'. pts and flags are also
+ * set. 'avformat_new_stream' can be called only if the flag
+ * AVFMTCTX_NOHEADER is used and only in the calling thread (not in a
+ * background thread).
+ * @return 0 on success, < 0 on error.
+ * Upon returning an error, pkt must be unreferenced by the caller.
+ */
+ int (*read_packet)(struct AVFormatContext *, AVPacket *pkt);
+
+ /**
+ * Close the stream. The AVFormatContext and AVStreams are not
+ * freed by this function
+ */
+ int (*read_close)(struct AVFormatContext *);
+
+ /**
+ * Seek to a given timestamp relative to the frames in
+ * stream component stream_index.
+ * @param stream_index Must not be -1.
+ * @param flags Selects which direction should be preferred if no exact
+ * match is available.
+ * @return >= 0 on success (but not necessarily the new offset)
+ */
+ int (*read_seek)(struct AVFormatContext *,
+ int stream_index, int64_t timestamp, int flags);
+
+ /**
+ * Get the next timestamp in stream[stream_index].time_base units.
+ * @return the timestamp or AV_NOPTS_VALUE if an error occurred
+ */
+ int64_t (*read_timestamp)(struct AVFormatContext *s, int stream_index,
+ int64_t *pos, int64_t pos_limit);
+
+ /**
+ * Start/resume playing - only meaningful if using a network-based format
+ * (RTSP).
+ */
+ int (*read_play)(struct AVFormatContext *);
+
+ /**
+ * Pause playing - only meaningful if using a network-based format
+ * (RTSP).
+ */
+ int (*read_pause)(struct AVFormatContext *);
+
+ /**
+ * Seek to timestamp ts.
+ * Seeking will be done so that the point from which all active streams
+ * can be presented successfully will be closest to ts and within min/max_ts.
+ * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
+ */
+ int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
+
+ /**
+ * Returns device list with it properties.
+ * @see avdevice_list_devices() for more details.
+ */
+ int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list);
+} FFInputFormat;
+
+static inline const FFInputFormat *ffifmt(const AVInputFormat *fmt)
+{
+ return (const FFInputFormat*)fmt;
+}
+
#define MAX_STD_TIMEBASES (30*12+30+3+6)
typedef struct FFStreamInfo {
int64_t last_dts;
@@ -90,7 +193,7 @@ void ff_read_frame_flush(AVFormatContext *s);
/**
* Perform a binary search using av_index_search_timestamp() and
- * AVInputFormat.read_timestamp().
+ * FFInputFormat.read_timestamp().
*
* @param target_ts target timestamp in the time base of the given stream
* @param stream_index stream number
@@ -166,7 +269,7 @@ void ff_rfps_calculate(AVFormatContext *ic);
* rounded to the nearest integer and halfway cases away from zero, and can
* therefore fall outside of the output interval.
*
- * Useful to simplify the rescaling of the arguments of AVInputFormat::read_seek2()
+ * Useful to simplify the rescaling of the arguments of FFInputFormat::read_seek2()
*
* @param[in] tb_in Timebase of the input `min_ts`, `ts` and `max_ts`
* @param[in] tb_out Timebase of the output `min_ts`, `ts` and `max_ts`
@@ -181,8 +181,8 @@ int ff_add_param_change(AVPacket *pkt, int32_t channels,
int av_read_play(AVFormatContext *s)
{
- if (s->iformat->read_play)
- return s->iformat->read_play(s);
+ if (ffifmt(s->iformat)->read_play)
+ return ffifmt(s->iformat)->read_play(s);
if (s->pb)
return avio_pause(s->pb, 0);
return AVERROR(ENOSYS);
@@ -190,8 +190,8 @@ int av_read_play(AVFormatContext *s)
int av_read_pause(AVFormatContext *s)
{
- if (s->iformat->read_pause)
- return s->iformat->read_pause(s);
+ if (ffifmt(s->iformat)->read_pause)
+ return ffifmt(s->iformat)->read_pause(s);
if (s->pb)
return avio_pause(s->pb, 1);
return AVERROR(ENOSYS);
@@ -22,6 +22,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -67,12 +68,12 @@ static int derf_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_derf_demuxer = {
- .name = "derf",
- .long_name = NULL_IF_CONFIG_SMALL("Xilam DERF"),
+const FFInputFormat ff_derf_demuxer = {
+ .p.name = "derf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Xilam DERF"),
+ .p.extensions = "adp",
.read_probe = derf_probe,
.read_header = derf_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .extensions = "adp",
};
@@ -23,6 +23,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int dfa_probe(const AVProbeData *p)
@@ -120,11 +121,11 @@ static int dfa_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_dfa_demuxer = {
- .name = "dfa",
- .long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
+const FFInputFormat ff_dfa_demuxer = {
+ .p.name = "dfa",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = dfa_probe,
.read_header = dfa_read_header,
.read_packet = dfa_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -22,6 +22,7 @@
#include "libavutil/avstring.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
#include "libavutil/log.h"
@@ -71,15 +72,15 @@ static const AVClass dfpwm_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_dfpwm_demuxer = {
- .name = "dfpwm",
- .long_name = NULL_IF_CONFIG_SMALL("raw DFPWM1a"),
+const FFInputFormat ff_dfpwm_demuxer = {
+ .p.name = "dfpwm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw DFPWM1a"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "dfpwm",
+ .p.priv_class = &dfpwm_demuxer_class,
.priv_data_size = sizeof(DFPWMAudioDemuxerContext),
.read_header = dfpwm_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "dfpwm",
.raw_codec_id = AV_CODEC_ID_DFPWM,
- .priv_class = &dfpwm_demuxer_class,
};
@@ -25,6 +25,7 @@
#include "libavutil/parseutils.h"
#include "avio_internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct DHAVContext {
@@ -462,14 +463,14 @@ static int dhav_read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_dhav_demuxer = {
- .name = "dhav",
- .long_name = NULL_IF_CONFIG_SMALL("Video DAV"),
+const FFInputFormat ff_dhav_demuxer = {
+ .p.name = "dhav",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Video DAV"),
+ .p.extensions = "dav",
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_TS_DISCONT | AVFMT_TS_NONSTRICT | AVFMT_SEEK_TO_PTS,
.priv_data_size = sizeof(DHAVContext),
.read_probe = dhav_probe,
.read_header = dhav_read_header,
.read_packet = dhav_read_packet,
.read_seek = dhav_read_seek,
- .extensions = "dav",
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_TS_DISCONT | AVFMT_TS_NONSTRICT | AVFMT_SEEK_TO_PTS,
};
@@ -22,6 +22,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "id3v2.h"
@@ -209,12 +210,12 @@ static int dsf_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_dsf_demuxer = {
- .name = "dsf",
- .long_name = NULL_IF_CONFIG_SMALL("DSD Stream File (DSF)"),
+const FFInputFormat ff_dsf_demuxer = {
+ .p.name = "dsf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("DSD Stream File (DSF)"),
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK,
.priv_data_size = sizeof(DSFContext),
.read_probe = dsf_probe,
.read_header = dsf_read_header,
.read_packet = dsf_read_packet,
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK,
};
@@ -27,6 +27,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
@@ -227,9 +228,9 @@ static int cin_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_dsicin_demuxer = {
- .name = "dsicin",
- .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN"),
+const FFInputFormat ff_dsicin_demuxer = {
+ .p.name = "dsicin",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN"),
.priv_data_size = sizeof(CinDemuxContext),
.read_probe = cin_probe,
.read_header = cin_read_header,
@@ -23,6 +23,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define DSS_HEAD_OFFSET_AUTHOR 0xc
@@ -353,13 +354,13 @@ static int dss_read_seek(AVFormatContext *s, int stream_index,
}
-const AVInputFormat ff_dss_demuxer = {
- .name = "dss",
- .long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard (DSS)"),
+const FFInputFormat ff_dss_demuxer = {
+ .p.name = "dss",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard (DSS)"),
+ .p.extensions = "dss",
.priv_data_size = sizeof(DSSDemuxContext),
.read_probe = dss_probe,
.read_header = dss_read_header,
.read_packet = dss_read_packet,
.read_seek = dss_read_seek,
- .extensions = "dss"
};
@@ -27,6 +27,7 @@
#include "libavcodec/get_bits.h"
#include "avformat.h"
+#include "demux.h"
#include "rawdec.h"
static int dts_probe(const AVProbeData *p)
@@ -132,15 +133,15 @@ static int dts_probe(const AVProbeData *p)
return 0;
}
-const AVInputFormat ff_dts_demuxer = {
- .name = "dts",
- .long_name = NULL_IF_CONFIG_SMALL("raw DTS"),
+const FFInputFormat ff_dts_demuxer = {
+ .p.name = "dts",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw DTS"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "dts",
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = dts_probe,
.read_header = ff_raw_audio_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "dts",
.raw_codec_id = AV_CODEC_ID_DTS,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -23,6 +23,7 @@
#include "libavutil/dict.h"
#include "libavcodec/dca.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define AUPR_HDR 0x415550522D484452
@@ -162,14 +163,14 @@ static int raw_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_dtshd_demuxer = {
- .name = "dtshd",
- .long_name = NULL_IF_CONFIG_SMALL("raw DTS-HD"),
+const FFInputFormat ff_dtshd_demuxer = {
+ .p.name = "dtshd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw DTS-HD"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "dtshd",
.priv_data_size = sizeof(DTSHDDemuxContext),
.read_probe = dtshd_probe,
.read_header = dtshd_read_header,
.read_packet = raw_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "dtshd",
.raw_codec_id = AV_CODEC_ID_DTS,
};
@@ -710,15 +710,15 @@ static int dv_probe(const AVProbeData *p)
return 0;
}
-const AVInputFormat ff_dv_demuxer = {
- .name = "dv",
- .long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),
+const FFInputFormat ff_dv_demuxer = {
+ .p.name = "dv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),
+ .p.extensions = "dv,dif",
.priv_data_size = sizeof(RawDVContext),
.read_probe = dv_probe,
.read_header = dv_read_header,
.read_packet = dv_read_packet,
.read_seek = dv_read_seek,
- .extensions = "dv,dif",
};
#else // CONFIG_DV_DEMUXER
@@ -23,6 +23,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "riff.h"
@@ -229,9 +230,9 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt)
return AVERROR_EOF;
}
-const AVInputFormat ff_dxa_demuxer = {
- .name = "dxa",
- .long_name = NULL_IF_CONFIG_SMALL("DXA"),
+const FFInputFormat ff_dxa_demuxer = {
+ .p.name = "dxa",
+ .p.long_name = NULL_IF_CONFIG_SMALL("DXA"),
.priv_data_size = sizeof(DXAContext),
.read_probe = dxa_probe,
.read_header = dxa_read_header,
@@ -30,6 +30,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/channel_layout.h"
@@ -103,12 +104,12 @@ static int cdata_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_ea_cdata_demuxer = {
- .name = "ea_cdata",
- .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
+const FFInputFormat ff_ea_cdata_demuxer = {
+ .p.name = "ea_cdata",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
+ .p.extensions = "cdata",
.priv_data_size = sizeof(CdataDemuxContext),
.read_probe = cdata_probe,
.read_header = cdata_read_header,
.read_packet = cdata_read_packet,
- .extensions = "cdata",
};
@@ -30,6 +30,7 @@
#include "libavutil/intreadwrite.h"
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define SCHl_TAG MKTAG('S', 'C', 'H', 'l')
@@ -783,12 +784,12 @@ static const AVClass ea_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_ea_demuxer = {
- .name = "ea",
- .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia"),
+const FFInputFormat ff_ea_demuxer = {
+ .p.name = "ea",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia"),
+ .p.priv_class = &ea_class,
.priv_data_size = sizeof(EaDemuxContext),
.read_probe = ea_probe,
.read_header = ea_read_header,
.read_packet = ea_read_packet,
- .priv_class = &ea_class,
};
@@ -22,6 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "libavcodec/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -94,13 +95,13 @@ static int epaf_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_epaf_demuxer = {
- .name = "epaf",
- .long_name = NULL_IF_CONFIG_SMALL("Ensoniq Paris Audio File"),
+const FFInputFormat ff_epaf_demuxer = {
+ .p.name = "epaf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Ensoniq Paris Audio File"),
+ .p.extensions = "paf,fap",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = epaf_probe,
.read_header = epaf_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .extensions = "paf,fap",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -27,6 +27,7 @@
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "evc.h"
#include "internal.h"
@@ -201,17 +202,17 @@ static int evc_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_evc_demuxer = {
- .name = "evc",
- .long_name = NULL_IF_CONFIG_SMALL("EVC Annex B"),
+const FFInputFormat ff_evc_demuxer = {
+ .p.name = "evc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("EVC Annex B"),
+ .p.extensions = "evc",
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
+ .p.priv_class = &evc_demuxer_class,
.read_probe = annexb_probe,
.read_header = evc_read_header, // annexb_read_header
.read_packet = evc_read_packet, // annexb_read_packet
.read_close = evc_read_close,
- .extensions = "evc",
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
.flags_internal = FF_FMT_INIT_CLEANUP,
.raw_codec_id = AV_CODEC_ID_EVC,
.priv_data_size = sizeof(EVCDemuxContext),
- .priv_class = &evc_demuxer_class,
};
@@ -222,9 +222,9 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
return AVERROR_EOF;
}
-const AVInputFormat ff_ffmetadata_demuxer = {
- .name = "ffmetadata",
- .long_name = NULL_IF_CONFIG_SMALL("FFmpeg metadata in text"),
+const FFInputFormat ff_ffmetadata_demuxer = {
+ .p.name = "ffmetadata",
+ .p.long_name = NULL_IF_CONFIG_SMALL("FFmpeg metadata in text"),
.read_probe = probe,
.read_header = read_header,
.read_packet = read_packet,
@@ -27,6 +27,7 @@
#include "libavutil/intreadwrite.h"
#include "libavutil/imgutils.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define RAND_TAG MKBETAG('R','a','n','d')
@@ -104,12 +105,12 @@ static int read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, in
return 0;
}
-const AVInputFormat ff_filmstrip_demuxer = {
- .name = "filmstrip",
- .long_name = NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
+const FFInputFormat ff_filmstrip_demuxer = {
+ .p.name = "filmstrip",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
+ .p.extensions = "flm",
.priv_data_size = sizeof(FilmstripDemuxContext),
.read_header = read_header,
.read_packet = read_packet,
.read_seek = read_seek,
- .extensions = "flm",
};
@@ -26,6 +26,7 @@
#include "libavutil/avassert.h"
#include "libavutil/intreadwrite.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/opt.h"
#include "libavcodec/fits.h"
@@ -220,13 +221,13 @@ static const AVClass fits_demuxer_class = {
.category = AV_CLASS_CATEGORY_DEMUXER,
};
-const AVInputFormat ff_fits_demuxer = {
- .name = "fits",
- .long_name = NULL_IF_CONFIG_SMALL("Flexible Image Transport System"),
+const FFInputFormat ff_fits_demuxer = {
+ .p.name = "fits",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Flexible Image Transport System"),
+ .p.priv_class = &fits_demuxer_class,
+ .p.flags = AVFMT_NOTIMESTAMPS,
.priv_data_size = sizeof(FITSContext),
.read_probe = fits_probe,
.read_header = fits_read_header,
.read_packet = fits_read_packet,
- .priv_class = &fits_demuxer_class,
- .flags = AVFMT_NOTIMESTAMPS,
};
@@ -364,18 +364,18 @@ static int flac_seek(AVFormatContext *s, int stream_index, int64_t timestamp, in
return -1;
}
-const AVInputFormat ff_flac_demuxer = {
- .name = "flac",
- .long_name = NULL_IF_CONFIG_SMALL("raw FLAC"),
+const FFInputFormat ff_flac_demuxer = {
+ .p.name = "flac",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw FLAC"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "flac",
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = flac_probe,
.read_header = flac_read_header,
.read_close = flac_close,
.read_packet = ff_raw_read_partial_packet,
.read_seek = flac_seek,
.read_timestamp = flac_read_timestamp,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "flac",
.raw_codec_id = AV_CODEC_ID_FLAC,
.priv_data_size = sizeof(FLACDecContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -34,6 +34,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define FLIC_FILE_MAGIC_1 0xAF11
@@ -285,9 +286,9 @@ static int flic_read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_flic_demuxer = {
- .name = "flic",
- .long_name = NULL_IF_CONFIG_SMALL("FLI/FLC/FLX animation"),
+const FFInputFormat ff_flic_demuxer = {
+ .p.name = "flic",
+ .p.long_name = NULL_IF_CONFIG_SMALL("FLI/FLC/FLX animation"),
.priv_data_size = sizeof(FlicDemuxContext),
.read_probe = flic_probe,
.read_header = flic_read_header,
@@ -1412,42 +1412,42 @@ static const AVClass flv_kux_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_flv_demuxer = {
- .name = "flv",
- .long_name = NULL_IF_CONFIG_SMALL("FLV (Flash Video)"),
+const FFInputFormat ff_flv_demuxer = {
+ .p.name = "flv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("FLV (Flash Video)"),
+ .p.extensions = "flv",
+ .p.priv_class = &flv_kux_class,
.priv_data_size = sizeof(FLVContext),
.read_probe = flv_probe,
.read_header = flv_read_header,
.read_packet = flv_read_packet,
.read_seek = flv_read_seek,
.read_close = flv_read_close,
- .extensions = "flv",
- .priv_class = &flv_kux_class,
};
-const AVInputFormat ff_live_flv_demuxer = {
- .name = "live_flv",
- .long_name = NULL_IF_CONFIG_SMALL("live RTMP FLV (Flash Video)"),
+const FFInputFormat ff_live_flv_demuxer = {
+ .p.name = "live_flv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("live RTMP FLV (Flash Video)"),
+ .p.extensions = "flv",
+ .p.priv_class = &flv_kux_class,
+ .p.flags = AVFMT_TS_DISCONT,
.priv_data_size = sizeof(FLVContext),
.read_probe = live_flv_probe,
.read_header = flv_read_header,
.read_packet = flv_read_packet,
.read_seek = flv_read_seek,
.read_close = flv_read_close,
- .extensions = "flv",
- .priv_class = &flv_kux_class,
- .flags = AVFMT_TS_DISCONT
};
-const AVInputFormat ff_kux_demuxer = {
- .name = "kux",
- .long_name = NULL_IF_CONFIG_SMALL("KUX (YouKu)"),
+const FFInputFormat ff_kux_demuxer = {
+ .p.name = "kux",
+ .p.long_name = NULL_IF_CONFIG_SMALL("KUX (YouKu)"),
+ .p.extensions = "kux",
+ .p.priv_class = &flv_kux_class,
.priv_data_size = sizeof(FLVContext),
.read_probe = kux_probe,
.read_header = flv_read_header,
.read_packet = flv_read_packet,
.read_seek = flv_read_seek,
.read_close = flv_read_close,
- .extensions = "kux",
- .priv_class = &flv_kux_class,
};
@@ -28,6 +28,7 @@
#include "avio_internal.h"
#include "avformat.h"
+#include "demux.h"
#include "id3v2.h"
#include "internal.h"
#include "url.h"
@@ -189,8 +190,8 @@ const AVInputFormat *av_probe_input_format3(const AVProbeData *pd,
if (!is_opened == !(fmt1->flags & AVFMT_NOFILE) && strcmp(fmt1->name, "image2"))
continue;
score = 0;
- if (fmt1->read_probe) {
- score = fmt1->read_probe(&lpd);
+ if (ffifmt(fmt1)->read_probe) {
+ score = ffifmt(fmt1)->read_probe(&lpd);
if (score)
av_log(NULL, AV_LOG_TRACE, "Probing %s score:%d size:%d\n", fmt1->name, score, lpd.buf_size);
if (fmt1->extensions && av_match_ext(lpd.filename, fmt1->extensions)) {
@@ -27,6 +27,7 @@
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
static const enum AVPixelFormat frm_pix_fmt_tags[] = {
AV_PIX_FMT_RGB555,
@@ -102,10 +103,10 @@ static int frm_read_packet(AVFormatContext *avctx, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_frm_demuxer = {
- .name = "frm",
+const FFInputFormat ff_frm_demuxer = {
+ .p.name = "frm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Megalux Frame"),
.priv_data_size = sizeof(FrmContext),
- .long_name = NULL_IF_CONFIG_SMALL("Megalux Frame"),
.read_probe = frm_read_probe,
.read_header = frm_read_header,
.read_packet = frm_read_packet,
@@ -23,6 +23,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "avio.h"
+#include "demux.h"
#include "internal.h"
static int fsb_probe(const AVProbeData *p)
@@ -200,12 +201,12 @@ static int fsb_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_fsb_demuxer = {
- .name = "fsb",
- .long_name = NULL_IF_CONFIG_SMALL("FMOD Sample Bank"),
+const FFInputFormat ff_fsb_demuxer = {
+ .p.name = "fsb",
+ .p.long_name = NULL_IF_CONFIG_SMALL("FMOD Sample Bank"),
+ .p.extensions = "fsb",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = fsb_probe,
.read_header = fsb_read_header,
.read_packet = fsb_read_packet,
- .extensions = "fsb",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -22,6 +22,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -77,11 +78,11 @@ static int fwse_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_fwse_demuxer = {
- .name = "fwse",
- .long_name = NULL_IF_CONFIG_SMALL("Capcom's MT Framework sound"),
+const FFInputFormat ff_fwse_demuxer = {
+ .p.name = "fwse",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Capcom's MT Framework sound"),
+ .p.extensions = "fwse",
.read_probe = fwse_probe,
.read_header = fwse_read_header,
.read_packet = ff_pcm_read_packet,
- .extensions = "fwse",
};
@@ -21,6 +21,7 @@
#include "libavutil/avassert.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "rawdec.h"
@@ -46,14 +47,14 @@ static int g722_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_g722_demuxer = {
- .name = "g722",
- .long_name = NULL_IF_CONFIG_SMALL("raw G.722"),
+const FFInputFormat ff_g722_demuxer = {
+ .p.name = "g722",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw G.722"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "g722,722",
+ .p.priv_class = &ff_raw_demuxer_class,
.read_header = g722_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "g722,722",
.raw_codec_id = AV_CODEC_ID_ADPCM_G722,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -27,6 +27,7 @@
#include "libavutil/attributes.h"
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static const uint8_t frame_size[4] = { 24, 20, 4, 1 };
@@ -74,11 +75,11 @@ static int g723_1_read_packet(AVFormatContext *s, AVPacket *pkt)
return pkt->size;
}
-const AVInputFormat ff_g723_1_demuxer = {
- .name = "g723_1",
- .long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
+const FFInputFormat ff_g723_1_demuxer = {
+ .p.name = "g723_1",
+ .p.long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
+ .p.extensions = "tco,rco,g723_1",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_header = g723_1_init,
.read_packet = g723_1_read_packet,
- .extensions = "tco,rco,g723_1",
- .flags = AVFMT_GENERIC_INDEX
};
@@ -22,6 +22,7 @@
#include "config_components.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/opt.h"
@@ -39,7 +40,7 @@ static int g726_read_header(AVFormatContext *s)
return AVERROR(ENOMEM);
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
- st->codecpar->codec_id = s->iformat->raw_codec_id;
+ st->codecpar->codec_id = ffifmt(s->iformat)->raw_codec_id;
st->codecpar->sample_rate = c->sample_rate;
st->codecpar->bits_per_coded_sample = c->code_size;
@@ -75,25 +76,25 @@ static const AVClass g726_demuxer_class = {
};
#if CONFIG_G726_DEMUXER
-const AVInputFormat ff_g726_demuxer = {
- .name = "g726",
- .long_name = NULL_IF_CONFIG_SMALL("raw big-endian G.726 (\"left aligned\")"),
+const FFInputFormat ff_g726_demuxer = {
+ .p.name = "g726",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw big-endian G.726 (\"left aligned\")"),
+ .p.priv_class = &g726_demuxer_class,
.read_header = g726_read_header,
.read_packet = g726_read_packet,
.priv_data_size = sizeof(G726Context),
- .priv_class = &g726_demuxer_class,
.raw_codec_id = AV_CODEC_ID_ADPCM_G726,
};
#endif
#if CONFIG_G726LE_DEMUXER
-const AVInputFormat ff_g726le_demuxer = {
- .name = "g726le",
- .long_name = NULL_IF_CONFIG_SMALL("raw little-endian G.726 (\"right aligned\")"),
+const FFInputFormat ff_g726le_demuxer = {
+ .p.name = "g726le",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw little-endian G.726 (\"right aligned\")"),
+ .p.priv_class = &g726_demuxer_class,
.read_header = g726_read_header,
.read_packet = g726_read_packet,
.priv_data_size = sizeof(G726Context),
- .priv_class = &g726_demuxer_class,
.raw_codec_id = AV_CODEC_ID_ADPCM_G726LE,
};
#endif
@@ -23,6 +23,7 @@
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct G729DemuxerContext {
@@ -93,13 +94,13 @@ static const AVClass g729_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_g729_demuxer = {
- .name = "g729",
- .long_name = NULL_IF_CONFIG_SMALL("G.729 raw format demuxer"),
+const FFInputFormat ff_g729_demuxer = {
+ .p.name = "g729",
+ .p.long_name = NULL_IF_CONFIG_SMALL("G.729 raw format demuxer"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "g729",
+ .p.priv_class = &g729_demuxer_class,
.priv_data_size = sizeof(G729DemuxerContext),
.read_header = g729_read_header,
.read_packet = g729_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "g729",
- .priv_class = &g729_demuxer_class,
};
@@ -23,6 +23,7 @@
#include "avformat.h"
#include "avio.h"
+#include "demux.h"
#include "internal.h"
typedef struct GDVContext {
@@ -194,9 +195,9 @@ static int gdv_read_packet(AVFormatContext *ctx, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_gdv_demuxer = {
- .name = "gdv",
- .long_name = NULL_IF_CONFIG_SMALL("Gremlin Digital Video"),
+const FFInputFormat ff_gdv_demuxer = {
+ .p.name = "gdv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Gremlin Digital Video"),
.priv_data_size = sizeof(GDVContext),
.read_probe = gdv_read_probe,
.read_header = gdv_read_header,
@@ -22,6 +22,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct GENHDemuxContext {
@@ -195,12 +196,12 @@ static int genh_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_genh_demuxer = {
- .name = "genh",
- .long_name = NULL_IF_CONFIG_SMALL("GENeric Header"),
+const FFInputFormat ff_genh_demuxer = {
+ .p.name = "genh",
+ .p.long_name = NULL_IF_CONFIG_SMALL("GENeric Header"),
+ .p.extensions = "genh",
.priv_data_size = sizeof(GENHDemuxContext),
.read_probe = genh_probe,
.read_header = genh_read_header,
.read_packet = genh_read_packet,
- .extensions = "genh",
};
@@ -25,6 +25,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "libavutil/bprint.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/opt.h"
@@ -278,14 +279,14 @@ static const AVClass demuxer_class = {
.category = AV_CLASS_CATEGORY_DEMUXER,
};
-const AVInputFormat ff_gif_demuxer = {
- .name = "gif",
- .long_name = NULL_IF_CONFIG_SMALL("CompuServe Graphics Interchange Format (GIF)"),
+const FFInputFormat ff_gif_demuxer = {
+ .p.name = "gif",
+ .p.long_name = NULL_IF_CONFIG_SMALL("CompuServe Graphics Interchange Format (GIF)"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "gif",
+ .p.priv_class = &demuxer_class,
.priv_data_size = sizeof(GIFDemuxContext),
.read_probe = gif_probe,
.read_header = gif_read_header,
.read_packet = gif_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "gif",
- .priv_class = &demuxer_class,
};
@@ -23,6 +23,7 @@
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define GSM_BLOCK_SIZE 33
@@ -102,15 +103,15 @@ static const AVClass gsm_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_gsm_demuxer = {
- .name = "gsm",
- .long_name = NULL_IF_CONFIG_SMALL("raw GSM"),
+const FFInputFormat ff_gsm_demuxer = {
+ .p.name = "gsm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw GSM"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "gsm",
+ .p.priv_class = &gsm_class,
.priv_data_size = sizeof(GSMDemuxerContext),
.read_probe = gsm_probe,
.read_header = gsm_read_header,
.read_packet = gsm_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "gsm",
.raw_codec_id = AV_CODEC_ID_GSM,
- .priv_class = &gsm_class,
};
@@ -599,9 +599,9 @@ static int64_t gxf_read_timestamp(AVFormatContext *s, int stream_index,
return res;
}
-const AVInputFormat ff_gxf_demuxer = {
- .name = "gxf",
- .long_name = NULL_IF_CONFIG_SMALL("GXF (General eXchange Format)"),
+const FFInputFormat ff_gxf_demuxer = {
+ .p.name = "gxf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("GXF (General eXchange Format)"),
.priv_data_size = sizeof(struct gxf_stream_info),
.read_probe = gxf_probe,
.read_header = gxf_header,
@@ -24,6 +24,7 @@
#include "libavcodec/bytestream.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define HCA_MASK 0x7f7f7f7f
@@ -148,14 +149,14 @@ static const AVClass hca_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_hca_demuxer = {
- .name = "hca",
- .long_name = NULL_IF_CONFIG_SMALL("CRI HCA"),
- .priv_class = &hca_class,
+const FFInputFormat ff_hca_demuxer = {
+ .p.name = "hca",
+ .p.long_name = NULL_IF_CONFIG_SMALL("CRI HCA"),
+ .p.priv_class = &hca_class,
+ .p.extensions = "hca",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(HCADemuxContext),
.read_probe = hca_probe,
.read_header = hca_read_header,
.read_packet = hca_read_packet,
- .extensions = "hca",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -81,9 +82,9 @@ static int hcom_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_hcom_demuxer = {
- .name = "hcom",
- .long_name = NULL_IF_CONFIG_SMALL("Macintosh HCOM"),
+const FFInputFormat ff_hcom_demuxer = {
+ .p.name = "hcom",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Macintosh HCOM"),
.read_probe = hcom_probe,
.read_header = hcom_read_header,
.read_packet = ff_pcm_read_packet,
@@ -2102,7 +2102,7 @@ static int hls_read_header(AVFormatContext *s)
pls->audio_setup_info.codec_id != AV_CODEC_ID_NONE) {
void *iter = NULL;
while ((in_fmt = av_demuxer_iterate(&iter)))
- if (in_fmt->raw_codec_id == pls->audio_setup_info.codec_id)
+ if (ffifmt(in_fmt)->raw_codec_id == pls->audio_setup_info.codec_id)
break;
} else {
pls->ctx->probesize = s->probesize > 0 ? s->probesize : 1024 * 4;
@@ -2594,12 +2594,12 @@ static const AVClass hls_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_hls_demuxer = {
- .name = "hls",
- .long_name = NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming"),
- .priv_class = &hls_class,
+const FFInputFormat ff_hls_demuxer = {
+ .p.name = "hls",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming"),
+ .p.priv_class = &hls_class,
+ .p.flags = AVFMT_NOGENSEARCH | AVFMT_TS_DISCONT | AVFMT_NO_BYTE_SEEK,
.priv_data_size = sizeof(HLSContext),
- .flags = AVFMT_NOGENSEARCH | AVFMT_TS_DISCONT | AVFMT_NO_BYTE_SEEK,
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = hls_probe,
.read_header = hls_read_header,
@@ -24,6 +24,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define HNM4_TAG MKTAG('H', 'N', 'M', '4')
@@ -158,12 +159,12 @@ static int hnm_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_hnm_demuxer = {
- .name = "hnm",
- .long_name = NULL_IF_CONFIG_SMALL("Cryo HNM v4"),
+const FFInputFormat ff_hnm_demuxer = {
+ .p.name = "hnm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Cryo HNM v4"),
+ .p.flags = AVFMT_NO_BYTE_SEEK | AVFMT_NOGENSEARCH | AVFMT_NOBINSEARCH,
.priv_data_size = sizeof(Hnm4DemuxContext),
.read_probe = hnm_probe,
.read_header = hnm_read_header,
.read_packet = hnm_read_packet,
- .flags = AVFMT_NO_BYTE_SEEK | AVFMT_NOGENSEARCH | AVFMT_NOBINSEARCH
};
@@ -26,6 +26,7 @@
#include "libavcodec/mathops.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "iamf.h"
#include "iamf_parse.h"
#include "internal.h"
@@ -490,15 +491,15 @@ static int iamf_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_iamf_demuxer = {
- .name = "iamf",
- .long_name = NULL_IF_CONFIG_SMALL("Raw Immersive Audio Model and Formats"),
+const FFInputFormat ff_iamf_demuxer = {
+ .p.name = "iamf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Raw Immersive Audio Model and Formats"),
+ .p.extensions = "iamf",
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS | AVFMT_SHOW_IDS,
.priv_data_size = sizeof(IAMFDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = iamf_probe,
.read_header = iamf_read_header,
.read_packet = iamf_read_packet,
.read_close = iamf_read_close,
- .extensions = "iamf",
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS | AVFMT_SHOW_IDS,
};
@@ -28,6 +28,7 @@
#include "libavcodec/bytestream.h"
#include "libavcodec/png.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct {
@@ -216,14 +217,14 @@ static int ico_read_close(AVFormatContext * s)
return 0;
}
-const AVInputFormat ff_ico_demuxer = {
- .name = "ico",
- .long_name = NULL_IF_CONFIG_SMALL("Microsoft Windows ICO"),
+const FFInputFormat ff_ico_demuxer = {
+ .p.name = "ico",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Microsoft Windows ICO"),
+ .p.flags = AVFMT_NOTIMESTAMPS,
.priv_data_size = sizeof(IcoDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = probe,
.read_header = read_header,
.read_packet = read_packet,
.read_close = ico_read_close,
- .flags = AVFMT_NOTIMESTAMPS,
};
@@ -365,13 +365,13 @@ static int idcin_read_seek(AVFormatContext *s, int stream_index,
return -1;
}
-const AVInputFormat ff_idcin_demuxer = {
- .name = "idcin",
- .long_name = NULL_IF_CONFIG_SMALL("id Cinematic"),
+const FFInputFormat ff_idcin_demuxer = {
+ .p.name = "idcin",
+ .p.long_name = NULL_IF_CONFIG_SMALL("id Cinematic"),
+ .p.flags = AVFMT_NO_BYTE_SEEK,
.priv_data_size = sizeof(IdcinDemuxContext),
.read_probe = idcin_probe,
.read_header = idcin_read_header,
.read_packet = idcin_read_packet,
.read_seek = idcin_read_seek,
- .flags = AVFMT_NO_BYTE_SEEK,
};
@@ -30,6 +30,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
@@ -237,9 +238,9 @@ static int roq_read_packet(AVFormatContext *s,
return ret;
}
-const AVInputFormat ff_roq_demuxer = {
- .name = "roq",
- .long_name = NULL_IF_CONFIG_SMALL("id RoQ"),
+const FFInputFormat ff_roq_demuxer = {
+ .p.name = "roq",
+ .p.long_name = NULL_IF_CONFIG_SMALL("id RoQ"),
.priv_data_size = sizeof(RoqDemuxContext),
.read_probe = roq_probe,
.read_header = roq_read_header,
@@ -36,6 +36,7 @@
#include "libavutil/dict.h"
#include "libavcodec/bytestream.h"
#include "avformat.h"
+#include "demux.h"
#include "id3v2.h"
#include "internal.h"
@@ -901,12 +902,12 @@ static int iff_read_packet(AVFormatContext *s,
return ret;
}
-const AVInputFormat ff_iff_demuxer = {
- .name = "iff",
- .long_name = NULL_IF_CONFIG_SMALL("IFF (Interchange File Format)"),
+const FFInputFormat ff_iff_demuxer = {
+ .p.name = "iff",
+ .p.long_name = NULL_IF_CONFIG_SMALL("IFF (Interchange File Format)"),
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK,
.priv_data_size = sizeof(IffDemuxContext),
.read_probe = iff_probe,
.read_header = iff_read_header,
.read_packet = iff_read_packet,
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK,
};
@@ -23,6 +23,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/dict_internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
@@ -309,11 +310,11 @@ static int ifv_read_seek(AVFormatContext *s, int stream_index, int64_t ts, int f
return 0;
}
-const AVInputFormat ff_ifv_demuxer = {
- .name = "ifv",
- .long_name = NULL_IF_CONFIG_SMALL("IFV CCTV DVR"),
+const FFInputFormat ff_ifv_demuxer = {
+ .p.name = "ifv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("IFV CCTV DVR"),
+ .p.extensions = "ifv",
.priv_data_size = sizeof(IFVContext),
- .extensions = "ifv",
.read_probe = ifv_probe,
.read_header = ifv_read_header,
.read_packet = ifv_read_packet,
@@ -22,6 +22,7 @@
#include "config_components.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "rawenc.h"
@@ -111,13 +112,13 @@ static int ilbc_read_packet(AVFormatContext *s,
return 0;
}
-const AVInputFormat ff_ilbc_demuxer = {
- .name = "ilbc",
- .long_name = NULL_IF_CONFIG_SMALL("iLBC storage"),
+const FFInputFormat ff_ilbc_demuxer = {
+ .p.name = "ilbc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("iLBC storage"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = ilbc_probe,
.read_header = ilbc_read_header,
.read_packet = ilbc_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
#if CONFIG_ILBC_MUXER
@@ -1014,12 +1014,12 @@ static const AVClass imf_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_imf_demuxer = {
- .name = "imf",
- .long_name = NULL_IF_CONFIG_SMALL("IMF (Interoperable Master Format)"),
- .flags = AVFMT_NO_BYTE_SEEK,
+const FFInputFormat ff_imf_demuxer = {
+ .p.name = "imf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("IMF (Interoperable Master Format)"),
+ .p.flags = AVFMT_NO_BYTE_SEEK,
+ .p.priv_class = &imf_class,
.flags_internal = FF_FMT_INIT_CLEANUP,
- .priv_class = &imf_class,
.priv_data_size = sizeof(IMFContext),
.read_probe = imf_probe,
.read_header = imf_read_header,
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "demux.h"
#include "img2.h"
#include "libavcodec/bytestream.h"
@@ -61,13 +62,13 @@ static const AVClass image2_alias_pix_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_image2_alias_pix_demuxer = {
- .name = "alias_pix",
- .long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
+const FFInputFormat ff_image2_alias_pix_demuxer = {
+ .p.name = "alias_pix",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
+ .p.priv_class = &image2_alias_pix_class,
.priv_data_size = sizeof(VideoDemuxData),
.read_probe = alias_pix_read_probe,
.read_header = ff_img_read_header,
.read_packet = ff_img_read_packet,
.raw_codec_id = AV_CODEC_ID_ALIAS_PIX,
- .priv_class = &image2_alias_pix_class,
};
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "demux.h"
#include "img2.h"
#include "libavutil/intreadwrite.h"
@@ -45,13 +46,13 @@ static const AVClass image2_brender_pix_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_image2_brender_pix_demuxer = {
- .name = "brender_pix",
- .long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),
+const FFInputFormat ff_image2_brender_pix_demuxer = {
+ .p.name = "brender_pix",
+ .p.long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),
+ .p.priv_class = &image2_brender_pix_class,
.priv_data_size = sizeof(VideoDemuxData),
.read_probe = brender_read_probe,
.read_header = ff_img_read_header,
.read_packet = ff_img_read_packet,
.raw_codec_id = AV_CODEC_ID_BRENDER_PIX,
- .priv_class = &image2_brender_pix_class,
};
@@ -34,6 +34,7 @@
#include "libavcodec/gif.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "img2.h"
#include "os_support.h"
@@ -322,9 +323,9 @@ int ff_img_read_header(AVFormatContext *s1)
} else if (s1->audio_codec_id) {
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
st->codecpar->codec_id = s1->audio_codec_id;
- } else if (s1->iformat->raw_codec_id) {
+ } else if (ffifmt(s1->iformat)->raw_codec_id) {
st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
- st->codecpar->codec_id = s1->iformat->raw_codec_id;
+ st->codecpar->codec_id = ffifmt(s1->iformat)->raw_codec_id;
} else {
const char *str = strrchr(s->path, '.');
s->split_planes = str && !av_strcasecmp(str + 1, "y");
@@ -351,13 +352,14 @@ int ff_img_read_header(AVFormatContext *s1)
pd.filename = s1->url;
while ((fmt = av_demuxer_iterate(&fmt_iter))) {
- if (fmt->read_header != ff_img_read_header ||
- !fmt->read_probe ||
+ const FFInputFormat *fmt2 = ffifmt(fmt);
+ if (fmt2->read_header != ff_img_read_header ||
+ !fmt2->read_probe ||
(fmt->flags & AVFMT_NOFILE) ||
- !fmt->raw_codec_id)
+ !fmt2->raw_codec_id)
continue;
- if (fmt->read_probe(&pd) > 0) {
- st->codecpar->codec_id = fmt->raw_codec_id;
+ if (fmt2->read_probe(&pd) > 0) {
+ st->codecpar->codec_id = fmt2->raw_codec_id;
break;
}
}
@@ -458,7 +460,7 @@ int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt)
if (par->codec_id == AV_CODEC_ID_NONE) {
AVProbeData pd = { 0 };
- const AVInputFormat *ifmt;
+ const FFInputFormat *ifmt;
uint8_t header[PROBE_BUF_MIN + AVPROBE_PADDING_SIZE];
int ret;
int score = 0;
@@ -472,7 +474,7 @@ int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt)
pd.buf_size = ret;
pd.filename = filename;
- ifmt = av_probe_input_format3(&pd, 1, &score);
+ ifmt = ffifmt(av_probe_input_format3(&pd, 1, &score));
if (ifmt && ifmt->read_packet == ff_img_read_packet && ifmt->raw_codec_id)
par->codec_id = ifmt->raw_codec_id;
}
@@ -638,17 +640,17 @@ static const AVClass img2_class = {
.option = ff_img_options,
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_image2_demuxer = {
- .name = "image2",
- .long_name = NULL_IF_CONFIG_SMALL("image2 sequence"),
+const FFInputFormat ff_image2_demuxer = {
+ .p.name = "image2",
+ .p.long_name = NULL_IF_CONFIG_SMALL("image2 sequence"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &img2_class,
.priv_data_size = sizeof(VideoDemuxData),
.read_probe = img_read_probe,
.read_header = ff_img_read_header,
.read_packet = ff_img_read_packet,
.read_close = img_read_close,
.read_seek = img_read_seek,
- .flags = AVFMT_NOFILE,
- .priv_class = &img2_class,
};
#endif
@@ -664,13 +666,13 @@ static const AVClass imagepipe_class = {
};
#if CONFIG_IMAGE2PIPE_DEMUXER
-const AVInputFormat ff_image2pipe_demuxer = {
- .name = "image2pipe",
- .long_name = NULL_IF_CONFIG_SMALL("piped image2 sequence"),
+const FFInputFormat ff_image2pipe_demuxer = {
+ .p.name = "image2pipe",
+ .p.long_name = NULL_IF_CONFIG_SMALL("piped image2 sequence"),
+ .p.priv_class = &imagepipe_class,
.priv_data_size = sizeof(VideoDemuxData),
.read_header = ff_img_read_header,
.read_packet = ff_img_read_packet,
- .priv_class = &imagepipe_class,
};
#endif
@@ -1205,15 +1207,15 @@ static int vbn_probe(const AVProbeData *p)
#define IMAGEAUTO_DEMUXER_0(imgname, codecid)
#define IMAGEAUTO_DEMUXER_1(imgname, codecid)\
-const AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\
- .name = AV_STRINGIFY(imgname) "_pipe",\
- .long_name = NULL_IF_CONFIG_SMALL("piped " AV_STRINGIFY(imgname) " sequence"),\
+const FFInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\
+ .p.name = AV_STRINGIFY(imgname) "_pipe",\
+ .p.long_name = NULL_IF_CONFIG_SMALL("piped " AV_STRINGIFY(imgname) " sequence"),\
+ .p.priv_class = &imagepipe_class,\
+ .p.flags = AVFMT_GENERIC_INDEX,\
.priv_data_size = sizeof(VideoDemuxData),\
.read_probe = imgname ## _probe,\
.read_header = ff_img_read_header,\
.read_packet = ff_img_read_packet,\
- .priv_class = &imagepipe_class,\
- .flags = AVFMT_GENERIC_INDEX, \
.raw_codec_id = codecid,\
};
@@ -21,6 +21,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/channel_layout.h"
@@ -155,13 +156,13 @@ retry:
return ret;
}
-const AVInputFormat ff_simbiosis_imx_demuxer = {
- .name = "simbiosis_imx",
- .long_name = NULL_IF_CONFIG_SMALL("Simbiosis Interactive IMX"),
+const FFInputFormat ff_simbiosis_imx_demuxer = {
+ .p.name = "simbiosis_imx",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Simbiosis Interactive IMX"),
+ .p.extensions = "imx",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(SimbiosisIMXDemuxContext),
.read_probe = simbiosis_imx_probe,
.read_header = simbiosis_imx_read_header,
.read_packet = simbiosis_imx_read_packet,
- .extensions = "imx",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "rawdec.h"
#include "libavutil/intreadwrite.h"
@@ -61,15 +62,15 @@ static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_ingenient_demuxer = {
- .name = "ingenient",
- .long_name = NULL_IF_CONFIG_SMALL("raw Ingenient MJPEG"),
+const FFInputFormat ff_ingenient_demuxer = {
+ .p.name = "ingenient",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw Ingenient MJPEG"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "cgi", // FIXME
+ .p.priv_class = &ff_rawvideo_demuxer_class,
.priv_data_size = sizeof(FFRawVideoDemuxerContext),
.read_probe = ingenient_probe,
.read_header = ff_raw_video_read_header,
.read_packet = ingenient_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "cgi", // FIXME
.raw_codec_id = AV_CODEC_ID_MJPEG,
- .priv_class = &ff_rawvideo_demuxer_class,
};
@@ -40,7 +40,7 @@
#endif
/**
- * For an AVInputFormat with this flag set read_close() needs to be called
+ * For an FFInputFormat with this flag set read_close() needs to be called
* by the caller upon read_header() failure.
*/
#define FF_FMT_INIT_CLEANUP (1 << 0)
@@ -752,6 +752,8 @@ void ff_format_set_url(AVFormatContext *s, char *url);
int ff_match_url_ext(const char *url, const char *extensions);
struct FFOutputFormat;
-void avpriv_register_devices(const struct FFOutputFormat * const o[], const AVInputFormat * const i[]);
+struct FFInputFormat;
+void avpriv_register_devices(const struct FFOutputFormat * const o[],
+ const struct FFInputFormat * const i[]);
#endif /* AVFORMAT_INTERNAL_H */
@@ -700,9 +700,9 @@ static int ipmovie_read_packet(AVFormatContext *s,
}
}
-const AVInputFormat ff_ipmovie_demuxer = {
- .name = "ipmovie",
- .long_name = NULL_IF_CONFIG_SMALL("Interplay MVE"),
+const FFInputFormat ff_ipmovie_demuxer = {
+ .p.name = "ipmovie",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Interplay MVE"),
.priv_data_size = sizeof(IPMVEContext),
.read_probe = ipmovie_probe,
.read_header = ipmovie_read_header,
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
#include "rawdec.h"
@@ -67,15 +68,15 @@ static int ipu_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_ipu_demuxer = {
- .name = "ipu",
- .long_name = NULL_IF_CONFIG_SMALL("raw IPU Video"),
+const FFInputFormat ff_ipu_demuxer = {
+ .p.name = "ipu",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw IPU Video"),
+ .p.extensions = "ipu",
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = ipu_read_probe,
.read_header = ipu_read_header,
.read_packet = ff_raw_read_partial_packet,
- .extensions = "ipu",
- .flags = AVFMT_GENERIC_INDEX,
.raw_codec_id = AV_CODEC_ID_IPU,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -22,6 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "libavcodec/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
#include "ircam.h"
@@ -107,13 +108,13 @@ static int ircam_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_ircam_demuxer = {
- .name = "ircam",
- .long_name = NULL_IF_CONFIG_SMALL("Berkeley/IRCAM/CARL Sound Format"),
+const FFInputFormat ff_ircam_demuxer = {
+ .p.name = "ircam",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Berkeley/IRCAM/CARL Sound Format"),
+ .p.extensions = "sf,ircam",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = ircam_probe,
.read_header = ircam_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .extensions = "sf,ircam",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -28,6 +28,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/avstring.h"
@@ -144,9 +145,9 @@ static int iss_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_iss_demuxer = {
- .name = "iss",
- .long_name = NULL_IF_CONFIG_SMALL("Funcom ISS"),
+const FFInputFormat ff_iss_demuxer = {
+ .p.name = "iss",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Funcom ISS"),
.priv_data_size = sizeof(IssDemuxContext),
.read_probe = iss_probe,
.read_header = iss_read_header,
@@ -19,6 +19,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
@@ -107,11 +108,11 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_iv8_demuxer = {
- .name = "iv8",
- .long_name = NULL_IF_CONFIG_SMALL("IndigoVision 8000 video"),
+const FFInputFormat ff_iv8_demuxer = {
+ .p.name = "iv8",
+ .p.long_name = NULL_IF_CONFIG_SMALL("IndigoVision 8000 video"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = probe,
.read_header = read_header,
.read_packet = read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -19,6 +19,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "riff.h"
#include "libavutil/intreadwrite.h"
@@ -88,12 +89,12 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_ivf_demuxer = {
- .name = "ivf",
- .long_name = NULL_IF_CONFIG_SMALL("On2 IVF"),
+const FFInputFormat ff_ivf_demuxer = {
+ .p.name = "ivf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("On2 IVF"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.codec_tag = (const AVCodecTag* const []){ ff_codec_bmp_tags, 0 },
.read_probe = probe,
.read_header = read_header,
.read_packet = read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .codec_tag = (const AVCodecTag* const []){ ff_codec_bmp_tags, 0 },
};
@@ -26,6 +26,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavcodec/jacosub.h"
@@ -256,9 +257,9 @@ static int jacosub_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_jacosub_demuxer = {
- .name = "jacosub",
- .long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle format"),
+const FFInputFormat ff_jacosub_demuxer = {
+ .p.name = "jacosub",
+ .p.long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle format"),
.priv_data_size = sizeof(JACOsubContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = jacosub_probe,
@@ -34,6 +34,7 @@
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct JXLAnimDemuxContext {
@@ -188,16 +189,16 @@ static int jpegxl_anim_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_jpegxl_anim_demuxer = {
- .name = "jpegxl_anim",
- .long_name = NULL_IF_CONFIG_SMALL("Animated JPEG XL"),
+const FFInputFormat ff_jpegxl_anim_demuxer = {
+ .p.name = "jpegxl_anim",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Animated JPEG XL"),
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
+ .p.mime_type = "image/jxl",
+ .p.extensions = "jxl",
.priv_data_size = sizeof(JXLAnimDemuxContext),
.read_probe = jpegxl_anim_probe,
.read_header = jpegxl_anim_read_header,
.read_packet = jpegxl_anim_read_packet,
.read_close = jpegxl_anim_close,
.flags_internal = FF_FMT_INIT_CLEANUP,
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
- .mime_type = "image/jxl",
- .extensions = "jxl",
};
@@ -29,6 +29,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define JV_PREAMBLE_SIZE 5
@@ -250,9 +251,9 @@ static int read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_jv_demuxer = {
- .name = "jv",
- .long_name = NULL_IF_CONFIG_SMALL("Bitmap Brothers JV"),
+const FFInputFormat ff_jv_demuxer = {
+ .p.name = "jv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Bitmap Brothers JV"),
.priv_data_size = sizeof(JVDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = read_probe,
@@ -25,6 +25,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "rawenc.h"
@@ -115,9 +116,9 @@ static int kvag_seek(AVFormatContext *s, int stream_index,
return avio_seek(s->pb, KVAG_HEADER_SIZE, SEEK_SET);
}
-const AVInputFormat ff_kvag_demuxer = {
- .name = "kvag",
- .long_name = NULL_IF_CONFIG_SMALL("Simon & Schuster Interactive VAG"),
+const FFInputFormat ff_kvag_demuxer = {
+ .p.name = "kvag",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Simon & Schuster Interactive VAG"),
.read_probe = kvag_probe,
.read_header = kvag_read_header,
.read_packet = kvag_read_packet,
@@ -22,6 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#define MAX_STREAMS 4096
@@ -277,16 +278,16 @@ static int laf_read_seek(AVFormatContext *ctx, int stream_index,
return -1;
}
-const AVInputFormat ff_laf_demuxer = {
- .name = "laf",
- .long_name = NULL_IF_CONFIG_SMALL("LAF (Limitless Audio Format)"),
+const FFInputFormat ff_laf_demuxer = {
+ .p.name = "laf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("LAF (Limitless Audio Format)"),
+ .p.extensions = "laf",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(LAFContext),
.read_probe = laf_probe,
.read_header = laf_read_header,
.read_packet = laf_read_packet,
.read_close = laf_read_close,
.read_seek = laf_read_seek,
- .extensions = "laf",
- .flags = AVFMT_GENERIC_INDEX,
.flags_internal = FF_FMT_INIT_CLEANUP,
};
@@ -26,6 +26,7 @@
#include "libavutil/eval.h"
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct GMEContext {
@@ -193,9 +194,10 @@ static const AVClass class_gme = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_libgme_demuxer = {
- .name = "libgme",
- .long_name = NULL_IF_CONFIG_SMALL("Game Music Emu demuxer"),
+const FFInputFormat ff_libgme_demuxer = {
+ .p.name = "libgme",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Game Music Emu demuxer"),
+ .p.priv_class = &class_gme,
.priv_data_size = sizeof(GMEContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = probe_gme,
@@ -203,5 +205,4 @@ const AVInputFormat ff_libgme_demuxer = {
.read_packet = read_packet_gme,
.read_close = read_close_gme,
.read_seek = read_seek_gme,
- .priv_class = &class_gme,
};
@@ -28,6 +28,7 @@
#include "libavutil/eval.h"
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct ModPlugContext {
@@ -380,15 +381,15 @@ static const AVClass modplug_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_libmodplug_demuxer = {
- .name = "libmodplug",
- .long_name = NULL_IF_CONFIG_SMALL("ModPlug demuxer"),
+const FFInputFormat ff_libmodplug_demuxer = {
+ .p.name = "libmodplug",
+ .p.long_name = NULL_IF_CONFIG_SMALL("ModPlug demuxer"),
+ .p.extensions = modplug_extensions,
+ .p.priv_class = &modplug_class,
.priv_data_size = sizeof(ModPlugContext),
.read_probe = modplug_probe,
.read_header = modplug_read_header,
.read_packet = modplug_read_packet,
.read_close = modplug_read_close,
.read_seek = modplug_read_seek,
- .extensions = modplug_extensions,
- .priv_class = &modplug_class,
};
@@ -34,6 +34,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct OpenMPTContext {
@@ -278,9 +279,15 @@ static const AVClass class_openmpt = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_libopenmpt_demuxer = {
- .name = "libopenmpt",
- .long_name = NULL_IF_CONFIG_SMALL("Tracker formats (libopenmpt)"),
+const FFInputFormat ff_libopenmpt_demuxer = {
+ .p.name = "libopenmpt",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Tracker formats (libopenmpt)"),
+ .p.priv_class = &class_openmpt,
+#if OPENMPT_API_VERSION_AT_LEAST(0,3,0)
+ .p.extensions = "669,amf,ams,dbm,digi,dmf,dsm,dtm,far,gdm,ice,imf,it,j2b,m15,mdl,med,mmcmp,mms,mo3,mod,mptm,mt2,mtm,nst,okt,plm,ppm,psm,pt36,ptm,s3m,sfx,sfx2,st26,stk,stm,stp,ult,umx,wow,xm,xpk",
+#else
+ .p.extensions = "669,amf,ams,dbm,digi,dmf,dsm,far,gdm,ice,imf,it,j2b,m15,mdl,med,mmcmp,mms,mo3,mod,mptm,mt2,mtm,nst,okt,plm,ppm,psm,pt36,ptm,s3m,sfx,sfx2,st26,stk,stm,ult,umx,wow,xm,xpk",
+#endif
.priv_data_size = sizeof(OpenMPTContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = read_probe_openmpt,
@@ -288,10 +295,4 @@ const AVInputFormat ff_libopenmpt_demuxer = {
.read_packet = read_packet_openmpt,
.read_close = read_close_openmpt,
.read_seek = read_seek_openmpt,
- .priv_class = &class_openmpt,
-#if OPENMPT_API_VERSION_AT_LEAST(0,3,0)
- .extensions = "669,amf,ams,dbm,digi,dmf,dsm,dtm,far,gdm,ice,imf,it,j2b,m15,mdl,med,mmcmp,mms,mo3,mod,mptm,mt2,mtm,nst,okt,plm,ppm,psm,pt36,ptm,s3m,sfx,sfx2,st26,stk,stm,stp,ult,umx,wow,xm,xpk",
-#else
- .extensions = "669,amf,ams,dbm,digi,dmf,dsm,far,gdm,ice,imf,it,j2b,m15,mdl,med,mmcmp,mms,mo3,mod,mptm,mt2,mtm,nst,okt,plm,ppm,psm,pt36,ptm,s3m,sfx,sfx2,st26,stk,stm,ult,umx,wow,xm,xpk",
-#endif
};
@@ -25,6 +25,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define LMLM4_I_FRAME 0x00
@@ -121,9 +122,9 @@ static int lmlm4_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_lmlm4_demuxer = {
- .name = "lmlm4",
- .long_name = NULL_IF_CONFIG_SMALL("raw lmlm4"),
+const FFInputFormat ff_lmlm4_demuxer = {
+ .p.name = "lmlm4",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw lmlm4"),
.read_probe = lmlm4_probe,
.read_header = lmlm4_read_header,
.read_packet = lmlm4_read_packet,
@@ -22,6 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "libavutil/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "rawdec.h"
@@ -83,14 +84,14 @@ static int loas_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_loas_demuxer = {
- .name = "loas",
- .long_name = NULL_IF_CONFIG_SMALL("LOAS AudioSyncStream"),
+const FFInputFormat ff_loas_demuxer = {
+ .p.name = "loas",
+ .p.long_name = NULL_IF_CONFIG_SMALL("LOAS AudioSyncStream"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = loas_probe,
.read_header = loas_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags= AVFMT_GENERIC_INDEX,
.raw_codec_id = AV_CODEC_ID_AAC_LATM,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -24,6 +24,7 @@
#include <string.h>
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "lrc.h"
#include "metadata.h"
@@ -224,9 +225,9 @@ err_nomem_out:
return AVERROR(ENOMEM);
}
-const AVInputFormat ff_lrc_demuxer = {
- .name = "lrc",
- .long_name = NULL_IF_CONFIG_SMALL("LRC lyrics"),
+const FFInputFormat ff_lrc_demuxer = {
+ .p.name = "lrc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("LRC lyrics"),
.priv_data_size = sizeof (LRCContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = lrc_probe,
@@ -23,6 +23,7 @@
#include "libavutil/intreadwrite.h"
#include "avio_internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int dat_probe(const AVProbeData *p)
@@ -115,12 +116,12 @@ static int dat_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_luodat_demuxer = {
- .name = "luodat",
- .long_name = NULL_IF_CONFIG_SMALL("Video CCTV DAT"),
+const FFInputFormat ff_luodat_demuxer = {
+ .p.name = "luodat",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Video CCTV DAT"),
+ .p.extensions = "dat",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = dat_probe,
.read_header = dat_read_header,
.read_packet = dat_read_packet,
- .extensions = "dat",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "riff.h"
static int lvf_probe(const AVProbeData *p)
@@ -145,12 +146,12 @@ static int lvf_read_packet(AVFormatContext *s, AVPacket *pkt)
return AVERROR_EOF;
}
-const AVInputFormat ff_lvf_demuxer = {
- .name = "lvf",
- .long_name = NULL_IF_CONFIG_SMALL("LVF"),
+const FFInputFormat ff_lvf_demuxer = {
+ .p.name = "lvf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("LVF"),
+ .p.extensions = "lvf",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = lvf_probe,
.read_header = lvf_read_header,
.read_packet = lvf_read_packet,
- .extensions = "lvf",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -335,12 +335,12 @@ static int lxf_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_lxf_demuxer = {
- .name = "lxf",
- .long_name = NULL_IF_CONFIG_SMALL("VR native stream (LXF)"),
+const FFInputFormat ff_lxf_demuxer = {
+ .p.name = "lxf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("VR native stream (LXF)"),
+ .p.codec_tag = (const AVCodecTag* const []){lxf_tags, 0},
.priv_data_size = sizeof(LXFDemuxContext),
.read_probe = lxf_probe,
.read_header = lxf_read_header,
.read_packet = lxf_read_packet,
- .codec_tag = (const AVCodecTag* const []){lxf_tags, 0},
};
@@ -4777,10 +4777,10 @@ static const AVClass webm_dash_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_webm_dash_manifest_demuxer = {
- .name = "webm_dash_manifest",
- .long_name = NULL_IF_CONFIG_SMALL("WebM DASH Manifest"),
- .priv_class = &webm_dash_class,
+const FFInputFormat ff_webm_dash_manifest_demuxer = {
+ .p.name = "webm_dash_manifest",
+ .p.long_name = NULL_IF_CONFIG_SMALL("WebM DASH Manifest"),
+ .p.priv_class = &webm_dash_class,
.priv_data_size = sizeof(MatroskaDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_header = webm_dash_manifest_read_header,
@@ -4789,10 +4789,11 @@ const AVInputFormat ff_webm_dash_manifest_demuxer = {
};
#endif
-const AVInputFormat ff_matroska_demuxer = {
- .name = "matroska,webm",
- .long_name = NULL_IF_CONFIG_SMALL("Matroska / WebM"),
- .extensions = "mkv,mk3d,mka,mks,webm",
+const FFInputFormat ff_matroska_demuxer = {
+ .p.name = "matroska,webm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Matroska / WebM"),
+ .p.extensions = "mkv,mk3d,mka,mks,webm",
+ .p.mime_type = "audio/webm,audio/x-matroska,video/webm,video/x-matroska",
.priv_data_size = sizeof(MatroskaDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = matroska_probe,
@@ -4800,5 +4801,4 @@ const AVInputFormat ff_matroska_demuxer = {
.read_packet = matroska_read_packet,
.read_close = matroska_read_close,
.read_seek = matroska_read_seek,
- .mime_type = "audio/webm,audio/x-matroska,video/webm,video/x-matroska"
};
@@ -218,13 +218,13 @@ static int read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_mca_demuxer = {
- .name = "mca",
- .long_name = NULL_IF_CONFIG_SMALL("MCA Audio Format"),
+const FFInputFormat ff_mca_demuxer = {
+ .p.name = "mca",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MCA Audio Format"),
+ .p.extensions = "mca",
.priv_data_size = sizeof(MCADemuxContext),
.read_probe = probe,
.read_header = read_header,
.read_packet = read_packet,
.read_seek = read_seek,
- .extensions = "mca",
};
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/avstring.h"
@@ -200,14 +201,14 @@ static int mcc_read_header(AVFormatContext *s)
return ret;
}
-const AVInputFormat ff_mcc_demuxer = {
- .name = "mcc",
- .long_name = NULL_IF_CONFIG_SMALL("MacCaption"),
+const FFInputFormat ff_mcc_demuxer = {
+ .p.name = "mcc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MacCaption"),
+ .p.extensions = "mcc",
.priv_data_size = sizeof(MCCContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = mcc_probe,
.read_header = mcc_read_header,
- .extensions = "mcc",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -22,6 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "libavutil/intfloat.h"
#include "avformat.h"
+#include "demux.h"
#include "riff.h"
static int read_probe(const AVProbeData *p)
@@ -96,11 +97,11 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_mgsts_demuxer = {
- .name = "mgsts",
- .long_name = NULL_IF_CONFIG_SMALL("Metal Gear Solid: The Twin Snakes"),
+const FFInputFormat ff_mgsts_demuxer = {
+ .p.name = "mgsts",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Metal Gear Solid: The Twin Snakes"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = read_probe,
.read_header = read_header,
.read_packet = read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -21,6 +21,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/intreadwrite.h"
@@ -198,9 +199,10 @@ static const AVClass microdvd_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_microdvd_demuxer = {
- .name = "microdvd",
- .long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle format"),
+const FFInputFormat ff_microdvd_demuxer = {
+ .p.name = "microdvd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle format"),
+ .p.priv_class = µdvd_class,
.priv_data_size = sizeof(MicroDVDContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = microdvd_probe,
@@ -208,5 +210,4 @@ const AVInputFormat ff_microdvd_demuxer = {
.read_packet = microdvd_read_packet,
.read_seek2 = microdvd_read_seek,
.read_close = microdvd_read_close,
- .priv_class = µdvd_class,
};
@@ -25,6 +25,7 @@
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "rawdec.h"
#include "libavutil/intreadwrite.h"
@@ -95,17 +96,17 @@ static int mlp_probe(const AVProbeData *p)
return mlp_thd_probe(p, 0xf8726fbb);
}
-const AVInputFormat ff_mlp_demuxer = {
- .name = "mlp",
- .long_name = NULL_IF_CONFIG_SMALL("raw MLP"),
+const FFInputFormat ff_mlp_demuxer = {
+ .p.name = "mlp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw MLP"),
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
+ .p.extensions = "mlp",
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = mlp_probe,
.read_header = mlp_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
- .extensions = "mlp",
.raw_codec_id = AV_CODEC_ID_MLP,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
#endif
@@ -115,16 +116,16 @@ static int thd_probe(const AVProbeData *p)
return mlp_thd_probe(p, 0xf8726fba);
}
-const AVInputFormat ff_truehd_demuxer = {
- .name = "truehd",
- .long_name = NULL_IF_CONFIG_SMALL("raw TrueHD"),
+const FFInputFormat ff_truehd_demuxer = {
+ .p.name = "truehd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw TrueHD"),
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
+ .p.extensions = "thd",
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = thd_probe,
.read_header = mlp_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NOTIMESTAMPS,
- .extensions = "thd",
.raw_codec_id = AV_CODEC_ID_TRUEHD,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
#endif
@@ -488,9 +488,9 @@ static int read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_mlv_demuxer = {
- .name = "mlv",
- .long_name = NULL_IF_CONFIG_SMALL("Magic Lantern Video (MLV)"),
+const FFInputFormat ff_mlv_demuxer = {
+ .p.name = "mlv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Magic Lantern Video (MLV)"),
.priv_data_size = sizeof(MlvContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = probe,
@@ -34,6 +34,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define MM_PREAMBLE_SIZE 6
@@ -189,9 +190,9 @@ static int read_packet(AVFormatContext *s,
}
}
-const AVInputFormat ff_mm_demuxer = {
- .name = "mm",
- .long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM"),
+const FFInputFormat ff_mm_demuxer = {
+ .p.name = "mm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM"),
.priv_data_size = sizeof(MmDemuxContext),
.read_probe = probe,
.read_header = read_header,
@@ -24,6 +24,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "mux.h"
#include "pcm.h"
@@ -298,14 +299,14 @@ static int mmf_read_packet(AVFormatContext *s, AVPacket *pkt)
}
#if CONFIG_MMF_DEMUXER
-const AVInputFormat ff_mmf_demuxer = {
- .name = "mmf",
- .long_name = NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
+const FFInputFormat ff_mmf_demuxer = {
+ .p.name = "mmf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(MMFContext),
.read_probe = mmf_probe,
.read_header = mmf_read_header,
.read_packet = mmf_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
#endif
@@ -24,6 +24,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int mods_probe(const AVProbeData *p)
@@ -91,12 +92,12 @@ static int mods_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_mods_demuxer = {
- .name = "mods",
- .long_name = NULL_IF_CONFIG_SMALL("MobiClip MODS"),
+const FFInputFormat ff_mods_demuxer = {
+ .p.name = "mods",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MobiClip MODS"),
+ .p.extensions = "mods",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = mods_probe,
.read_header = mods_read_header,
.read_packet = mods_read_packet,
- .extensions = "mods",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -24,6 +24,7 @@
#include "libavcodec/bytestream.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct BitReader {
@@ -371,16 +372,16 @@ static int moflex_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_moflex_demuxer = {
- .name = "moflex",
- .long_name = NULL_IF_CONFIG_SMALL("MobiClip MOFLEX"),
+const FFInputFormat ff_moflex_demuxer = {
+ .p.name = "moflex",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MobiClip MOFLEX"),
+ .p.extensions = "moflex",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(MOFLEXDemuxContext),
.read_probe = moflex_probe,
.read_header = moflex_read_header,
.read_packet = moflex_read_packet,
.read_seek = moflex_read_seek,
.read_close = moflex_read_close,
- .extensions = "moflex",
- .flags = AVFMT_GENERIC_INDEX,
.flags_internal = FF_FMT_INIT_CLEANUP,
};
@@ -9641,17 +9641,17 @@ static const AVClass mov_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_mov_demuxer = {
- .name = "mov,mp4,m4a,3gp,3g2,mj2",
- .long_name = NULL_IF_CONFIG_SMALL("QuickTime / MOV"),
- .priv_class = &mov_class,
+const FFInputFormat ff_mov_demuxer = {
+ .p.name = "mov,mp4,m4a,3gp,3g2,mj2",
+ .p.long_name = NULL_IF_CONFIG_SMALL("QuickTime / MOV"),
+ .p.priv_class = &mov_class,
+ .p.extensions = "mov,mp4,m4a,3gp,3g2,mj2,psp,m4b,ism,ismv,isma,f4v,avif,heic,heif",
+ .p.flags = AVFMT_NO_BYTE_SEEK | AVFMT_SEEK_TO_PTS | AVFMT_SHOW_IDS,
.priv_data_size = sizeof(MOVContext),
- .extensions = "mov,mp4,m4a,3gp,3g2,mj2,psp,m4b,ism,ismv,isma,f4v,avif,heic,heif",
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = mov_probe,
.read_header = mov_read_header,
.read_packet = mov_read_packet,
.read_close = mov_read_close,
.read_seek = mov_read_seek,
- .flags = AVFMT_NO_BYTE_SEEK | AVFMT_SEEK_TO_PTS | AVFMT_SHOW_IDS,
};
@@ -610,15 +610,15 @@ static const AVClass demuxer_class = {
.category = AV_CLASS_CATEGORY_DEMUXER,
};
-const AVInputFormat ff_mp3_demuxer = {
- .name = "mp3",
- .long_name = NULL_IF_CONFIG_SMALL("MP2/3 (MPEG audio layer 2/3)"),
+const FFInputFormat ff_mp3_demuxer = {
+ .p.name = "mp3",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MP2/3 (MPEG audio layer 2/3)"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "mp2,mp3,m2a,mpa", /* XXX: use probe */
+ .p.priv_class = &demuxer_class,
.read_probe = mp3_read_probe,
.read_header = mp3_read_header,
.read_packet = mp3_read_packet,
.read_seek = mp3_seek,
.priv_data_size = sizeof(MP3DecContext),
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "mp2,mp3,m2a,mpa", /* XXX: use probe */
- .priv_class = &demuxer_class,
};
@@ -219,13 +219,13 @@ static int mpc_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
}
-const AVInputFormat ff_mpc_demuxer = {
- .name = "mpc",
- .long_name = NULL_IF_CONFIG_SMALL("Musepack"),
+const FFInputFormat ff_mpc_demuxer = {
+ .p.name = "mpc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Musepack"),
+ .p.extensions = "mpc",
.priv_data_size = sizeof(MPCContext),
.read_probe = mpc_probe,
.read_header = mpc_read_header,
.read_packet = mpc_read_packet,
.read_seek = mpc_read_seek,
- .extensions = "mpc",
};
@@ -348,9 +348,9 @@ static int mpc8_read_seek(AVFormatContext *s, int stream_index, int64_t timestam
}
-const AVInputFormat ff_mpc8_demuxer = {
- .name = "mpc8",
- .long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
+const FFInputFormat ff_mpc8_demuxer = {
+ .p.name = "mpc8",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
.priv_data_size = sizeof(MPCContext),
.read_probe = mpc8_probe,
.read_header = mpc8_read_header,
@@ -692,15 +692,15 @@ static int64_t mpegps_read_dts(AVFormatContext *s, int stream_index,
return dts;
}
-const AVInputFormat ff_mpegps_demuxer = {
- .name = "mpeg",
- .long_name = NULL_IF_CONFIG_SMALL("MPEG-PS (MPEG-2 Program Stream)"),
+const FFInputFormat ff_mpegps_demuxer = {
+ .p.name = "mpeg",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-PS (MPEG-2 Program Stream)"),
+ .p.flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
.priv_data_size = sizeof(MpegDemuxContext),
.read_probe = mpegps_probe,
.read_header = mpegps_read_header,
.read_packet = mpegps_read_packet,
.read_timestamp = mpegps_read_dts,
- .flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
};
#if CONFIG_VOBSUB_DEMUXER
@@ -1048,9 +1048,12 @@ static const AVClass vobsub_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_vobsub_demuxer = {
- .name = "vobsub",
- .long_name = NULL_IF_CONFIG_SMALL("VobSub subtitle format"),
+const FFInputFormat ff_vobsub_demuxer = {
+ .p.name = "vobsub",
+ .p.long_name = NULL_IF_CONFIG_SMALL("VobSub subtitle format"),
+ .p.flags = AVFMT_SHOW_IDS,
+ .p.extensions = "idx",
+ .p.priv_class = &vobsub_demuxer_class,
.priv_data_size = sizeof(VobSubDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = vobsub_probe,
@@ -1058,8 +1061,5 @@ const AVInputFormat ff_vobsub_demuxer = {
.read_packet = vobsub_read_packet,
.read_seek2 = vobsub_read_seek,
.read_close = vobsub_read_close,
- .flags = AVFMT_SHOW_IDS,
- .extensions = "idx",
- .priv_class = &vobsub_demuxer_class,
};
#endif
@@ -272,7 +272,7 @@ typedef struct PESContext {
int merged_st;
} PESContext;
-extern const AVInputFormat ff_mpegts_demuxer;
+extern const FFInputFormat ff_mpegts_demuxer;
static struct Program * get_program(MpegTSContext *ts, unsigned int programid)
{
@@ -3117,7 +3117,7 @@ static int mpegts_read_header(AVFormatContext *s)
ts->stream = s;
ts->auto_guess = 0;
- if (s->iformat == &ff_mpegts_demuxer) {
+ if (s->iformat == &ff_mpegts_demuxer.p) {
/* normal demux */
/* first do a scan to get all the services */
@@ -3425,27 +3425,27 @@ void avpriv_mpegts_parse_close(MpegTSContext *ts)
av_free(ts);
}
-const AVInputFormat ff_mpegts_demuxer = {
- .name = "mpegts",
- .long_name = NULL_IF_CONFIG_SMALL("MPEG-TS (MPEG-2 Transport Stream)"),
+const FFInputFormat ff_mpegts_demuxer = {
+ .p.name = "mpegts",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-TS (MPEG-2 Transport Stream)"),
+ .p.flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
+ .p.priv_class = &mpegts_class,
.priv_data_size = sizeof(MpegTSContext),
.read_probe = mpegts_probe,
.read_header = mpegts_read_header,
.read_packet = mpegts_read_packet,
.read_close = mpegts_read_close,
.read_timestamp = mpegts_get_dts,
- .flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
- .priv_class = &mpegts_class,
};
-const AVInputFormat ff_mpegtsraw_demuxer = {
- .name = "mpegtsraw",
- .long_name = NULL_IF_CONFIG_SMALL("raw MPEG-TS (MPEG-2 Transport Stream)"),
+const FFInputFormat ff_mpegtsraw_demuxer = {
+ .p.name = "mpegtsraw",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw MPEG-TS (MPEG-2 Transport Stream)"),
+ .p.flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
+ .p.priv_class = &mpegtsraw_class,
.priv_data_size = sizeof(MpegTSContext),
.read_header = mpegts_read_header,
.read_packet = mpegts_raw_read_packet,
.read_close = mpegts_read_close,
.read_timestamp = mpegts_get_dts,
- .flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
- .priv_class = &mpegtsraw_class,
};
@@ -23,6 +23,7 @@
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
@@ -368,16 +369,16 @@ static const AVClass mpjpeg_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_mpjpeg_demuxer = {
- .name = "mpjpeg",
- .long_name = NULL_IF_CONFIG_SMALL("MIME multipart JPEG"),
- .mime_type = "multipart/x-mixed-replace",
- .extensions = "mjpg",
+const FFInputFormat ff_mpjpeg_demuxer = {
+ .p.name = "mpjpeg",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MIME multipart JPEG"),
+ .p.mime_type = "multipart/x-mixed-replace",
+ .p.extensions = "mjpg",
+ .p.priv_class = &mpjpeg_demuxer_class,
+ .p.flags = AVFMT_NOTIMESTAMPS,
.priv_data_size = sizeof(MPJPEGDemuxContext),
.read_probe = mpjpeg_read_probe,
.read_header = mpjpeg_read_header,
.read_packet = mpjpeg_read_packet,
.read_close = mpjpeg_read_close,
- .priv_class = &mpjpeg_demuxer_class,
- .flags = AVFMT_NOTIMESTAMPS,
};
@@ -26,6 +26,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
@@ -122,14 +123,14 @@ static int mpl2_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_mpl2_demuxer = {
- .name = "mpl2",
- .long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitles"),
+const FFInputFormat ff_mpl2_demuxer = {
+ .p.name = "mpl2",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitles"),
+ .p.extensions = "txt,mpl2",
.priv_data_size = sizeof(MPL2Context),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = mpl2_probe,
.read_header = mpl2_read_header,
- .extensions = "txt,mpl2",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -24,6 +24,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
@@ -170,14 +171,14 @@ end:
return res;
}
-const AVInputFormat ff_mpsub_demuxer = {
- .name = "mpsub",
- .long_name = NULL_IF_CONFIG_SMALL("MPlayer subtitles"),
+const FFInputFormat ff_mpsub_demuxer = {
+ .p.name = "mpsub",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MPlayer subtitles"),
+ .p.extensions = "sub",
.priv_data_size = sizeof(MPSubContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = mpsub_probe,
.read_header = mpsub_read_header,
- .extensions = "sub",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int msf_probe(const AVProbeData *p)
@@ -103,11 +104,11 @@ static int msf_read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, par->block_align ? par->block_align : 1024 * par->ch_layout.nb_channels);
}
-const AVInputFormat ff_msf_demuxer = {
- .name = "msf",
- .long_name = NULL_IF_CONFIG_SMALL("Sony PS3 MSF"),
+const FFInputFormat ff_msf_demuxer = {
+ .p.name = "msf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sony PS3 MSF"),
+ .p.extensions = "msf",
.read_probe = msf_probe,
.read_header = msf_read_header,
.read_packet = msf_read_packet,
- .extensions = "msf",
};
@@ -20,6 +20,7 @@
#include "libavcodec/bytestream.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define HEADER_SIZE 24
@@ -136,9 +137,9 @@ static int msnwc_tcp_read_packet(AVFormatContext *ctx, AVPacket *pkt)
return HEADER_SIZE + size;
}
-const AVInputFormat ff_msnwc_tcp_demuxer = {
- .name = "msnwctcp",
- .long_name = NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"),
+const FFInputFormat ff_msnwc_tcp_demuxer = {
+ .p.name = "msnwctcp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"),
.read_probe = msnwc_tcp_probe,
.read_header = msnwc_tcp_read_header,
.read_packet = msnwc_tcp_read_packet,
@@ -27,6 +27,7 @@
#include "libavutil/intreadwrite.h"
#include "libavutil/imgutils.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct {
@@ -106,12 +107,12 @@ static int msp_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_msp_demuxer = {
- .name = "msp",
- .long_name = NULL_IF_CONFIG_SMALL("Microsoft Paint (MSP))"),
+const FFInputFormat ff_msp_demuxer = {
+ .p.name = "msp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Microsoft Paint (MSP))"),
+ .p.flags = AVFMT_NOTIMESTAMPS,
.read_probe = msp_probe,
.read_header = msp_read_header,
.read_packet = msp_read_packet,
- .flags = AVFMT_NOTIMESTAMPS,
.priv_data_size = sizeof(MSPContext),
};
@@ -22,6 +22,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int mtaf_probe(const AVProbeData *p)
@@ -71,11 +72,11 @@ static int mtaf_read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, par->block_align);
}
-const AVInputFormat ff_mtaf_demuxer = {
- .name = "mtaf",
- .long_name = NULL_IF_CONFIG_SMALL("Konami PS2 MTAF"),
+const FFInputFormat ff_mtaf_demuxer = {
+ .p.name = "mtaf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Konami PS2 MTAF"),
+ .p.extensions = "mtaf",
.read_probe = mtaf_probe,
.read_header = mtaf_read_header,
.read_packet = mtaf_read_packet,
- .extensions = "mtaf",
};
@@ -27,6 +27,7 @@
#include "libavutil/bswap.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define MTV_ASUBCHUNK_DATA_SIZE 500
@@ -225,9 +226,9 @@ static int mtv_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_mtv_demuxer = {
- .name = "mtv",
- .long_name = NULL_IF_CONFIG_SMALL("MTV"),
+const FFInputFormat ff_mtv_demuxer = {
+ .p.name = "mtv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MTV"),
.priv_data_size = sizeof(MTVDemuxContext),
.read_probe = mtv_probe,
.read_header = mtv_read_header,
@@ -22,6 +22,7 @@
#include "libavutil/avassert.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int musx_probe(const AVProbeData *p)
@@ -178,11 +179,11 @@ static int musx_read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, par->block_align);
}
-const AVInputFormat ff_musx_demuxer = {
- .name = "musx",
- .long_name = NULL_IF_CONFIG_SMALL("Eurocom MUSX"),
+const FFInputFormat ff_musx_demuxer = {
+ .p.name = "musx",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Eurocom MUSX"),
+ .p.extensions = "musx",
.read_probe = musx_probe,
.read_header = musx_read_header,
.read_packet = musx_read_packet,
- .extensions = "musx",
};
@@ -31,6 +31,7 @@
#include "libavutil/rational.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct MvContext {
@@ -539,9 +540,9 @@ static int mv_read_seek(AVFormatContext *avctx, int stream_index,
return 0;
}
-const AVInputFormat ff_mv_demuxer = {
- .name = "mv",
- .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Movie"),
+const FFInputFormat ff_mv_demuxer = {
+ .p.name = "mv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Movie"),
.priv_data_size = sizeof(MvContext),
.read_probe = mv_probe,
.read_header = mv_read_header,
@@ -23,6 +23,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define MVI_FRAC_BITS 10
@@ -142,11 +143,11 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_mvi_demuxer = {
- .name = "mvi",
- .long_name = NULL_IF_CONFIG_SMALL("Motion Pixels MVI"),
+const FFInputFormat ff_mvi_demuxer = {
+ .p.name = "mvi",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Motion Pixels MVI"),
+ .p.extensions = "mvi",
.priv_data_size = sizeof(MviDemuxContext),
.read_header = read_header,
.read_packet = read_packet,
- .extensions = "mvi",
};
@@ -4314,10 +4314,11 @@ static const AVClass demuxer_class = {
.category = AV_CLASS_CATEGORY_DEMUXER,
};
-const AVInputFormat ff_mxf_demuxer = {
- .name = "mxf",
- .long_name = NULL_IF_CONFIG_SMALL("MXF (Material eXchange Format)"),
- .flags = AVFMT_SEEK_TO_PTS,
+const FFInputFormat ff_mxf_demuxer = {
+ .p.name = "mxf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MXF (Material eXchange Format)"),
+ .p.flags = AVFMT_SEEK_TO_PTS,
+ .p.priv_class = &demuxer_class,
.priv_data_size = sizeof(MXFContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = mxf_probe,
@@ -4325,5 +4326,4 @@ const AVInputFormat ff_mxf_demuxer = {
.read_packet = mxf_read_packet,
.read_close = mxf_read_close,
.read_seek = mxf_read_seek,
- .priv_class = &demuxer_class,
};
@@ -24,6 +24,7 @@
#include "libavutil/intreadwrite.h"
#include "libavcodec/mjpeg.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio.h"
@@ -248,12 +249,12 @@ static int mxg_close(struct AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_mxg_demuxer = {
- .name = "mxg",
- .long_name = NULL_IF_CONFIG_SMALL("MxPEG clip"),
+const FFInputFormat ff_mxg_demuxer = {
+ .p.name = "mxg",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MxPEG clip"),
+ .p.extensions = "mxg",
.priv_data_size = sizeof(MXGContext),
.read_header = mxg_read_header,
.read_packet = mxg_read_packet,
.read_close = mxg_close,
- .extensions = "mxg",
};
@@ -22,6 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define NC_VIDEO_FLAG 0x1A5
@@ -90,11 +91,11 @@ static int nc_read_packet(AVFormatContext *s, AVPacket *pkt)
return size;
}
-const AVInputFormat ff_nc_demuxer = {
- .name = "nc",
- .long_name = NULL_IF_CONFIG_SMALL("NC camera feed"),
+const FFInputFormat ff_nc_demuxer = {
+ .p.name = "nc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("NC camera feed"),
+ .p.extensions = "v",
.read_probe = nc_probe,
.read_header = nc_read_header,
.read_packet = nc_read_packet,
- .extensions = "v",
};
@@ -22,6 +22,7 @@
#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -133,13 +134,13 @@ static int nist_read_header(AVFormatContext *s)
return AVERROR_EOF;
}
-const AVInputFormat ff_nistsphere_demuxer = {
- .name = "nistsphere",
- .long_name = NULL_IF_CONFIG_SMALL("NIST SPeech HEader REsources"),
+const FFInputFormat ff_nistsphere_demuxer = {
+ .p.name = "nistsphere",
+ .p.long_name = NULL_IF_CONFIG_SMALL("NIST SPeech HEader REsources"),
+ .p.extensions = "nist,sph",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = nist_probe,
.read_header = nist_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .extensions = "nist,sph",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -22,6 +22,7 @@
#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -96,13 +97,13 @@ static int nsp_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_nsp_demuxer = {
- .name = "nsp",
- .long_name = NULL_IF_CONFIG_SMALL("Computerized Speech Lab NSP"),
+const FFInputFormat ff_nsp_demuxer = {
+ .p.name = "nsp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Computerized Speech Lab NSP"),
+ .p.extensions = "nsp",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = nsp_probe,
.read_header = nsp_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .extensions = "nsp",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -24,6 +24,7 @@
#include "libavutil/attributes.h"
#include "libavutil/mathematics.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/dict.h"
#include "libavutil/intreadwrite.h"
@@ -747,9 +748,9 @@ static int nsv_probe(const AVProbeData *p)
return score;
}
-const AVInputFormat ff_nsv_demuxer = {
- .name = "nsv",
- .long_name = NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
+const FFInputFormat ff_nsv_demuxer = {
+ .p.name = "nsv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
.priv_data_size = sizeof(NSVContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = nsv_probe,
@@ -1306,10 +1306,12 @@ static int read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_nut_demuxer = {
- .name = "nut",
- .long_name = NULL_IF_CONFIG_SMALL("NUT"),
- .flags = AVFMT_SEEK_TO_PTS,
+const FFInputFormat ff_nut_demuxer = {
+ .p.name = "nut",
+ .p.long_name = NULL_IF_CONFIG_SMALL("NUT"),
+ .p.flags = AVFMT_SEEK_TO_PTS,
+ .p.extensions = "nut",
+ .p.codec_tag = ff_nut_codec_tags,
.priv_data_size = sizeof(NUTContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = nut_probe,
@@ -1317,6 +1319,4 @@ const AVInputFormat ff_nut_demuxer = {
.read_packet = nut_read_packet,
.read_close = nut_read_close,
.read_seek = read_seek,
- .extensions = "nut",
- .codec_tag = ff_nut_codec_tags,
};
@@ -396,13 +396,13 @@ static int64_t nuv_read_dts(AVFormatContext *s, int stream_index,
}
-const AVInputFormat ff_nuv_demuxer = {
- .name = "nuv",
- .long_name = NULL_IF_CONFIG_SMALL("NuppelVideo"),
+const FFInputFormat ff_nuv_demuxer = {
+ .p.name = "nuv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("NuppelVideo"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(NUVContext),
.read_probe = nuv_probe,
.read_header = nuv_header,
.read_packet = nuv_packet,
.read_timestamp = nuv_read_dts,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -960,9 +960,11 @@ static int ogg_probe(const AVProbeData *p)
return 0;
}
-const AVInputFormat ff_ogg_demuxer = {
- .name = "ogg",
- .long_name = NULL_IF_CONFIG_SMALL("Ogg"),
+const FFInputFormat ff_ogg_demuxer = {
+ .p.name = "ogg",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Ogg"),
+ .p.extensions = "ogg",
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_TS_DISCONT | AVFMT_NOBINSEARCH,
.priv_data_size = sizeof(struct ogg),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = ogg_probe,
@@ -971,6 +973,4 @@ const AVInputFormat ff_ogg_demuxer = {
.read_close = ogg_read_close,
.read_seek = ogg_read_seek,
.read_timestamp = ogg_read_timestamp,
- .extensions = "ogg",
- .flags = AVFMT_GENERIC_INDEX | AVFMT_TS_DISCONT | AVFMT_NOBINSEARCH,
};
@@ -44,6 +44,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/des.h"
@@ -607,9 +608,12 @@ wipe:
return err;
}
-const AVInputFormat ff_oma_demuxer = {
- .name = "oma",
- .long_name = NULL_IF_CONFIG_SMALL("Sony OpenMG audio"),
+const FFInputFormat ff_oma_demuxer = {
+ .p.name = "oma",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sony OpenMG audio"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "oma,omg,aa3",
+ .p.codec_tag = ff_oma_codec_tags_list,
.priv_data_size = sizeof(OMAContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = oma_read_probe,
@@ -617,7 +621,4 @@ const AVInputFormat ff_oma_demuxer = {
.read_packet = oma_read_packet,
.read_seek = oma_read_seek,
.read_close = oma_read_close,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "oma,omg,aa3",
- .codec_tag = ff_oma_codec_tags_list,
};
@@ -104,15 +104,15 @@ static int osq_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_osq_demuxer = {
- .name = "osq",
- .long_name = NULL_IF_CONFIG_SMALL("raw OSQ"),
+const FFInputFormat ff_osq_demuxer = {
+ .p.name = "osq",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw OSQ"),
+ .p.extensions = "osq",
+ .p.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = osq_probe,
.read_header = osq_read_header,
.read_packet = ff_raw_read_partial_packet,
- .extensions = "osq",
- .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
.raw_codec_id = AV_CODEC_ID_OSQ,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -22,6 +22,7 @@
#include "libavutil/channel_layout.h"
#include "libavcodec/paf.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define MAGIC "Packed Animation File V1.0\n(c) 1992-96 Amazing Studio\x0a\x1a"
@@ -265,9 +266,9 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
return pkt->size;
}
-const AVInputFormat ff_paf_demuxer = {
- .name = "paf",
- .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File"),
+const FFInputFormat ff_paf_demuxer = {
+ .p.name = "paf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File"),
.priv_data_size = sizeof(PAFDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = read_probe,
@@ -24,6 +24,7 @@
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
#include "libavutil/log.h"
@@ -50,7 +51,7 @@ static int pcm_read_header(AVFormatContext *s)
par = st->codecpar;
par->codec_type = AVMEDIA_TYPE_AUDIO;
- par->codec_id = s->iformat->raw_codec_id;
+ par->codec_id = ffifmt(s->iformat)->raw_codec_id;
par->sample_rate = s1->sample_rate;
ret = av_channel_layout_copy(&par->ch_layout, &s1->ch_layout);
if (ret < 0)
@@ -116,17 +117,17 @@ static const AVClass pcm_demuxer_class = {
#define PCMDEF_0(name_, long_name_, ext, codec, ...)
#define PCMDEF_1(name_, long_name_, ext, codec, ...) \
-const AVInputFormat ff_pcm_ ## name_ ## _demuxer = { \
- .name = #name_, \
- .long_name = NULL_IF_CONFIG_SMALL(long_name_), \
+const FFInputFormat ff_pcm_ ## name_ ## _demuxer = { \
+ .p.name = #name_, \
+ .p.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
+ .p.flags = AVFMT_GENERIC_INDEX, \
+ .p.extensions = ext, \
+ .p.priv_class = &pcm_demuxer_class, \
.priv_data_size = sizeof(PCMAudioDemuxerContext), \
.read_header = pcm_read_header, \
.read_packet = ff_pcm_read_packet, \
.read_seek = ff_pcm_read_seek, \
- .flags = AVFMT_GENERIC_INDEX, \
- .extensions = ext, \
.raw_codec_id = codec, \
- .priv_class = &pcm_demuxer_class, \
__VA_ARGS__ \
};
#define PCMDEF_2(name, long_name, ext, codec, enabled, ...) \
@@ -148,7 +149,7 @@ PCMDEF(s32le, "PCM signed 32-bit little-endian", NULL, S32LE)
PCMDEF(s24be, "PCM signed 24-bit big-endian", NULL, S24BE)
PCMDEF(s24le, "PCM signed 24-bit little-endian", NULL, S24LE)
PCMDEF_EXT(s16be, "PCM signed 16-bit big-endian",
- AV_NE("sw", NULL), S16BE, .mime_type = "audio/L16")
+ AV_NE("sw", NULL), S16BE, .p.mime_type = "audio/L16")
PCMDEF(s16le, "PCM signed 16-bit little-endian", AV_NE(NULL, "sw"), S16LE)
PCMDEF(s8, "PCM signed 8-bit", "sb", S8)
PCMDEF(u32be, "PCM unsigned 32-bit big-endian", NULL, U32BE)
@@ -176,16 +177,16 @@ static const AVClass sln_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_sln_demuxer = {
- .name = "sln",
- .long_name = NULL_IF_CONFIG_SMALL("Asterisk raw pcm"),
+const FFInputFormat ff_sln_demuxer = {
+ .p.name = "sln",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Asterisk raw pcm"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "sln",
+ .p.priv_class = &sln_demuxer_class,
.priv_data_size = sizeof(PCMAudioDemuxerContext),
.read_header = pcm_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "sln",
.raw_codec_id = AV_CODEC_ID_PCM_S16LE,
- .priv_class = &sln_demuxer_class,
};
#endif
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define PDV_MAGIC "Playdate VID\x00\x00\x00\x00"
@@ -159,9 +160,10 @@ static int pdv_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
return 0;
}
-const AVInputFormat ff_pdv_demuxer = {
- .name = "pdv",
- .long_name = NULL_IF_CONFIG_SMALL("PlayDate Video"),
+const FFInputFormat ff_pdv_demuxer = {
+ .p.name = "pdv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("PlayDate Video"),
+ .p.extensions = "pdv",
.priv_data_size = sizeof(PDVDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = pdv_probe,
@@ -169,5 +171,4 @@ const AVInputFormat ff_pdv_demuxer = {
.read_packet = pdv_read_packet,
.read_close = pdv_read_close,
.read_seek = pdv_read_seek,
- .extensions = "pdv",
};
@@ -26,6 +26,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
@@ -105,14 +106,14 @@ static int pjs_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_pjs_demuxer = {
- .name = "pjs",
- .long_name = NULL_IF_CONFIG_SMALL("PJS (Phoenix Japanimation Society) subtitles"),
+const FFInputFormat ff_pjs_demuxer = {
+ .p.name = "pjs",
+ .p.long_name = NULL_IF_CONFIG_SMALL("PJS (Phoenix Japanimation Society) subtitles"),
+ .p.extensions = "pjs",
.priv_data_size = sizeof(PJSContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = pjs_probe,
.read_header = pjs_read_header,
- .extensions = "pjs",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct {
@@ -183,9 +184,9 @@ static int pmp_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_pmp_demuxer = {
- .name = "pmp",
- .long_name = NULL_IF_CONFIG_SMALL("Playstation Portable PMP"),
+const FFInputFormat ff_pmp_demuxer = {
+ .p.name = "pmp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Playstation Portable PMP"),
.priv_data_size = sizeof(PMPContext),
.read_probe = pmp_probe,
.read_header = pmp_header,
@@ -20,6 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/avassert.h"
@@ -315,9 +316,9 @@ static int pp_bnk_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_pp_bnk_demuxer = {
- .name = "pp_bnk",
- .long_name = NULL_IF_CONFIG_SMALL("Pro Pinball Series Soundbank"),
+const FFInputFormat ff_pp_bnk_demuxer = {
+ .p.name = "pp_bnk",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Pro Pinball Series Soundbank"),
.priv_data_size = sizeof(PPBnkCtx),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = pp_bnk_probe,
@@ -33,6 +33,7 @@
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define RIFF_TAG MKTAG('R', 'I', 'F', 'F')
@@ -302,13 +303,13 @@ static int str_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_str_demuxer = {
- .name = "psxstr",
- .long_name = NULL_IF_CONFIG_SMALL("Sony Playstation STR"),
+const FFInputFormat ff_str_demuxer = {
+ .p.name = "psxstr",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sony Playstation STR"),
+ .p.flags = AVFMT_NO_BYTE_SEEK,
.priv_data_size = sizeof(StrDemuxContext),
.read_probe = str_probe,
.read_header = str_read_header,
.read_packet = str_read_packet,
.read_close = str_read_close,
- .flags = AVFMT_NO_BYTE_SEEK,
};
@@ -21,6 +21,7 @@
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "mpeg.h"
@@ -228,9 +229,9 @@ static int64_t pva_read_timestamp(struct AVFormatContext *s, int stream_index,
return res;
}
-const AVInputFormat ff_pva_demuxer = {
- .name = "pva",
- .long_name = NULL_IF_CONFIG_SMALL("TechnoTrend PVA"),
+const FFInputFormat ff_pva_demuxer = {
+ .p.name = "pva",
+ .p.long_name = NULL_IF_CONFIG_SMALL("TechnoTrend PVA"),
.priv_data_size = sizeof(PVAContext),
.read_probe = pva_probe,
.read_header = pva_read_header,
@@ -21,6 +21,7 @@
#include "libavcodec/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -65,13 +66,13 @@ static int pvf_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_pvf_demuxer = {
- .name = "pvf",
- .long_name = NULL_IF_CONFIG_SMALL("PVF (Portable Voice Format)"),
+const FFInputFormat ff_pvf_demuxer = {
+ .p.name = "pvf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("PVF (Portable Voice Format)"),
+ .p.extensions = "pvf",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = pvf_probe,
.read_header = pvf_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .extensions = "pvf",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -30,6 +30,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "riff.h"
typedef struct QCPContext {
@@ -195,9 +196,9 @@ static int qcp_read_packet(AVFormatContext *s, AVPacket *pkt)
return AVERROR_EOF;
}
-const AVInputFormat ff_qcp_demuxer = {
- .name = "qcp",
- .long_name = NULL_IF_CONFIG_SMALL("QCP"),
+const FFInputFormat ff_qcp_demuxer = {
+ .p.name = "qcp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("QCP"),
.priv_data_size = sizeof(QCPContext),
.read_probe = qcp_probe,
.read_header = qcp_read_header,
@@ -20,6 +20,7 @@
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/intreadwrite.h"
@@ -99,12 +100,12 @@ static int qoa_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_qoa_demuxer = {
- .name = "qoa",
- .long_name = NULL_IF_CONFIG_SMALL("QOA"),
+const FFInputFormat ff_qoa_demuxer = {
+ .p.name = "qoa",
+ .p.long_name = NULL_IF_CONFIG_SMALL("QOA"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "qoa",
.read_probe = qoa_probe,
.read_header = qoa_read_header,
.read_packet = qoa_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "qoa",
};
@@ -23,6 +23,7 @@
#include "libavutil/dict.h"
#include "libavutil/mathematics.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct R3DContext {
@@ -401,9 +402,9 @@ static int r3d_seek(AVFormatContext *s, int stream_index, int64_t sample_time, i
return 0;
}
-const AVInputFormat ff_r3d_demuxer = {
- .name = "r3d",
- .long_name = NULL_IF_CONFIG_SMALL("REDCODE R3D"),
+const FFInputFormat ff_r3d_demuxer = {
+ .p.name = "r3d",
+ .p.long_name = NULL_IF_CONFIG_SMALL("REDCODE R3D"),
.priv_data_size = sizeof(R3DContext),
.read_probe = r3d_probe,
.read_header = r3d_read_header,
@@ -23,6 +23,7 @@
#include "config_components.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "rawdec.h"
#include "libavutil/opt.h"
@@ -56,7 +57,7 @@ int ff_raw_audio_read_header(AVFormatContext *s)
if (!st)
return AVERROR(ENOMEM);
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
- st->codecpar->codec_id = s->iformat->raw_codec_id;
+ st->codecpar->codec_id = ffifmt(s->iformat)->raw_codec_id;
ffstream(st)->need_parsing = AVSTREAM_PARSE_FULL_RAW;
st->start_time = 0;
/* the parameters will be extracted from the compressed bitstream */
@@ -81,7 +82,7 @@ int ff_raw_video_read_header(AVFormatContext *s)
sti = ffstream(st);
st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
- st->codecpar->codec_id = s->iformat->raw_codec_id;
+ st->codecpar->codec_id = ffifmt(s->iformat)->raw_codec_id;
sti->need_parsing = AVSTREAM_PARSE_FULL_RAW;
st->avg_frame_rate = s1->framerate;
@@ -97,7 +98,7 @@ int ff_raw_subtitle_read_header(AVFormatContext *s)
if (!st)
return AVERROR(ENOMEM);
st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE;
- st->codecpar->codec_id = s->iformat->raw_codec_id;
+ st->codecpar->codec_id = ffifmt(s->iformat)->raw_codec_id;
st->start_time = 0;
return 0;
}
@@ -108,7 +109,7 @@ static int raw_data_read_header(AVFormatContext *s)
if (!st)
return AVERROR(ENOMEM);
st->codecpar->codec_type = AVMEDIA_TYPE_DATA;
- st->codecpar->codec_id = s->iformat->raw_codec_id;
+ st->codecpar->codec_id = ffifmt(s->iformat)->raw_codec_id;
st->start_time = 0;
return 0;
}
@@ -145,15 +146,15 @@ const AVClass ff_raw_demuxer_class = {
};
#if CONFIG_DATA_DEMUXER
-const AVInputFormat ff_data_demuxer = {
- .name = "data",
- .long_name = NULL_IF_CONFIG_SMALL("raw data"),
+const FFInputFormat ff_data_demuxer = {
+ .p.name = "data",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw data"),
+ .p.flags = AVFMT_NOTIMESTAMPS,
+ .p.priv_class = &ff_raw_demuxer_class,
.read_header = raw_data_read_header,
.read_packet = ff_raw_read_partial_packet,
.raw_codec_id = AV_CODEC_ID_NONE,
- .flags = AVFMT_NOTIMESTAMPS,
.priv_data_size = sizeof(FFRawDemuxerContext),\
- .priv_class = &ff_raw_demuxer_class,
};
#endif
@@ -23,6 +23,7 @@
#define AVFORMAT_RAWDEC_H
#include "avformat.h"
+#include "demux.h"
#include "libavutil/log.h"
typedef struct FFRawVideoDemuxerContext {
@@ -50,34 +51,34 @@ int ff_raw_video_read_header(AVFormatContext *s);
int ff_raw_subtitle_read_header(AVFormatContext *s);
#define FF_DEF_RAWVIDEO_DEMUXER2(shortname, longname, probe, ext, id, flag)\
-const AVInputFormat ff_ ## shortname ## _demuxer = {\
- .name = #shortname,\
- .long_name = NULL_IF_CONFIG_SMALL(longname),\
+const FFInputFormat ff_ ## shortname ## _demuxer = {\
+ .p.name = #shortname,\
+ .p.long_name = NULL_IF_CONFIG_SMALL(longname),\
+ .p.extensions = ext,\
+ .p.flags = flag | AVFMT_NOTIMESTAMPS,\
+ .p.priv_class = &ff_rawvideo_demuxer_class,\
.read_probe = probe,\
.read_header = ff_raw_video_read_header,\
.read_packet = ff_raw_read_partial_packet,\
- .extensions = ext,\
- .flags = flag | AVFMT_NOTIMESTAMPS,\
.raw_codec_id = id,\
.priv_data_size = sizeof(FFRawVideoDemuxerContext),\
- .priv_class = &ff_rawvideo_demuxer_class,\
};
#define FF_DEF_RAWVIDEO_DEMUXER(shortname, longname, probe, ext, id)\
FF_DEF_RAWVIDEO_DEMUXER2(shortname, longname, probe, ext, id, AVFMT_GENERIC_INDEX)
#define FF_DEF_RAWSUB_DEMUXER(shortname, longname, probe, ext, id, flag)\
-const AVInputFormat ff_ ## shortname ## _demuxer = {\
- .name = #shortname,\
- .long_name = NULL_IF_CONFIG_SMALL(longname),\
+const FFInputFormat ff_ ## shortname ## _demuxer = {\
+ .p.name = #shortname,\
+ .p.long_name = NULL_IF_CONFIG_SMALL(longname),\
+ .p.extensions = ext,\
+ .p.flags = flag,\
+ .p.priv_class = &ff_raw_demuxer_class,\
.read_probe = probe,\
.read_header = ff_raw_subtitle_read_header,\
.read_packet = ff_raw_read_partial_packet,\
- .extensions = ext,\
- .flags = flag,\
.raw_codec_id = id,\
.priv_data_size = sizeof(FFRawDemuxerContext),\
- .priv_class = &ff_raw_demuxer_class,\
};
#endif /* AVFORMAT_RAWDEC_H */
@@ -25,6 +25,7 @@
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
+#include "demux.h"
#include "internal.h"
#include "avformat.h"
@@ -52,10 +53,10 @@ static int rawvideo_read_header(AVFormatContext *ctx)
st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
- st->codecpar->codec_id = ctx->iformat->raw_codec_id;
+ st->codecpar->codec_id = ffifmt(ctx->iformat)->raw_codec_id;
- if ((ctx->iformat->raw_codec_id != AV_CODEC_ID_V210) &&
- (ctx->iformat->raw_codec_id != AV_CODEC_ID_V210X)) {
+ if ((ffifmt(ctx->iformat)->raw_codec_id != AV_CODEC_ID_V210) &&
+ (ffifmt(ctx->iformat)->raw_codec_id != AV_CODEC_ID_V210X)) {
if ((pix_fmt = av_get_pix_fmt(s->pixel_format)) == AV_PIX_FMT_NONE) {
av_log(ctx, AV_LOG_ERROR, "No such pixel format: %s.\n",
s->pixel_format);
@@ -72,7 +73,7 @@ static int rawvideo_read_header(AVFormatContext *ctx)
st->codecpar->width = s->width;
st->codecpar->height = s->height;
- if (ctx->iformat->raw_codec_id == AV_CODEC_ID_BITPACKED) {
+ if (ffifmt(ctx->iformat)->raw_codec_id == AV_CODEC_ID_BITPACKED) {
unsigned int pgroup; /* size of the pixel group in bytes */
unsigned int xinc;
const AVPixFmtDescriptor *desc;
@@ -96,9 +97,9 @@ static int rawvideo_read_header(AVFormatContext *ctx)
}
st->codecpar->codec_tag = tag;
packet_size = s->width * s->height * pgroup / xinc;
- } else if ((ctx->iformat->raw_codec_id == AV_CODEC_ID_V210) ||
- (ctx->iformat->raw_codec_id == AV_CODEC_ID_V210X)) {
- pix_fmt = ctx->iformat->raw_codec_id == AV_CODEC_ID_V210 ?
+ } else if ((ffifmt(ctx->iformat)->raw_codec_id == AV_CODEC_ID_V210) ||
+ (ffifmt(ctx->iformat)->raw_codec_id == AV_CODEC_ID_V210X)) {
+ pix_fmt = ffifmt(ctx->iformat)->raw_codec_id == AV_CODEC_ID_V210 ?
AV_PIX_FMT_YUV422P10 : AV_PIX_FMT_YUV422P16;
packet_size = GET_PACKET_SIZE(s->width, s->height);
@@ -149,16 +150,16 @@ static const AVClass rawvideo_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_rawvideo_demuxer = {
- .name = "rawvideo",
- .long_name = NULL_IF_CONFIG_SMALL("raw video"),
+const FFInputFormat ff_rawvideo_demuxer = {
+ .p.name = "rawvideo",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw video"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "yuv,cif,qcif,rgb",
+ .p.priv_class = &rawvideo_demuxer_class,
.priv_data_size = sizeof(RawVideoDemuxerContext),
.read_header = rawvideo_read_header,
.read_packet = rawvideo_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "yuv,cif,qcif,rgb",
.raw_codec_id = AV_CODEC_ID_RAWVIDEO,
- .priv_class = &rawvideo_demuxer_class,
};
static const AVClass bitpacked_demuxer_class = {
@@ -169,16 +170,16 @@ static const AVClass bitpacked_demuxer_class = {
};
#if CONFIG_BITPACKED_DEMUXER
-const AVInputFormat ff_bitpacked_demuxer = {
- .name = "bitpacked",
- .long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),
+const FFInputFormat ff_bitpacked_demuxer = {
+ .p.name = "bitpacked",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "bitpacked",
+ .p.priv_class = &bitpacked_demuxer_class,
.priv_data_size = sizeof(RawVideoDemuxerContext),
.read_header = rawvideo_read_header,
.read_packet = rawvideo_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "bitpacked",
.raw_codec_id = AV_CODEC_ID_BITPACKED,
- .priv_class = &bitpacked_demuxer_class,
};
#endif // CONFIG_BITPACKED_DEMUXER
@@ -190,29 +191,29 @@ static const AVClass v210_demuxer_class = {
};
#if CONFIG_V210_DEMUXER
-const AVInputFormat ff_v210_demuxer = {
- .name = "v210",
- .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
+const FFInputFormat ff_v210_demuxer = {
+ .p.name = "v210",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "v210",
+ .p.priv_class = &v210_demuxer_class,
.priv_data_size = sizeof(RawVideoDemuxerContext),
.read_header = rawvideo_read_header,
.read_packet = rawvideo_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "v210",
.raw_codec_id = AV_CODEC_ID_V210,
- .priv_class = &v210_demuxer_class,
};
#endif // CONFIG_V210_DEMUXER
#if CONFIG_V210X_DEMUXER
-const AVInputFormat ff_v210x_demuxer = {
- .name = "v210x",
- .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
+const FFInputFormat ff_v210x_demuxer = {
+ .p.name = "v210x",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "yuv10",
+ .p.priv_class = &v210_demuxer_class,
.priv_data_size = sizeof(RawVideoDemuxerContext),
.read_header = rawvideo_read_header,
.read_packet = rawvideo_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "yuv10",
.raw_codec_id = AV_CODEC_ID_V210X,
- .priv_class = &v210_demuxer_class,
};
#endif // CONFIG_V210X_DEMUXER
@@ -27,6 +27,7 @@
#include "avformat.h"
#include "libavutil/avstring.h"
+#include "demux.h"
#include "rtpdec.h"
#include "rdt.h"
#include "libavutil/base64.h"
@@ -534,7 +535,7 @@ static av_cold int rdt_init(AVFormatContext *s, int st_index, PayloadContext *rd
if ((ret = ff_copy_whiteblacklists(rdt->rmctx, s)) < 0)
return ret;
- return avformat_open_input(&rdt->rmctx, "", &ff_rdt_demuxer, NULL);
+ return avformat_open_input(&rdt->rmctx, "", &ff_rdt_demuxer.p, NULL);
}
static void
@@ -25,6 +25,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/avstring.h"
@@ -131,14 +132,14 @@ end:
return res;
}
-const AVInputFormat ff_realtext_demuxer = {
- .name = "realtext",
- .long_name = NULL_IF_CONFIG_SMALL("RealText subtitle format"),
+const FFInputFormat ff_realtext_demuxer = {
+ .p.name = "realtext",
+ .p.long_name = NULL_IF_CONFIG_SMALL("RealText subtitle format"),
+ .p.extensions = "rt",
.priv_data_size = sizeof(RealTextContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = realtext_probe,
.read_header = realtext_read_header,
- .extensions = "rt",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -23,6 +23,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "avio.h"
+#include "demux.h"
#include "internal.h"
#define HEADER_SIZE 4096
@@ -150,12 +151,12 @@ static int redspark_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_redspark_demuxer = {
- .name = "redspark",
- .long_name = NULL_IF_CONFIG_SMALL("RedSpark"),
+const FFInputFormat ff_redspark_demuxer = {
+ .p.name = "redspark",
+ .p.long_name = NULL_IF_CONFIG_SMALL("RedSpark"),
+ .p.extensions = "rsd",
.priv_data_size = sizeof(RedSparkContext),
.read_probe = redspark_probe,
.read_header = redspark_read_header,
.read_packet = redspark_read_packet,
- .extensions = "rsd",
};
@@ -161,13 +161,13 @@ static int rka_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
return 0;
}
-const AVInputFormat ff_rka_demuxer = {
- .name = "rka",
- .long_name = NULL_IF_CONFIG_SMALL("RKA (RK Audio)"),
+const FFInputFormat ff_rka_demuxer = {
+ .p.name = "rka",
+ .p.long_name = NULL_IF_CONFIG_SMALL("RKA (RK Audio)"),
+ .p.extensions = "rka",
.priv_data_size = sizeof(RKAContext),
.read_probe = rka_probe,
.read_header = rka_read_header,
.read_packet = rka_read_packet,
.read_seek = rka_read_seek,
- .extensions = "rka",
};
@@ -302,9 +302,9 @@ static int rl2_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
return 0;
}
-const AVInputFormat ff_rl2_demuxer = {
- .name = "rl2",
- .long_name = NULL_IF_CONFIG_SMALL("RL2"),
+const FFInputFormat ff_rl2_demuxer = {
+ .p.name = "rl2",
+ .p.long_name = NULL_IF_CONFIG_SMALL("RL2"),
.priv_data_size = sizeof(Rl2DemuxContext),
.read_probe = rl2_probe,
.read_header = rl2_read_header,
@@ -34,7 +34,7 @@ RMStream *ff_rm_alloc_rmstream (void);
void ff_rm_free_rmstream (RMStream *rms);
/*< input format for Realmedia-style RTSP streams */
-extern const AVInputFormat ff_rdt_demuxer;
+extern const struct FFInputFormat ff_rdt_demuxer;
/**
* Read the MDPR chunk, which contains stream-specific codec initialization
@@ -1145,9 +1145,9 @@ static int rm_read_seek(AVFormatContext *s, int stream_index,
}
-const AVInputFormat ff_rm_demuxer = {
- .name = "rm",
- .long_name = NULL_IF_CONFIG_SMALL("RealMedia"),
+const FFInputFormat ff_rm_demuxer = {
+ .p.name = "rm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("RealMedia"),
.priv_data_size = sizeof(RMDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = rm_probe,
@@ -1158,12 +1158,12 @@ const AVInputFormat ff_rm_demuxer = {
.read_seek = rm_read_seek,
};
-const AVInputFormat ff_rdt_demuxer = {
- .name = "rdt",
- .long_name = NULL_IF_CONFIG_SMALL("RDT demuxer"),
+const FFInputFormat ff_rdt_demuxer = {
+ .p.name = "rdt",
+ .p.long_name = NULL_IF_CONFIG_SMALL("RDT demuxer"),
+ .p.flags = AVFMT_NOFILE,
.priv_data_size = sizeof(RMDemuxContext),
.read_close = rm_read_close,
- .flags = AVFMT_NOFILE,
};
static int ivr_probe(const AVProbeData *p)
@@ -1398,14 +1398,14 @@ static int ivr_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_ivr_demuxer = {
- .name = "ivr",
- .long_name = NULL_IF_CONFIG_SMALL("IVR (Internet Video Recording)"),
+const FFInputFormat ff_ivr_demuxer = {
+ .p.name = "ivr",
+ .p.long_name = NULL_IF_CONFIG_SMALL("IVR (Internet Video Recording)"),
+ .p.extensions = "ivr",
.priv_data_size = sizeof(RMDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = ivr_probe,
.read_header = ivr_read_header,
.read_packet = ivr_read_packet,
.read_close = rm_read_close,
- .extensions = "ivr",
};
@@ -25,6 +25,7 @@
#include "libavutil/avstring.h"
#include "libavutil/dict.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define RPL_SIGNATURE "ARMovie\x0A"
@@ -393,9 +394,9 @@ static int rpl_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_rpl_demuxer = {
- .name = "rpl",
- .long_name = NULL_IF_CONFIG_SMALL("RPL / ARMovie"),
+const FFInputFormat ff_rpl_demuxer = {
+ .p.name = "rpl",
+ .p.long_name = NULL_IF_CONFIG_SMALL("RPL / ARMovie"),
.priv_data_size = sizeof(RPLContext),
.read_probe = rpl_probe,
.read_header = rpl_read_header,
@@ -220,13 +220,13 @@ static int rsd_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_rsd_demuxer = {
- .name = "rsd",
- .long_name = NULL_IF_CONFIG_SMALL("GameCube RSD"),
+const FFInputFormat ff_rsd_demuxer = {
+ .p.name = "rsd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("GameCube RSD"),
+ .p.extensions = "rsd",
+ .p.codec_tag = (const AVCodecTag* const []){rsd_tags, 0},
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = rsd_probe,
.read_header = rsd_read_header,
.read_packet = rsd_read_packet,
- .extensions = "rsd",
- .codec_tag = (const AVCodecTag* const []){rsd_tags, 0},
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -23,6 +23,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
#include "rso.h"
@@ -71,12 +72,12 @@ static int rso_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_rso_demuxer = {
- .name = "rso",
- .long_name = NULL_IF_CONFIG_SMALL("Lego Mindstorms RSO"),
- .extensions = "rso",
+const FFInputFormat ff_rso_demuxer = {
+ .p.name = "rso",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Lego Mindstorms RSO"),
+ .p.extensions = "rso",
+ .p.codec_tag = ff_rso_codec_tags_list,
.read_header = rso_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .codec_tag = ff_rso_codec_tags_list,
};
@@ -35,6 +35,7 @@
#include "libavcodec/codec_desc.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#if HAVE_POLL_H
#include <poll.h>
@@ -2484,15 +2485,15 @@ static const AVClass sdp_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_sdp_demuxer = {
- .name = "sdp",
- .long_name = NULL_IF_CONFIG_SMALL("SDP"),
+const FFInputFormat ff_sdp_demuxer = {
+ .p.name = "sdp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SDP"),
+ .p.priv_class = &sdp_demuxer_class,
.priv_data_size = sizeof(RTSPState),
.read_probe = sdp_probe,
.read_header = sdp_read_header,
.read_packet = ff_rtsp_fetch_packet,
.read_close = sdp_read_close,
- .priv_class = &sdp_demuxer_class,
};
#endif /* CONFIG_SDP_DEMUXER */
@@ -2643,15 +2644,15 @@ static const AVClass rtp_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_rtp_demuxer = {
- .name = "rtp",
- .long_name = NULL_IF_CONFIG_SMALL("RTP input"),
+const FFInputFormat ff_rtp_demuxer = {
+ .p.name = "rtp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("RTP input"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &rtp_demuxer_class,
.priv_data_size = sizeof(RTSPState),
.read_probe = rtp_probe,
.read_header = rtp_read_header,
.read_packet = ff_rtsp_fetch_packet,
.read_close = sdp_read_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &rtp_demuxer_class,
};
#endif /* CONFIG_RTP_DEMUXER */
@@ -27,6 +27,7 @@
#include "libavutil/random_seed.h"
#include "libavutil/time.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "network.h"
@@ -992,17 +993,17 @@ static const AVClass rtsp_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_rtsp_demuxer = {
- .name = "rtsp",
- .long_name = NULL_IF_CONFIG_SMALL("RTSP input"),
+const FFInputFormat ff_rtsp_demuxer = {
+ .p.name = "rtsp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("RTSP input"),
+ .p.flags = AVFMT_NOFILE,
+ .p.priv_class = &rtsp_demuxer_class,
.priv_data_size = sizeof(RTSPState),
.read_probe = rtsp_probe,
.read_header = rtsp_read_header,
.read_packet = rtsp_read_packet,
.read_close = rtsp_read_close,
.read_seek = rtsp_read_seek,
- .flags = AVFMT_NOFILE,
.read_play = rtsp_read_play,
.read_pause = rtsp_read_pause,
- .priv_class = &rtsp_demuxer_class,
};
@@ -20,6 +20,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "spdif.h"
@@ -187,11 +188,11 @@ static int s337m_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_s337m_demuxer = {
- .name = "s337m",
- .long_name = NULL_IF_CONFIG_SMALL("SMPTE 337M"),
+const FFInputFormat ff_s337m_demuxer = {
+ .p.name = "s337m",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SMPTE 337M"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = s337m_probe,
.read_header = s337m_read_header,
.read_packet = s337m_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -25,6 +25,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/avstring.h"
@@ -121,14 +122,14 @@ end:
return res;
}
-const AVInputFormat ff_sami_demuxer = {
- .name = "sami",
- .long_name = NULL_IF_CONFIG_SMALL("SAMI subtitle format"),
+const FFInputFormat ff_sami_demuxer = {
+ .p.name = "sami",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SAMI subtitle format"),
+ .p.extensions = "smi,sami",
.priv_data_size = sizeof(SAMIContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = sami_probe,
.read_header = sami_read_header,
- .extensions = "smi,sami",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "network.h"
@@ -232,13 +233,13 @@ static int sap_fetch_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_sap_demuxer = {
- .name = "sap",
- .long_name = NULL_IF_CONFIG_SMALL("SAP input"),
+const FFInputFormat ff_sap_demuxer = {
+ .p.name = "sap",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SAP input"),
+ .p.flags = AVFMT_NOFILE,
.priv_data_size = sizeof(struct SAPState),
.read_probe = sap_probe,
.read_header = sap_read_header,
.read_packet = sap_fetch_packet,
.read_close = sap_read_close,
- .flags = AVFMT_NOFILE,
};
@@ -20,16 +20,17 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "rawdec.h"
-const AVInputFormat ff_sbc_demuxer = {
- .name = "sbc",
- .long_name = NULL_IF_CONFIG_SMALL("raw SBC (low-complexity subband codec)"),
- .extensions = "sbc,msbc",
+const FFInputFormat ff_sbc_demuxer = {
+ .p.name = "sbc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw SBC (low-complexity subband codec)"),
+ .p.extensions = "sbc,msbc",
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.priv_class = &ff_raw_demuxer_class,
.raw_codec_id = AV_CODEC_ID_SBC,
.read_header = ff_raw_audio_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -29,6 +29,7 @@
#include "libavutil/opt.h"
#include "libavutil/time_internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define SBG_SCALE (1 << 16)
@@ -1529,15 +1530,15 @@ static const AVClass sbg_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_sbg_demuxer = {
- .name = "sbg",
- .long_name = NULL_IF_CONFIG_SMALL("SBaGen binaural beats script"),
+const FFInputFormat ff_sbg_demuxer = {
+ .p.name = "sbg",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SBaGen binaural beats script"),
+ .p.extensions = "sbg",
+ .p.priv_class = &sbg_demuxer_class,
.priv_data_size = sizeof(struct sbg_demuxer),
.read_probe = sbg_read_probe,
.read_header = sbg_read_header,
.read_packet = sbg_read_packet,
.read_seek = sbg_read_seek,
.read_seek2 = sbg_read_seek2,
- .extensions = "sbg",
- .priv_class = &sbg_demuxer_class,
};
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/avstring.h"
@@ -147,14 +148,14 @@ static int scc_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_scc_demuxer = {
- .name = "scc",
- .long_name = NULL_IF_CONFIG_SMALL("Scenarist Closed Captions"),
+const FFInputFormat ff_scc_demuxer = {
+ .p.name = "scc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Scenarist Closed Captions"),
+ .p.extensions = "scc",
.priv_data_size = sizeof(SCCContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = scc_probe,
.read_header = scc_read_header,
- .extensions = "scc",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -28,6 +28,7 @@
#include "libavutil/avassert.h"
#include "libavformat/internal.h"
#include "avformat.h"
+#include "demux.h"
#define SCD_MAGIC ((uint64_t)MKBETAG('S', 'E', 'D', 'B') << 32 | \
MKBETAG('S', 'S', 'C', 'F'))
@@ -365,9 +366,9 @@ static int scd_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_scd_demuxer = {
- .name = "scd",
- .long_name = NULL_IF_CONFIG_SMALL("Square Enix SCD"),
+const FFInputFormat ff_scd_demuxer = {
+ .p.name = "scd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Square Enix SCD"),
.priv_data_size = sizeof(SCDDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = scd_probe,
@@ -85,12 +85,12 @@ static int sdns_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_sdns_demuxer = {
- .name = "sdns",
- .long_name = NULL_IF_CONFIG_SMALL("Xbox SDNS"),
+const FFInputFormat ff_sdns_demuxer = {
+ .p.name = "sdns",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Xbox SDNS"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "sdns",
.read_probe = sdns_probe,
.read_header = sdns_read_header,
.read_packet = sdns_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "sdns",
};
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int sdr2_probe(const AVProbeData *p)
@@ -109,12 +110,12 @@ static int sdr2_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_sdr2_demuxer = {
- .name = "sdr2",
- .long_name = NULL_IF_CONFIG_SMALL("SDR2"),
+const FFInputFormat ff_sdr2_demuxer = {
+ .p.name = "sdr2",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SDR2"),
+ .p.extensions= "sdr2",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = sdr2_probe,
.read_header = sdr2_read_header,
.read_packet = sdr2_read_packet,
- .extensions = "sdr2",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct SDSContext {
@@ -153,13 +154,13 @@ static int sds_read_packet(AVFormatContext *ctx, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_sds_demuxer = {
- .name = "sds",
- .long_name = NULL_IF_CONFIG_SMALL("MIDI Sample Dump Standard"),
+const FFInputFormat ff_sds_demuxer = {
+ .p.name = "sds",
+ .p.long_name = NULL_IF_CONFIG_SMALL("MIDI Sample Dump Standard"),
+ .p.extensions = "sds",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(SDSContext),
.read_probe = sds_probe,
.read_header = sds_read_header,
.read_packet = sds_read_packet,
- .extensions = "sds",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -22,6 +22,7 @@
#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -78,13 +79,13 @@ static int sdx_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_sdx_demuxer = {
- .name = "sdx",
- .long_name = NULL_IF_CONFIG_SMALL("Sample Dump eXchange"),
+const FFInputFormat ff_sdx_demuxer = {
+ .p.name = "sdx",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sample Dump eXchange"),
+ .p.extensions = "sdx",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = sdx_probe,
.read_header = sdx_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .extensions = "sdx",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -288,7 +288,7 @@ static int64_t read_timestamp(AVFormatContext *s, int stream_index, int64_t *ppo
int ff_seek_frame_binary(AVFormatContext *s, int stream_index,
int64_t target_ts, int flags)
{
- const AVInputFormat *const avif = s->iformat;
+ const FFInputFormat *const avif = ffifmt(s->iformat);
int64_t pos_min = 0, pos_max = 0, pos, pos_limit;
int64_t ts_min, ts_max, ts;
int index;
@@ -580,8 +580,8 @@ static int seek_frame_generic(AVFormatContext *s, int stream_index,
return -1;
ff_read_frame_flush(s);
- if (s->iformat->read_seek)
- if (s->iformat->read_seek(s, stream_index, timestamp, flags) >= 0)
+ if (ffifmt(s->iformat)->read_seek)
+ if (ffifmt(s->iformat)->read_seek(s, stream_index, timestamp, flags) >= 0)
return 0;
ie = &sti->index_entries[index];
if ((ret = avio_seek(s->pb, ie->pos, SEEK_SET)) < 0)
@@ -617,15 +617,15 @@ static int seek_frame_internal(AVFormatContext *s, int stream_index,
}
/* first, we try the format specific seek */
- if (s->iformat->read_seek) {
+ if (ffifmt(s->iformat)->read_seek) {
ff_read_frame_flush(s);
- ret = s->iformat->read_seek(s, stream_index, timestamp, flags);
+ ret = ffifmt(s->iformat)->read_seek(s, stream_index, timestamp, flags);
} else
ret = -1;
if (ret >= 0)
return 0;
- if (s->iformat->read_timestamp &&
+ if (ffifmt(s->iformat)->read_timestamp &&
!(s->iformat->flags & AVFMT_NOBINSEARCH)) {
ff_read_frame_flush(s);
return ff_seek_frame_binary(s, stream_index, timestamp, flags);
@@ -641,7 +641,7 @@ int av_seek_frame(AVFormatContext *s, int stream_index,
{
int ret;
- if (s->iformat->read_seek2 && !s->iformat->read_seek) {
+ if (ffifmt(s->iformat)->read_seek2 && !ffifmt(s->iformat)->read_seek) {
int64_t min_ts = INT64_MIN, max_ts = INT64_MAX;
if ((flags & AVSEEK_FLAG_BACKWARD))
max_ts = timestamp;
@@ -671,7 +671,7 @@ int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts,
flags |= AVSEEK_FLAG_ANY;
flags &= ~AVSEEK_FLAG_BACKWARD;
- if (s->iformat->read_seek2) {
+ if (ffifmt(s->iformat)->read_seek2) {
int ret;
ff_read_frame_flush(s);
@@ -687,7 +687,7 @@ int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts,
stream_index = 0;
}
- ret = s->iformat->read_seek2(s, stream_index, min_ts,
+ ret = ffifmt(s->iformat)->read_seek2(s, stream_index, min_ts,
ts, max_ts, flags);
if (ret >= 0)
@@ -695,13 +695,13 @@ int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts,
return ret;
}
- if (s->iformat->read_timestamp) {
+ if (ffifmt(s->iformat)->read_timestamp) {
// try to seek via read_timestamp()
}
// Fall back on old API if new is not implemented but old is.
// Note the old API has somewhat different semantics.
- if (s->iformat->read_seek || 1) {
+ if (ffifmt(s->iformat)->read_seek || 1) {
int dir = (ts - (uint64_t)min_ts > (uint64_t)max_ts - ts ? AVSEEK_FLAG_BACKWARD : 0);
int ret = av_seek_frame(s, stream_index, ts, flags | dir);
if (ret < 0 && ts != min_ts && max_ts != ts) {
@@ -29,6 +29,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
@@ -324,9 +325,9 @@ static int film_read_seek(AVFormatContext *s, int stream_index, int64_t timestam
return 0;
}
-const AVInputFormat ff_segafilm_demuxer = {
- .name = "film_cpk",
- .long_name = NULL_IF_CONFIG_SMALL("Sega FILM / CPK"),
+const FFInputFormat ff_segafilm_demuxer = {
+ .p.name = "film_cpk",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sega FILM / CPK"),
.priv_data_size = sizeof(FilmDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = film_probe,
@@ -23,6 +23,7 @@
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
+#include "demux.h"
#include "internal.h"
#include "avformat.h"
@@ -132,15 +133,15 @@ static const AVClass ser_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_ser_demuxer = {
- .name = "ser",
- .long_name = NULL_IF_CONFIG_SMALL("SER (Simple uncompressed video format for astronomical capturing)"),
+const FFInputFormat ff_ser_demuxer = {
+ .p.name = "ser",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SER (Simple uncompressed video format for astronomical capturing)"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "ser",
+ .p.priv_class = &ser_demuxer_class,
.priv_data_size = sizeof(SERDemuxerContext),
.read_probe = ser_probe,
.read_header = ser_read_header,
.read_packet = ser_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "ser",
.raw_codec_id = AV_CODEC_ID_RAWVIDEO,
- .priv_class = &ser_demuxer_class,
};
@@ -25,6 +25,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
@@ -466,14 +467,14 @@ static int sga_seek(AVFormatContext *s, int stream_index,
return -1;
}
-const AVInputFormat ff_sga_demuxer = {
- .name = "sga",
- .long_name = NULL_IF_CONFIG_SMALL("Digital Pictures SGA"),
+const FFInputFormat ff_sga_demuxer = {
+ .p.name = "sga",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Digital Pictures SGA"),
+ .p.extensions = "sga",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(SGADemuxContext),
.read_probe = sga_probe,
.read_header = sga_read_header,
.read_packet = sga_read_packet,
.read_seek = sga_seek,
- .extensions = "sga",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -22,6 +22,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "rawdec.h"
#include "libavcodec/golomb.h"
@@ -65,15 +66,15 @@ static int shn_probe(const AVProbeData *p)
return AVPROBE_SCORE_EXTENSION + 1;
}
-const AVInputFormat ff_shorten_demuxer = {
- .name = "shn",
- .long_name = NULL_IF_CONFIG_SMALL("raw Shorten"),
+const FFInputFormat ff_shorten_demuxer = {
+ .p.name = "shn",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw Shorten"),
+ .p.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
+ .p.extensions = "shn",
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = shn_probe,
.read_header = ff_raw_audio_read_header,
.read_packet = ff_raw_read_partial_packet,
- .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
- .extensions = "shn",
.raw_codec_id = AV_CODEC_ID_SHORTEN,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -30,6 +30,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
@@ -313,9 +314,9 @@ static int vmd_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_vmd_demuxer = {
- .name = "vmd",
- .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD"),
+const FFInputFormat ff_vmd_demuxer = {
+ .p.name = "vmd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sierra VMD"),
.priv_data_size = sizeof(VmdDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = vmd_probe,
@@ -23,6 +23,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "avio_internal.h"
@@ -248,12 +249,12 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt)
return pkt->size;
}
-const AVInputFormat ff_siff_demuxer = {
- .name = "siff",
- .long_name = NULL_IF_CONFIG_SMALL("Beam Software SIFF"),
+const FFInputFormat ff_siff_demuxer = {
+ .p.name = "siff",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Beam Software SIFF"),
+ .p.extensions = "vb,son",
.priv_data_size = sizeof(SIFFContext),
.read_probe = siff_probe,
.read_header = siff_read_header,
.read_packet = siff_read_packet,
- .extensions = "vb,son",
};
@@ -404,9 +404,9 @@ static int smacker_read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_smacker_demuxer = {
- .name = "smk",
- .long_name = NULL_IF_CONFIG_SMALL("Smacker"),
+const FFInputFormat ff_smacker_demuxer = {
+ .p.name = "smk",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Smacker"),
.priv_data_size = sizeof(SmackerContext),
.read_probe = smacker_probe,
.read_header = smacker_read_header,
@@ -27,6 +27,7 @@
#include <inttypes.h>
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "riff.h"
#include "smjpeg.h"
@@ -180,13 +181,13 @@ static int smjpeg_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_smjpeg_demuxer = {
- .name = "smjpeg",
- .long_name = NULL_IF_CONFIG_SMALL("Loki SDL MJPEG"),
+const FFInputFormat ff_smjpeg_demuxer = {
+ .p.name = "smjpeg",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Loki SDL MJPEG"),
+ .p.extensions = "mjpg",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(SMJPEGContext),
.read_probe = smjpeg_probe,
.read_header = smjpeg_read_header,
.read_packet = smjpeg_read_packet,
- .extensions = "mjpg",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -23,6 +23,7 @@
#include "avformat.h"
#include "avio.h"
+#include "demux.h"
#include "internal.h"
typedef struct SMUSHContext {
@@ -241,9 +242,9 @@ static int smush_read_packet(AVFormatContext *ctx, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_smush_demuxer = {
- .name = "smush",
- .long_name = NULL_IF_CONFIG_SMALL("LucasArts Smush"),
+const FFInputFormat ff_smush_demuxer = {
+ .p.name = "smush",
+ .p.long_name = NULL_IF_CONFIG_SMALL("LucasArts Smush"),
.priv_data_size = sizeof(SMUSHContext),
.read_probe = smush_read_probe,
.read_header = smush_read_header,
@@ -26,6 +26,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -137,9 +138,9 @@ static int sol_read_packet(AVFormatContext *s,
return 0;
}
-const AVInputFormat ff_sol_demuxer = {
- .name = "sol",
- .long_name = NULL_IF_CONFIG_SMALL("Sierra SOL"),
+const FFInputFormat ff_sol_demuxer = {
+ .p.name = "sol",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sierra SOL"),
.read_probe = sol_probe,
.read_header = sol_read_header,
.read_packet = sol_read_packet,
@@ -33,6 +33,7 @@
#include "libavutil/intfloat.h"
#include "libavutil/dict.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
#include "sox.h"
@@ -131,9 +132,9 @@ static int sox_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_sox_demuxer = {
- .name = "sox",
- .long_name = NULL_IF_CONFIG_SMALL("SoX (Sound eXchange) native"),
+const FFInputFormat ff_sox_demuxer = {
+ .p.name = "sox",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SoX (Sound eXchange) native"),
.read_probe = sox_probe,
.read_header = sox_read_header,
.read_packet = ff_pcm_read_packet,
@@ -31,6 +31,7 @@
#include "libavcodec/adts_parser.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "spdif.h"
@@ -248,11 +249,11 @@ int ff_spdif_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_spdif_demuxer = {
- .name = "spdif",
- .long_name = NULL_IF_CONFIG_SMALL("IEC 61937 (compressed data in S/PDIF)"),
+const FFInputFormat ff_spdif_demuxer = {
+ .p.name = "spdif",
+ .p.long_name = NULL_IF_CONFIG_SMALL("IEC 61937 (compressed data in S/PDIF)"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = spdif_probe,
.read_header = spdif_read_header,
.read_packet = ff_spdif_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -21,6 +21,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/bprint.h"
@@ -213,9 +214,9 @@ end:
return res;
}
-const AVInputFormat ff_srt_demuxer = {
- .name = "srt",
- .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
+const FFInputFormat ff_srt_demuxer = {
+ .p.name = "srt",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
.priv_data_size = sizeof(SRTContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = srt_probe,
@@ -25,6 +25,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/intreadwrite.h"
@@ -108,14 +109,14 @@ static int stl_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_stl_demuxer = {
- .name = "stl",
- .long_name = NULL_IF_CONFIG_SMALL("Spruce subtitle format"),
+const FFInputFormat ff_stl_demuxer = {
+ .p.name = "stl",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Spruce subtitle format"),
+ .p.extensions = "stl",
.priv_data_size = sizeof(STLContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = stl_probe,
.read_header = stl_read_header,
- .extensions = "stl",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -140,7 +140,7 @@ int ff_subtitles_queue_read_packet(FFDemuxSubtitlesQueue *q, AVPacket *pkt);
/**
* Update current_sub_idx to emulate a seek. Except the first parameter, it
- * matches AVInputFormat->read_seek2 prototypes.
+ * matches FFInputFormat->read_seek2 prototypes.
*/
int ff_subtitles_queue_seek(FFDemuxSubtitlesQueue *q, AVFormatContext *s, int stream_index,
int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
@@ -24,6 +24,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
@@ -90,14 +91,14 @@ static int subviewer1_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_subviewer1_demuxer = {
- .name = "subviewer1",
- .long_name = NULL_IF_CONFIG_SMALL("SubViewer v1 subtitle format"),
+const FFInputFormat ff_subviewer1_demuxer = {
+ .p.name = "subviewer1",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SubViewer v1 subtitle format"),
+ .p.extensions = "sub",
.priv_data_size = sizeof(SubViewer1Context),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = subviewer1_probe,
.read_header = subviewer1_read_header,
- .extensions = "sub",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -25,6 +25,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "avio_internal.h"
@@ -185,14 +186,14 @@ end:
return res;
}
-const AVInputFormat ff_subviewer_demuxer = {
- .name = "subviewer",
- .long_name = NULL_IF_CONFIG_SMALL("SubViewer subtitle format"),
+const FFInputFormat ff_subviewer_demuxer = {
+ .p.name = "subviewer",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SubViewer subtitle format"),
+ .p.extensions = "sub",
.priv_data_size = sizeof(SubViewerContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = subviewer_probe,
.read_header = subviewer_read_header,
- .extensions = "sub",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -17,6 +17,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/intreadwrite.h"
@@ -97,13 +98,13 @@ static int sup_probe(const AVProbeData *p)
return AVPROBE_SCORE_MAX;
}
-const AVInputFormat ff_sup_demuxer = {
- .name = "sup",
- .long_name = NULL_IF_CONFIG_SMALL("raw HDMV Presentation Graphic Stream subtitles"),
- .extensions = "sup",
- .mime_type = "application/x-pgs",
+const FFInputFormat ff_sup_demuxer = {
+ .p.name = "sup",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw HDMV Presentation Graphic Stream subtitles"),
+ .p.extensions = "sup",
+ .p.mime_type = "application/x-pgs",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = sup_probe,
.read_header = sup_read_header,
.read_packet = sup_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int svag_probe(const AVProbeData *p)
@@ -69,11 +70,11 @@ static int svag_read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, par->block_align);
}
-const AVInputFormat ff_svag_demuxer = {
- .name = "svag",
- .long_name = NULL_IF_CONFIG_SMALL("Konami PS2 SVAG"),
+const FFInputFormat ff_svag_demuxer = {
+ .p.name = "svag",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Konami PS2 SVAG"),
+ .p.extensions = "svag",
.read_probe = svag_probe,
.read_header = svag_read_header,
.read_packet = svag_read_packet,
- .extensions = "svag",
};
@@ -22,6 +22,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int svs_probe(const AVProbeData *p)
@@ -84,11 +85,11 @@ static int svs_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_svs_demuxer = {
- .name = "svs",
- .long_name = NULL_IF_CONFIG_SMALL("Square SVS"),
+const FFInputFormat ff_svs_demuxer = {
+ .p.name = "svs",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Square SVS"),
+ .p.extensions = "svs",
.read_probe = svs_probe,
.read_header = svs_read_header,
.read_packet = svs_read_packet,
- .extensions = "svs",
};
@@ -562,9 +562,9 @@ static av_cold int swf_read_close(AVFormatContext *avctx)
}
#endif
-const AVInputFormat ff_swf_demuxer = {
- .name = "swf",
- .long_name = NULL_IF_CONFIG_SMALL("SWF (ShockWave Flash)"),
+const FFInputFormat ff_swf_demuxer = {
+ .p.name = "swf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("SWF (ShockWave Flash)"),
.priv_data_size = sizeof(SWFDecContext),
.read_probe = swf_probe,
.read_header = swf_read_header,
@@ -27,6 +27,7 @@
#include "apetag.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "rawdec.h"
@@ -213,15 +214,15 @@ static int raw_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_tak_demuxer = {
- .name = "tak",
- .long_name = NULL_IF_CONFIG_SMALL("raw TAK"),
+const FFInputFormat ff_tak_demuxer = {
+ .p.name = "tak",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw TAK"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "tak",
+ .p.priv_class = &ff_raw_demuxer_class,
.priv_data_size = sizeof(TAKDemuxContext),
.read_probe = tak_probe,
.read_header = tak_read_header,
.read_packet = raw_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "tak",
.raw_codec_id = AV_CODEC_ID_TAK,
- .priv_class = &ff_raw_demuxer_class,
};
@@ -23,6 +23,7 @@
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
@@ -355,12 +356,12 @@ static int tedcaptions_read_seek(AVFormatContext *avf, int stream_index,
min_ts, ts, max_ts, flags);
}
-const AVInputFormat ff_tedcaptions_demuxer = {
- .name = "tedcaptions",
- .long_name = NULL_IF_CONFIG_SMALL("TED Talks captions"),
+const FFInputFormat ff_tedcaptions_demuxer = {
+ .p.name = "tedcaptions",
+ .p.long_name = NULL_IF_CONFIG_SMALL("TED Talks captions"),
+ .p.priv_class = &tedcaptions_demuxer_class,
.priv_data_size = sizeof(TEDCaptionsDemuxer),
.flags_internal = FF_FMT_INIT_CLEANUP,
- .priv_class = &tedcaptions_demuxer_class,
.read_header = tedcaptions_read_header,
.read_packet = tedcaptions_read_packet,
.read_close = tedcaptions_read_close,
@@ -23,6 +23,7 @@
#include "libavutil/intfloat.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
typedef struct ThpDemuxContext {
@@ -215,9 +216,9 @@ static int thp_read_packet(AVFormatContext *s,
return 0;
}
-const AVInputFormat ff_thp_demuxer = {
- .name = "thp",
- .long_name = NULL_IF_CONFIG_SMALL("THP"),
+const FFInputFormat ff_thp_demuxer = {
+ .p.name = "thp",
+ .p.long_name = NULL_IF_CONFIG_SMALL("THP"),
.priv_data_size = sizeof(ThpDemuxContext),
.read_probe = thp_probe,
.read_header = thp_read_header,
@@ -26,6 +26,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define SEQ_FRAME_SIZE 6144
@@ -307,9 +308,9 @@ static int seq_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_tiertexseq_demuxer = {
- .name = "tiertexseq",
- .long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ"),
+const FFInputFormat ff_tiertexseq_demuxer = {
+ .p.name = "tiertexseq",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ"),
.priv_data_size = sizeof(SeqDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = seq_probe,
@@ -29,6 +29,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
enum {
@@ -185,13 +186,13 @@ static int tmv_read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_tmv_demuxer = {
- .name = "tmv",
- .long_name = NULL_IF_CONFIG_SMALL("8088flex TMV"),
+const FFInputFormat ff_tmv_demuxer = {
+ .p.name = "tmv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("8088flex TMV"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(TMVContext),
.read_probe = tmv_probe,
.read_header = tmv_read_header,
.read_packet = tmv_read_packet,
.read_seek = tmv_read_seek,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -26,6 +26,7 @@
#include "apetag.h"
#include "avformat.h"
#include "avio_internal.h"
+#include "demux.h"
#include "internal.h"
#include "id3v1.h"
@@ -187,13 +188,13 @@ static int tta_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
return 0;
}
-const AVInputFormat ff_tta_demuxer = {
- .name = "tta",
- .long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
+const FFInputFormat ff_tta_demuxer = {
+ .p.name = "tta",
+ .p.long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
+ .p.extensions = "tta",
.priv_data_size = sizeof(TTAContext),
.read_probe = tta_probe,
.read_header = tta_read_header,
.read_packet = tta_read_packet,
.read_seek = tta_read_seek,
- .extensions = "tta",
};
@@ -31,6 +31,7 @@
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "sauce.h"
@@ -178,14 +179,14 @@ static const AVClass tty_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_tty_demuxer = {
- .name = "tty",
- .long_name = NULL_IF_CONFIG_SMALL("Tele-typewriter"),
+const FFInputFormat ff_tty_demuxer = {
+ .p.name = "tty",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Tele-typewriter"),
+ .p.extensions = tty_extensions,
+ .p.priv_class = &tty_demuxer_class,
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(TtyDemuxContext),
.read_probe = read_probe,
.read_header = read_header,
.read_packet = read_packet,
- .extensions = tty_extensions,
- .priv_class = &tty_demuxer_class,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -21,6 +21,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define TXD_FILE 0x16
@@ -92,9 +93,9 @@ next_chunk:
return 0;
}
-const AVInputFormat ff_txd_demuxer = {
- .name = "txd",
- .long_name = NULL_IF_CONFIG_SMALL("Renderware TeXture Dictionary"),
+const FFInputFormat ff_txd_demuxer = {
+ .p.name = "txd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Renderware TeXture Dictionary"),
.read_probe = txd_probe,
.read_header = txd_read_header,
.read_packet = txd_read_packet,
@@ -25,6 +25,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "mpeg.h"
@@ -710,14 +711,14 @@ static int ty_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_ty_demuxer = {
- .name = "ty",
- .long_name = NULL_IF_CONFIG_SMALL("TiVo TY Stream"),
+const FFInputFormat ff_ty_demuxer = {
+ .p.name = "ty",
+ .p.long_name = NULL_IF_CONFIG_SMALL("TiVo TY Stream"),
+ .p.extensions = "ty,ty+",
+ .p.flags = AVFMT_TS_DISCONT,
.priv_data_size = sizeof(TYDemuxContext),
.read_probe = ty_probe,
.read_header = ty_read_header,
.read_packet = ty_read_packet,
.read_close = ty_read_close,
- .extensions = "ty,ty+",
- .flags = AVFMT_TS_DISCONT,
};
@@ -414,14 +414,14 @@ static int usm_read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_usm_demuxer = {
- .name = "usm",
- .long_name = NULL_IF_CONFIG_SMALL("CRI USM"),
+const FFInputFormat ff_usm_demuxer = {
+ .p.name = "usm",
+ .p.long_name = NULL_IF_CONFIG_SMALL("CRI USM"),
+ .p.extensions = "usm",
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_NOBINSEARCH,
.priv_data_size = sizeof(USMDemuxContext),
.read_probe = usm_probe,
.read_header = usm_read_header,
.read_packet = usm_read_packet,
.read_close = usm_read_close,
- .extensions = "usm",
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK | AVFMT_NOBINSEARCH,
};
@@ -21,6 +21,7 @@
#include "libavutil/channel_layout.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int vag_probe(const AVProbeData *p)
@@ -73,11 +74,11 @@ static int vag_read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, par->block_align);
}
-const AVInputFormat ff_vag_demuxer = {
- .name = "vag",
- .long_name = NULL_IF_CONFIG_SMALL("Sony PS2 VAG"),
+const FFInputFormat ff_vag_demuxer = {
+ .p.name = "vag",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sony PS2 VAG"),
+ .p.extensions = "vag",
.read_probe = vag_probe,
.read_header = vag_read_header,
.read_packet = vag_read_packet,
- .extensions = "vag",
};
@@ -36,6 +36,7 @@
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
struct VSState {
@@ -480,9 +481,10 @@ static const AVClass class_vs = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_vapoursynth_demuxer = {
- .name = "vapoursynth",
- .long_name = NULL_IF_CONFIG_SMALL("VapourSynth demuxer"),
+const FFInputFormat ff_vapoursynth_demuxer = {
+ .p.name = "vapoursynth",
+ .p.long_name = NULL_IF_CONFIG_SMALL("VapourSynth demuxer"),
+ .p.priv_class = &class_vs,
.priv_data_size = sizeof(VSContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = probe_vs,
@@ -490,5 +492,4 @@ const AVInputFormat ff_vapoursynth_demuxer = {
.read_packet = read_packet_vs,
.read_close = read_close_vs,
.read_seek = read_seek_vs,
- .priv_class = &class_vs,
};
@@ -117,12 +117,12 @@ static int vc1t_read_packet(AVFormatContext *s,
return pkt->size;
}
-const AVInputFormat ff_vc1t_demuxer = {
- .name = "vc1test",
- .long_name = NULL_IF_CONFIG_SMALL("VC-1 test bitstream"),
+const FFInputFormat ff_vc1t_demuxer = {
+ .p.name = "vc1test",
+ .p.long_name = NULL_IF_CONFIG_SMALL("VC-1 test bitstream"),
+ .p.extensions = "rcv",
+ .p.flags = AVFMT_GENERIC_INDEX,
.read_probe = vc1t_probe,
.read_header = vc1t_read_header,
.read_packet = vc1t_read_packet,
- .extensions = "rcv",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -32,6 +32,7 @@
#include "libavutil/intreadwrite.h"
#include "avio_internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define MAX_AUDIO_SUBPACKETS 100
@@ -790,9 +791,9 @@ static int viv_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
return 0;
}
-const AVInputFormat ff_vividas_demuxer = {
- .name = "vividas",
- .long_name = NULL_IF_CONFIG_SMALL("Vividas VIV"),
+const FFInputFormat ff_vividas_demuxer = {
+ .p.name = "vividas",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Vividas VIV"),
.priv_data_size = sizeof(VividasDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = viv_probe,
@@ -29,6 +29,7 @@
#include "libavutil/avstring.h"
#include "libavutil/parseutils.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
typedef struct VivoContext {
@@ -314,12 +315,12 @@ restart:
return ret;
}
-const AVInputFormat ff_vivo_demuxer = {
- .name = "vivo",
- .long_name = NULL_IF_CONFIG_SMALL("Vivo"),
+const FFInputFormat ff_vivo_demuxer = {
+ .p.name = "vivo",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Vivo"),
+ .p.extensions = "viv",
.priv_data_size = sizeof(VivoContext),
.read_probe = vivo_probe,
.read_header = vivo_read_header,
.read_packet = vivo_read_packet,
- .extensions = "viv",
};
@@ -20,6 +20,7 @@
*/
#include "libavutil/intreadwrite.h"
+#include "demux.h"
#include "voc.h"
#include "internal.h"
@@ -100,13 +101,13 @@ static int voc_read_seek(AVFormatContext *s, int stream_index,
return -1;
}
-const AVInputFormat ff_voc_demuxer = {
- .name = "voc",
- .long_name = NULL_IF_CONFIG_SMALL("Creative Voice"),
+const FFInputFormat ff_voc_demuxer = {
+ .p.name = "voc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Creative Voice"),
+ .p.codec_tag = ff_voc_codec_tags_list,
.priv_data_size = sizeof(VocDecContext),
.read_probe = voc_probe,
.read_header = voc_read_header,
.read_packet = voc_read_packet,
.read_seek = voc_read_seek,
- .codec_tag = ff_voc_codec_tags_list,
};
@@ -135,13 +135,13 @@ static int vpk_read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_vpk_demuxer = {
- .name = "vpk",
- .long_name = NULL_IF_CONFIG_SMALL("Sony PS2 VPK"),
+const FFInputFormat ff_vpk_demuxer = {
+ .p.name = "vpk",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sony PS2 VPK"),
+ .p.extensions = "vpk",
.priv_data_size = sizeof(VPKDemuxContext),
.read_probe = vpk_probe,
.read_header = vpk_read_header,
.read_packet = vpk_read_packet,
.read_seek = vpk_read_seek,
- .extensions = "vpk",
};
@@ -24,6 +24,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
@@ -95,14 +96,14 @@ static int vplayer_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_vplayer_demuxer = {
- .name = "vplayer",
- .long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitles"),
+const FFInputFormat ff_vplayer_demuxer = {
+ .p.name = "vplayer",
+ .p.long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitles"),
+ .p.extensions = "txt",
.priv_data_size = sizeof(VPlayerContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = vplayer_probe,
.read_header = vplayer_read_header,
- .extensions = "txt",
.read_packet = ff_subtitles_read_packet,
.read_seek2 = ff_subtitles_read_seek,
.read_close = ff_subtitles_read_close,
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
@@ -287,13 +288,13 @@ static int vqf_read_seek(AVFormatContext *s,
return 0;
}
-const AVInputFormat ff_vqf_demuxer = {
- .name = "vqf",
- .long_name = NULL_IF_CONFIG_SMALL("Nippon Telegraph and Telephone Corporation (NTT) TwinVQ"),
+const FFInputFormat ff_vqf_demuxer = {
+ .p.name = "vqf",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Nippon Telegraph and Telephone Corporation (NTT) TwinVQ"),
+ .p.extensions = "vqf,vql,vqe",
.priv_data_size = sizeof(VqfContext),
.read_probe = vqf_probe,
.read_header = vqf_read_header,
.read_packet = vqf_read_packet,
.read_seek = vqf_read_seek,
- .extensions = "vqf,vql,vqe",
};
@@ -75,13 +75,13 @@ static int wady_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_wady_demuxer = {
- .name = "wady",
- .long_name = NULL_IF_CONFIG_SMALL("Marble WADY"),
+const FFInputFormat ff_wady_demuxer = {
+ .p.name = "wady",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Marble WADY"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "way",
.read_probe = wady_probe,
.read_header = wady_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "way",
};
@@ -133,14 +133,14 @@ static int wavarc_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_wavarc_demuxer = {
- .name = "wavarc",
- .long_name = NULL_IF_CONFIG_SMALL("Waveform Archiver"),
+const FFInputFormat ff_wavarc_demuxer = {
+ .p.name = "wavarc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Waveform Archiver"),
+ .p.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
+ .p.extensions = "wa",
.priv_data_size = sizeof(WavArcContext),
.read_probe = wavarc_probe,
.read_packet = wavarc_read_packet,
- .flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
.read_header = wavarc_read_header,
- .extensions = "wa",
.raw_codec_id = AV_CODEC_ID_WAVARC,
};
@@ -828,17 +828,17 @@ static const AVClass wav_demuxer_class = {
.option = demux_options,
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_wav_demuxer = {
- .name = "wav",
- .long_name = NULL_IF_CONFIG_SMALL("WAV / WAVE (Waveform Audio)"),
+const FFInputFormat ff_wav_demuxer = {
+ .p.name = "wav",
+ .p.long_name = NULL_IF_CONFIG_SMALL("WAV / WAVE (Waveform Audio)"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.codec_tag = ff_wav_codec_tags_list,
+ .p.priv_class = &wav_demuxer_class,
.priv_data_size = sizeof(WAVDemuxContext),
.read_probe = wav_probe,
.read_header = wav_read_header,
.read_packet = wav_read_packet,
.read_seek = wav_read_seek,
- .flags = AVFMT_GENERIC_INDEX,
- .codec_tag = ff_wav_codec_tags_list,
- .priv_class = &wav_demuxer_class,
};
#endif /* CONFIG_WAV_DEMUXER */
@@ -992,16 +992,16 @@ static const AVClass w64_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_w64_demuxer = {
- .name = "w64",
- .long_name = NULL_IF_CONFIG_SMALL("Sony Wave64"),
+const FFInputFormat ff_w64_demuxer = {
+ .p.name = "w64",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sony Wave64"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.codec_tag = ff_wav_codec_tags_list,
+ .p.priv_class = &w64_demuxer_class,
.priv_data_size = sizeof(WAVDemuxContext),
.read_probe = w64_probe,
.read_header = w64_read_header,
.read_packet = wav_read_packet,
.read_seek = wav_read_seek,
- .flags = AVFMT_GENERIC_INDEX,
- .codec_tag = ff_wav_codec_tags_list,
- .priv_class = &w64_demuxer_class,
};
#endif /* CONFIG_W64_DEMUXER */
@@ -32,6 +32,7 @@
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define FORM_TAG MKTAG('F', 'O', 'R', 'M')
@@ -293,9 +294,9 @@ static int wc3_read_packet(AVFormatContext *s,
return ret;
}
-const AVInputFormat ff_wc3_demuxer = {
- .name = "wc3movie",
- .long_name = NULL_IF_CONFIG_SMALL("Wing Commander III movie"),
+const FFInputFormat ff_wc3_demuxer = {
+ .p.name = "wc3movie",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Wing Commander III movie"),
.priv_data_size = sizeof(Wc3DemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = wc3_probe,
@@ -25,6 +25,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "subtitles.h"
#include "libavutil/bprint.h"
@@ -210,9 +211,11 @@ static const AVClass webvtt_demuxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
-const AVInputFormat ff_webvtt_demuxer = {
- .name = "webvtt",
- .long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),
+const FFInputFormat ff_webvtt_demuxer = {
+ .p.name = "webvtt",
+ .p.long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),
+ .p.extensions = "vtt",
+ .p.priv_class = &webvtt_demuxer_class,
.priv_data_size = sizeof(WebVTTContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = webvtt_probe,
@@ -220,6 +223,4 @@ const AVInputFormat ff_webvtt_demuxer = {
.read_packet = webvtt_read_packet,
.read_seek2 = webvtt_read_seek,
.read_close = webvtt_read_close,
- .extensions = "vtt",
- .priv_class = &webvtt_demuxer_class,
};
@@ -36,6 +36,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define AUD_HEADER_SIZE 12
@@ -176,9 +177,9 @@ static int wsaud_read_packet(AVFormatContext *s,
return ret;
}
-const AVInputFormat ff_wsaud_demuxer = {
- .name = "wsaud",
- .long_name = NULL_IF_CONFIG_SMALL("Westwood Studios audio"),
+const FFInputFormat ff_wsaud_demuxer = {
+ .p.name = "wsaud",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Westwood Studios audio"),
.read_probe = wsaud_probe,
.read_header = wsaud_read_header,
.read_packet = wsaud_read_packet,
@@ -317,9 +317,9 @@ static int wsvqa_read_packet(AVFormatContext *s,
return ret;
}
-const AVInputFormat ff_wsvqa_demuxer = {
- .name = "wsvqa",
- .long_name = NULL_IF_CONFIG_SMALL("Westwood Studios VQA"),
+const FFInputFormat ff_wsvqa_demuxer = {
+ .p.name = "wsvqa",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Westwood Studios VQA"),
.priv_data_size = sizeof(WsVqaDemuxContext),
.read_probe = wsvqa_probe,
.read_header = wsvqa_read_header,
@@ -23,6 +23,7 @@
#include "libavutil/intreadwrite.h"
#include "libavutil/timecode.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "rawdec.h"
@@ -165,15 +166,15 @@ static int wsd_read_header(AVFormatContext *s)
return avio_seek(pb, data_offset, SEEK_SET);
}
-const AVInputFormat ff_wsd_demuxer = {
- .name = "wsd",
- .long_name = NULL_IF_CONFIG_SMALL("Wideband Single-bit Data (WSD)"),
+const FFInputFormat ff_wsd_demuxer = {
+ .p.name = "wsd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Wideband Single-bit Data (WSD)"),
+ .p.extensions = "wsd",
+ .p.flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK,
+ .p.priv_class = &ff_raw_demuxer_class,
.read_probe = wsd_probe,
.read_header = wsd_read_header,
.read_packet = ff_raw_read_partial_packet,
- .extensions = "wsd",
- .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK,
.raw_codec_id = AV_CODEC_ID_DSD_MSBF,
.priv_data_size = sizeof(FFRawDemuxerContext),
- .priv_class = &ff_raw_demuxer_class,
};
@@ -1117,14 +1117,14 @@ static int read_close(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_wtv_demuxer = {
- .name = "wtv",
- .long_name = NULL_IF_CONFIG_SMALL("Windows Television (WTV)"),
+const FFInputFormat ff_wtv_demuxer = {
+ .p.name = "wtv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Windows Television (WTV)"),
+ .p.flags = AVFMT_SHOW_IDS,
.priv_data_size = sizeof(WtvContext),
.read_probe = read_probe,
.read_header = read_header,
.read_packet = read_packet,
.read_seek = read_seek,
.read_close = read_close,
- .flags = AVFMT_SHOW_IDS,
};
@@ -23,6 +23,7 @@
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "apetag.h"
#include "id3v1.h"
@@ -328,12 +329,12 @@ static int wv_read_packet(AVFormatContext *s, AVPacket *pkt)
return 0;
}
-const AVInputFormat ff_wv_demuxer = {
- .name = "wv",
- .long_name = NULL_IF_CONFIG_SMALL("WavPack"),
+const FFInputFormat ff_wv_demuxer = {
+ .p.name = "wv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("WavPack"),
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(WVContext),
.read_probe = wv_probe,
.read_header = wv_read_header,
.read_packet = wv_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -19,6 +19,7 @@
*/
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "pcm.h"
@@ -53,9 +54,9 @@ static int wve_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_wve_demuxer = {
- .name = "wve",
- .long_name = NULL_IF_CONFIG_SMALL("Psion 3 audio"),
+const FFInputFormat ff_wve_demuxer = {
+ .p.name = "wve",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Psion 3 audio"),
.read_probe = wve_probe,
.read_header = wve_read_header,
.read_packet = ff_pcm_read_packet,
@@ -29,6 +29,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#define XA00_TAG MKTAG('X', 'A', 0, 0)
@@ -121,9 +122,9 @@ static int xa_read_packet(AVFormatContext *s,
return ret;
}
-const AVInputFormat ff_xa_demuxer = {
- .name = "xa",
- .long_name = NULL_IF_CONFIG_SMALL("Maxis XA"),
+const FFInputFormat ff_xa_demuxer = {
+ .p.name = "xa",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Maxis XA"),
.priv_data_size = sizeof(MaxisXADemuxContext),
.read_probe = xa_probe,
.read_header = xa_read_header,
@@ -69,12 +69,12 @@ static int xmd_read_header(AVFormatContext *s)
return 0;
}
-const AVInputFormat ff_xmd_demuxer = {
- .name = "xmd",
- .long_name = NULL_IF_CONFIG_SMALL("Konami XMD"),
+const FFInputFormat ff_xmd_demuxer = {
+ .p.name = "xmd",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Konami XMD"),
+ .p.flags = AVFMT_GENERIC_INDEX,
+ .p.extensions = "xmd",
.read_probe = xmd_probe,
.read_header = xmd_read_header,
.read_packet = ff_pcm_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
- .extensions = "xmd",
};
@@ -30,6 +30,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "riff.h"
#include "libavutil/avassert.h"
@@ -575,10 +576,10 @@ static int xmv_read_packet(AVFormatContext *s,
return 0;
}
-const AVInputFormat ff_xmv_demuxer = {
- .name = "xmv",
- .long_name = NULL_IF_CONFIG_SMALL("Microsoft XMV"),
- .extensions = "xmv",
+const FFInputFormat ff_xmv_demuxer = {
+ .p.name = "xmv",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Microsoft XMV"),
+ .p.extensions = "xmv",
.priv_data_size = sizeof(XMVDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = xmv_probe,
@@ -22,6 +22,7 @@
#include "libavutil/bswap.h"
#include "libavcodec/internal.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
static int xvag_probe(const AVProbeData *p)
@@ -104,11 +105,11 @@ static int xvag_read_packet(AVFormatContext *s, AVPacket *pkt)
return av_get_packet(s->pb, pkt, par->block_align);
}
-const AVInputFormat ff_xvag_demuxer = {
- .name = "xvag",
- .long_name = NULL_IF_CONFIG_SMALL("Sony PS3 XVAG"),
+const FFInputFormat ff_xvag_demuxer = {
+ .p.name = "xvag",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Sony PS3 XVAG"),
+ .p.extensions = "xvag",
.read_probe = xvag_probe,
.read_header = xvag_read_header,
.read_packet = xvag_read_packet,
- .extensions = "xvag",
};
@@ -23,6 +23,7 @@
#include <stdint.h>
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "riff.h"
@@ -313,9 +314,9 @@ static int xwma_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
-const AVInputFormat ff_xwma_demuxer = {
- .name = "xwma",
- .long_name = NULL_IF_CONFIG_SMALL("Microsoft xWMA"),
+const FFInputFormat ff_xwma_demuxer = {
+ .p.name = "xwma",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Microsoft xWMA"),
.priv_data_size = sizeof(XWMAContext),
.read_probe = xwma_probe,
.read_header = xwma_read_header,
@@ -204,15 +204,15 @@ static int yop_read_seek(AVFormatContext *s, int stream_index,
return 0;
}
-const AVInputFormat ff_yop_demuxer = {
- .name = "yop",
- .long_name = NULL_IF_CONFIG_SMALL("Psygnosis YOP"),
+const FFInputFormat ff_yop_demuxer = {
+ .p.name = "yop",
+ .p.long_name = NULL_IF_CONFIG_SMALL("Psygnosis YOP"),
+ .p.extensions = "yop",
+ .p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(YopDecContext),
.read_probe = yop_probe,
.read_header = yop_read_header,
.read_packet = yop_read_packet,
.read_close = yop_read_close,
.read_seek = yop_read_seek,
- .extensions = "yop",
- .flags = AVFMT_GENERIC_INDEX,
};
@@ -23,6 +23,7 @@
#include "libavutil/imgutils.h"
#include "avformat.h"
+#include "demux.h"
#include "internal.h"
#include "yuv4mpeg.h"
@@ -323,12 +324,12 @@ static int yuv4_probe(const AVProbeData *pd)
return 0;
}
-const AVInputFormat ff_yuv4mpegpipe_demuxer = {
- .name = "yuv4mpegpipe",
- .long_name = NULL_IF_CONFIG_SMALL("YUV4MPEG pipe"),
+const FFInputFormat ff_yuv4mpegpipe_demuxer = {
+ .p.name = "yuv4mpegpipe",
+ .p.long_name = NULL_IF_CONFIG_SMALL("YUV4MPEG pipe"),
+ .p.extensions = "y4m",
.read_probe = yuv4_probe,
.read_header = yuv4_read_header,
.read_packet = yuv4_read_packet,
.read_seek = yuv4_read_seek,
- .extensions = "y4m",
};
@@ -21,6 +21,7 @@
#include <stdlib.h>
#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
#include "libavcodec/put_bits.h"
#include "libavutil/lfg.h"
#include "libavutil/timer.h"
@@ -44,12 +45,12 @@ static void probe(AVProbeData *pd, int type, int p, int size)
while ((fmt = av_demuxer_iterate(&fmt_opaque))) {
if (fmt->flags & AVFMT_NOFILE)
continue;
- if (fmt->read_probe &&
+ if (ffifmt(fmt)->read_probe &&
(!single_format || !strcmp(single_format, fmt->name))
) {
int score;
int64_t start = AV_READ_TIME();
- score = fmt->read_probe(pd);
+ score = ffifmt(fmt)->read_probe(pd);
time_array[i] += AV_READ_TIME() - start;
if (score > score_array[i] && score > AVPROBE_SCORE_MAX / 4) {
score_array[i] = score;
@@ -113,12 +113,12 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
static int c;
int seekable = 0;
int ret;
- AVInputFormat *fmt = NULL;
+ const AVInputFormat *fmt = NULL;
#ifdef FFMPEG_DEMUXER
#define DEMUXER_SYMBOL0(DEMUXER) ff_##DEMUXER##_demuxer
#define DEMUXER_SYMBOL(DEMUXER) DEMUXER_SYMBOL0(DEMUXER)
- extern AVInputFormat DEMUXER_SYMBOL(FFMPEG_DEMUXER);
- fmt = &DEMUXER_SYMBOL(FFMPEG_DEMUXER);
+ extern const FFInputFormat DEMUXER_SYMBOL(FFMPEG_DEMUXER);
+ fmt = &DEMUXER_SYMBOL(FFMPEG_DEMUXER).p;
#endif
if (!c) {
This commit does for AVInputFormat what commit 59c9dc82f450638a3068deeb1db5c56f6d155752 did for AVOutputFormat: It adds a new type FFInputFormat, moves all the internals of AVInputFormat to it and adds a now reduced AVInputFormat as first member. This does not affect/improve extensibility of both public or private fields for demuxers (it is still a mess due to lavd). This is possible since 50f34172e0cca2cabc5836308ec66dbf93f5f2a3 (which removed the last usage of an internal field of AVInputFormat in fftools). (Hint: tools/probetest.c accesses the internals of FFInputFormat as well, but given that it is a testing tool this is not considered a problem.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- configure | 8 +- libavdevice/alldevices.c | 49 +-- libavdevice/alsa_dec.c | 11 +- libavdevice/android_camera.c | 11 +- libavdevice/avdevice.c | 5 +- libavdevice/bktr.c | 11 +- libavdevice/decklink_dec_c.c | 11 +- libavdevice/dshow.c | 12 +- libavdevice/fbdev_dec.c | 11 +- libavdevice/gdigrab.c | 11 +- libavdevice/iec61883.c | 11 +- libavdevice/jack.c | 11 +- libavdevice/kmsgrab.c | 11 +- libavdevice/lavfi.c | 11 +- libavdevice/libcdio.c | 8 +- libavdevice/libdc1394.c | 11 +- libavdevice/openal-dec.c | 11 +- libavdevice/oss_dec.c | 11 +- libavdevice/pulse_audio_dec.c | 11 +- libavdevice/sndio_dec.c | 11 +- libavdevice/utils.c | 5 +- libavdevice/v4l2.c | 10 +- libavdevice/vfwcap.c | 11 +- libavdevice/xcbgrab.c | 11 +- libavformat/3dostr.c | 11 +- libavformat/4xm.c | 7 +- libavformat/aacdec.c | 13 +- libavformat/aadec.c | 12 +- libavformat/aaxdec.c | 10 +- libavformat/ac3dec.c | 25 +- libavformat/ac4dec.c | 11 +- libavformat/acedec.c | 9 +- libavformat/acm.c | 12 +- libavformat/act.c | 7 +- libavformat/adp.c | 9 +- libavformat/ads.c | 9 +- libavformat/adxdec.c | 10 +- libavformat/aea.c | 11 +- libavformat/afc.c | 11 +- libavformat/aiffdec.c | 8 +- libavformat/aixdec.c | 10 +- libavformat/allformats.c | 731 +++++++++++++++++---------------- libavformat/alp.c | 7 +- libavformat/amr.c | 31 +- libavformat/anm.c | 6 +- libavformat/apac.c | 12 +- libavformat/apc.c | 6 +- libavformat/ape.c | 9 +- libavformat/apm.c | 7 +- libavformat/apngdec.c | 11 +- libavformat/aptxdec.c | 25 +- libavformat/aqtitledec.c | 11 +- libavformat/argo_asf.c | 7 +- libavformat/argo_brp.c | 7 +- libavformat/argo_cvg.c | 7 +- libavformat/asfdec_f.c | 10 +- libavformat/asfdec_o.c | 8 +- libavformat/assdec.c | 7 +- libavformat/astdec.c | 13 +- libavformat/au.c | 9 +- libavformat/av1dec.c | 25 +- libavformat/avformat.h | 98 ----- libavformat/avidec.c | 10 +- libavformat/avisynth.c | 11 +- libavformat/avr.c | 11 +- libavformat/avs.c | 7 +- libavformat/bethsoftvid.c | 7 +- libavformat/bfi.c | 6 +- libavformat/bink.c | 8 +- libavformat/binka.c | 11 +- libavformat/bintext.c | 37 +- libavformat/bit.c | 9 +- libavformat/bmv.c | 9 +- libavformat/boadec.c | 9 +- libavformat/bonk.c | 12 +- libavformat/brstm.c | 16 +- libavformat/c93.c | 7 +- libavformat/cafdec.c | 8 +- libavformat/cdg.c | 11 +- libavformat/cdxl.c | 13 +- libavformat/cinedec.c | 7 +- libavformat/codec2.c | 23 +- libavformat/concatdec.c | 8 +- libavformat/dashdec.c | 10 +- libavformat/dauddec.c | 9 +- libavformat/dcstr.c | 11 +- libavformat/demux.c | 20 +- libavformat/demux.h | 107 ++++- libavformat/demux_utils.c | 8 +- libavformat/derf.c | 9 +- libavformat/dfa.c | 9 +- libavformat/dfpwmdec.c | 13 +- libavformat/dhav.c | 11 +- libavformat/dsfdec.c | 9 +- libavformat/dsicin.c | 7 +- libavformat/dss.c | 9 +- libavformat/dtsdec.c | 13 +- libavformat/dtshddec.c | 11 +- libavformat/dv.c | 8 +- libavformat/dxa.c | 7 +- libavformat/eacdata.c | 9 +- libavformat/electronicarts.c | 9 +- libavformat/epafdec.c | 11 +- libavformat/evcdec.c | 13 +- libavformat/ffmetadec.c | 6 +- libavformat/filmstripdec.c | 9 +- libavformat/fitsdec.c | 11 +- libavformat/flacdec.c | 12 +- libavformat/flic.c | 7 +- libavformat/flvdec.c | 32 +- libavformat/format.c | 5 +- libavformat/frmdec.c | 7 +- libavformat/fsb.c | 11 +- libavformat/fwse.c | 9 +- libavformat/g722.c | 13 +- libavformat/g723_1.c | 11 +- libavformat/g726.c | 19 +- libavformat/g729dec.c | 13 +- libavformat/gdv.c | 7 +- libavformat/genh.c | 9 +- libavformat/gifdec.c | 13 +- libavformat/gsmdec.c | 13 +- libavformat/gxf.c | 6 +- libavformat/hca.c | 13 +- libavformat/hcom.c | 7 +- libavformat/hls.c | 12 +- libavformat/hnm.c | 9 +- libavformat/iamfdec.c | 11 +- libavformat/icodec.c | 9 +- libavformat/idcin.c | 8 +- libavformat/idroqdec.c | 7 +- libavformat/iff.c | 9 +- libavformat/ifv.c | 9 +- libavformat/ilbc.c | 9 +- libavformat/imfdec.c | 10 +- libavformat/img2_alias_pix.c | 9 +- libavformat/img2_brender_pix.c | 9 +- libavformat/img2dec.c | 48 +-- libavformat/imx.c | 11 +- libavformat/ingenientdec.c | 13 +- libavformat/internal.h | 6 +- libavformat/ipmovie.c | 6 +- libavformat/ipudec.c | 13 +- libavformat/ircamdec.c | 11 +- libavformat/iss.c | 7 +- libavformat/iv8.c | 9 +- libavformat/ivfdec.c | 11 +- libavformat/jacosubdec.c | 7 +- libavformat/jpegxl_anim_dec.c | 13 +- libavformat/jvdec.c | 7 +- libavformat/kvag.c | 7 +- libavformat/lafdec.c | 11 +- libavformat/libgme.c | 9 +- libavformat/libmodplug.c | 11 +- libavformat/libopenmpt.c | 19 +- libavformat/lmlm4.c | 7 +- libavformat/loasdec.c | 11 +- libavformat/lrcdec.c | 7 +- libavformat/luodatdec.c | 11 +- libavformat/lvfdec.c | 11 +- libavformat/lxfdec.c | 8 +- libavformat/matroskadec.c | 18 +- libavformat/mca.c | 8 +- libavformat/mccdec.c | 9 +- libavformat/mgsts.c | 9 +- libavformat/microdvddec.c | 9 +- libavformat/mlpdec.c | 25 +- libavformat/mlvdec.c | 6 +- libavformat/mm.c | 7 +- libavformat/mmf.c | 9 +- libavformat/mods.c | 11 +- libavformat/moflex.c | 11 +- libavformat/mov.c | 12 +- libavformat/mp3dec.c | 12 +- libavformat/mpc.c | 8 +- libavformat/mpc8.c | 6 +- libavformat/mpeg.c | 20 +- libavformat/mpegts.c | 24 +- libavformat/mpjpegdec.c | 15 +- libavformat/mpl2dec.c | 9 +- libavformat/mpsubdec.c | 9 +- libavformat/msf.c | 9 +- libavformat/msnwc_tcp.c | 7 +- libavformat/mspdec.c | 9 +- libavformat/mtaf.c | 9 +- libavformat/mtv.c | 7 +- libavformat/musx.c | 9 +- libavformat/mvdec.c | 7 +- libavformat/mvi.c | 9 +- libavformat/mxfdec.c | 10 +- libavformat/mxg.c | 9 +- libavformat/ncdec.c | 9 +- libavformat/nistspheredec.c | 11 +- libavformat/nspdec.c | 11 +- libavformat/nsvdec.c | 7 +- libavformat/nutdec.c | 12 +- libavformat/nuv.c | 8 +- libavformat/oggdec.c | 10 +- libavformat/omadec.c | 13 +- libavformat/osq.c | 12 +- libavformat/paf.c | 7 +- libavformat/pcmdec.c | 29 +- libavformat/pdvdec.c | 9 +- libavformat/pjsdec.c | 9 +- libavformat/pmpdec.c | 7 +- libavformat/pp_bnk.c | 7 +- libavformat/psxstr.c | 9 +- libavformat/pva.c | 7 +- libavformat/pvfdec.c | 11 +- libavformat/qcp.c | 7 +- libavformat/qoadec.c | 11 +- libavformat/r3d.c | 7 +- libavformat/rawdec.c | 19 +- libavformat/rawdec.h | 25 +- libavformat/rawvideodec.c | 63 +-- libavformat/rdt.c | 3 +- libavformat/realtextdec.c | 9 +- libavformat/redspark.c | 9 +- libavformat/rka.c | 8 +- libavformat/rl2.c | 6 +- libavformat/rm.h | 2 +- libavformat/rmdec.c | 22 +- libavformat/rpl.c | 7 +- libavformat/rsd.c | 12 +- libavformat/rsodec.c | 11 +- libavformat/rtsp.c | 19 +- libavformat/rtspdec.c | 11 +- libavformat/s337m.c | 9 +- libavformat/samidec.c | 9 +- libavformat/sapdec.c | 9 +- libavformat/sbcdec.c | 13 +- libavformat/sbgdec.c | 11 +- libavformat/sccdec.c | 9 +- libavformat/scd.c | 7 +- libavformat/sdns.c | 10 +- libavformat/sdr2.c | 11 +- libavformat/sdsdec.c | 11 +- libavformat/sdxdec.c | 11 +- libavformat/seek.c | 22 +- libavformat/segafilm.c | 7 +- libavformat/serdec.c | 13 +- libavformat/sga.c | 11 +- libavformat/shortendec.c | 13 +- libavformat/sierravmd.c | 7 +- libavformat/siff.c | 9 +- libavformat/smacker.c | 6 +- libavformat/smjpegdec.c | 11 +- libavformat/smush.c | 7 +- libavformat/sol.c | 7 +- libavformat/soxdec.c | 7 +- libavformat/spdifdec.c | 9 +- libavformat/srtdec.c | 7 +- libavformat/stldec.c | 9 +- libavformat/subtitles.h | 2 +- libavformat/subviewer1dec.c | 9 +- libavformat/subviewerdec.c | 9 +- libavformat/supdec.c | 13 +- libavformat/svag.c | 9 +- libavformat/svs.c | 9 +- libavformat/swfdec.c | 6 +- libavformat/takdec.c | 13 +- libavformat/tedcaptionsdec.c | 9 +- libavformat/thp.c | 7 +- libavformat/tiertexseq.c | 7 +- libavformat/tmv.c | 9 +- libavformat/tta.c | 9 +- libavformat/tty.c | 13 +- libavformat/txd.c | 7 +- libavformat/ty.c | 11 +- libavformat/usmdec.c | 10 +- libavformat/vag.c | 9 +- libavformat/vapoursynth.c | 9 +- libavformat/vc1test.c | 10 +- libavformat/vividas.c | 7 +- libavformat/vivo.c | 9 +- libavformat/vocdec.c | 9 +- libavformat/vpk.c | 8 +- libavformat/vplayerdec.c | 9 +- libavformat/vqf.c | 9 +- libavformat/wady.c | 10 +- libavformat/wavarc.c | 10 +- libavformat/wavdec.c | 24 +- libavformat/wc3movie.c | 7 +- libavformat/webvttdec.c | 11 +- libavformat/westwood_aud.c | 7 +- libavformat/westwood_vqa.c | 6 +- libavformat/wsddec.c | 13 +- libavformat/wtvdec.c | 8 +- libavformat/wvdec.c | 9 +- libavformat/wvedec.c | 7 +- libavformat/xa.c | 7 +- libavformat/xmd.c | 10 +- libavformat/xmv.c | 9 +- libavformat/xvag.c | 9 +- libavformat/xwma.c | 7 +- libavformat/yop.c | 10 +- libavformat/yuv4mpegdec.c | 9 +- tools/probetest.c | 5 +- tools/target_dem_fuzzer.c | 6 +- 299 files changed, 2178 insertions(+), 1940 deletions(-)