1
0
Fork 0

avformat/avformat: Move AVOutputFormat internals out of public header

This commit does for AVOutputFormat what commit
20f9727018 did for AVCodec:
It adds a new type FFOutputFormat, moves all the internals
of AVOutputFormat to it and adds a now reduced AVOutputFormat
as first member.

This does not affect/improve extensibility of both public
or private fields for muxers (it is still a mess due to lavd).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
Andreas Rheinhardt 2023-01-27 15:06:00 +01:00 committed by Anton Khirnov
parent f23ae839fc
commit 59c9dc82f4
115 changed files with 1731 additions and 1644 deletions

8
configure vendored
View File

@ -4010,9 +4010,9 @@ find_filters_extern(){
}
FILTER_LIST=$(find_filters_extern libavfilter/allfilters.c)
OUTDEV_LIST=$(find_things_extern muxer AVOutputFormat libavdevice/alldevices.c outdev)
OUTDEV_LIST=$(find_things_extern muxer FFOutputFormat libavdevice/alldevices.c outdev)
INDEV_LIST=$(find_things_extern demuxer AVInputFormat libavdevice/alldevices.c indev)
MUXER_LIST=$(find_things_extern muxer AVOutputFormat libavformat/allformats.c)
MUXER_LIST=$(find_things_extern muxer FFOutputFormat libavformat/allformats.c)
DEMUXER_LIST=$(find_things_extern demuxer AVInputFormat libavformat/allformats.c)
ENCODER_LIST=$(find_things_extern encoder FFCodec libavcodec/allcodecs.c)
DECODER_LIST=$(find_things_extern decoder FFCodec libavcodec/allcodecs.c)
@ -7960,9 +7960,9 @@ 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/muxer_list.c AVOutputFormat muxer_list $MUXER_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/outdev_list.c AVOutputFormat outdev_list $OUTDEV_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
# Settings for pkg-config files

View File

@ -19,40 +19,41 @@
*/
#include "libavformat/internal.h"
#include "libavformat/mux.h"
#include "avdevice.h"
/* devices */
extern const AVInputFormat ff_alsa_demuxer;
extern const AVOutputFormat ff_alsa_muxer;
extern const FFOutputFormat ff_alsa_muxer;
extern const AVInputFormat ff_android_camera_demuxer;
extern const AVOutputFormat ff_audiotoolbox_muxer;
extern const FFOutputFormat ff_audiotoolbox_muxer;
extern const AVInputFormat ff_avfoundation_demuxer;
extern const AVInputFormat ff_bktr_demuxer;
extern const AVOutputFormat ff_caca_muxer;
extern const FFOutputFormat ff_caca_muxer;
extern const AVInputFormat ff_decklink_demuxer;
extern const AVOutputFormat ff_decklink_muxer;
extern const FFOutputFormat ff_decklink_muxer;
extern const AVInputFormat ff_dshow_demuxer;
extern const AVInputFormat ff_fbdev_demuxer;
extern const AVOutputFormat ff_fbdev_muxer;
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 AVOutputFormat ff_opengl_muxer;
extern const FFOutputFormat ff_opengl_muxer;
extern const AVInputFormat ff_oss_demuxer;
extern const AVOutputFormat ff_oss_muxer;
extern const FFOutputFormat ff_oss_muxer;
extern const AVInputFormat ff_pulse_demuxer;
extern const AVOutputFormat ff_pulse_muxer;
extern const AVOutputFormat ff_sdl2_muxer;
extern const FFOutputFormat ff_pulse_muxer;
extern const FFOutputFormat ff_sdl2_muxer;
extern const AVInputFormat ff_sndio_demuxer;
extern const AVOutputFormat ff_sndio_muxer;
extern const FFOutputFormat ff_sndio_muxer;
extern const AVInputFormat ff_v4l2_demuxer;
extern const AVOutputFormat ff_v4l2_muxer;
extern const FFOutputFormat ff_v4l2_muxer;
extern const AVInputFormat ff_vfwcap_demuxer;
extern const AVInputFormat ff_xcbgrab_demuxer;
extern const AVOutputFormat ff_xv_muxer;
extern const FFOutputFormat ff_xv_muxer;
/* external libraries */
extern const AVInputFormat ff_libcdio_demuxer;
@ -97,12 +98,12 @@ static const void *next_output(const AVOutputFormat *prev, AVClassCategory c2)
const AVClass *pc;
const AVClassCategory c1 = AV_CLASS_CATEGORY_DEVICE_OUTPUT;
AVClassCategory category = AV_CLASS_CATEGORY_NA;
const AVOutputFormat *fmt = NULL;
const FFOutputFormat *fmt = NULL;
int i = 0;
while (prev && (fmt = outdev_list[i])) {
i++;
if (prev == fmt)
if (prev == &fmt->p)
break;
}
@ -110,7 +111,7 @@ static const void *next_output(const AVOutputFormat *prev, AVClassCategory c2)
fmt = outdev_list[i++];
if (!fmt)
break;
pc = fmt->priv_class;
pc = fmt->p.priv_class;
if (!pc)
continue;
category = pc->category;

View File

@ -165,18 +165,18 @@ static const AVClass alsa_muxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT,
};
const AVOutputFormat ff_alsa_muxer = {
.name = "alsa",
.long_name = NULL_IF_CONFIG_SMALL("ALSA audio output"),
const FFOutputFormat ff_alsa_muxer = {
.p.name = "alsa",
.p.long_name = NULL_IF_CONFIG_SMALL("ALSA audio output"),
.priv_data_size = sizeof(AlsaData),
.audio_codec = DEFAULT_CODEC_ID,
.video_codec = AV_CODEC_ID_NONE,
.p.audio_codec = DEFAULT_CODEC_ID,
.p.video_codec = AV_CODEC_ID_NONE,
.write_header = audio_write_header,
.write_packet = audio_write_packet,
.write_trailer = ff_alsa_close,
.write_uncoded_frame = audio_write_frame,
.get_device_list = audio_get_device_list,
.get_output_timestamp = audio_get_output_timestamp,
.flags = AVFMT_NOFILE,
.priv_class = &alsa_muxer_class,
.p.flags = AVFMT_NOFILE,
.p.priv_class = &alsa_muxer_class,
};

View File

@ -30,6 +30,7 @@
#include "libavutil/opt.h"
#include "libavformat/internal.h"
#include "libavformat/mux.h"
#include "libavutil/internal.h"
#include "avdevice.h"
@ -294,15 +295,15 @@ static const AVClass at_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT,
};
const AVOutputFormat ff_audiotoolbox_muxer = {
.name = "audiotoolbox",
.long_name = NULL_IF_CONFIG_SMALL("AudioToolbox output device"),
const FFOutputFormat ff_audiotoolbox_muxer = {
.p.name = "audiotoolbox",
.p.long_name = NULL_IF_CONFIG_SMALL("AudioToolbox output device"),
.priv_data_size = sizeof(ATContext),
.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE),
.video_codec = AV_CODEC_ID_NONE,
.p.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE),
.p.video_codec = AV_CODEC_ID_NONE,
.write_header = at_write_header,
.write_packet = at_write_packet,
.write_trailer = at_write_trailer,
.flags = AVFMT_NOFILE,
.priv_class = &at_class,
.p.flags = AVFMT_NOFILE,
.p.priv_class = &at_class,
};

View File

@ -19,6 +19,7 @@
#include "libavutil/avassert.h"
#include "avdevice.h"
#include "internal.h"
#include "libavformat/mux.h"
#if FF_API_DEVICE_CAPABILITIES
const AVOption av_device_capabilities[] = {
@ -29,9 +30,9 @@ const AVOption av_device_capabilities[] = {
int avdevice_app_to_dev_control_message(struct AVFormatContext *s, enum AVAppToDevMessageType type,
void *data, size_t data_size)
{
if (!s->oformat || !s->oformat->control_message)
if (!s->oformat || !ffofmt(s->oformat)->control_message)
return AVERROR(ENOSYS);
return s->oformat->control_message(s, type, data, data_size);
return ffofmt(s->oformat)->control_message(s, type, data, data_size);
}
int avdevice_dev_to_app_control_message(struct AVFormatContext *s, enum AVDevToAppMessageType type,
@ -61,7 +62,7 @@ int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list)
av_assert0(s);
av_assert0(device_list);
av_assert0(s->oformat || s->iformat);
if ((s->oformat && !s->oformat->get_device_list) ||
if ((s->oformat && !ffofmt(s->oformat)->get_device_list) ||
(s->iformat && !s->iformat->get_device_list)) {
*device_list = NULL;
return AVERROR(ENOSYS);
@ -72,7 +73,7 @@ int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list)
/* no default device by default */
(*device_list)->default_device = -1;
if (s->oformat)
ret = s->oformat->get_device_list(s, *device_list);
ret = ffofmt(s->oformat)->get_device_list(s, *device_list);
else
ret = s->iformat->get_device_list(s, *device_list);
if (ret < 0) {

View File

@ -21,6 +21,7 @@
#include <caca.h>
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavformat/mux.h"
#include "avdevice.h"
typedef struct CACAContext {
@ -220,15 +221,15 @@ static const AVClass caca_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT,
};
const AVOutputFormat ff_caca_muxer = {
.name = "caca",
.long_name = NULL_IF_CONFIG_SMALL("caca (color ASCII art) output device"),
const FFOutputFormat ff_caca_muxer = {
.p.name = "caca",
.p.long_name = NULL_IF_CONFIG_SMALL("caca (color ASCII art) output device"),
.priv_data_size = sizeof(CACAContext),
.audio_codec = AV_CODEC_ID_NONE,
.video_codec = AV_CODEC_ID_RAWVIDEO,
.p.audio_codec = AV_CODEC_ID_NONE,
.p.video_codec = AV_CODEC_ID_RAWVIDEO,
.write_header = caca_write_header,
.write_packet = caca_write_packet,
.deinit = caca_deinit,
.flags = AVFMT_NOFILE,
.priv_class = &caca_class,
.p.flags = AVFMT_NOFILE,
.p.priv_class = &caca_class,
};

View File

@ -20,6 +20,7 @@
*/
#include "libavformat/avformat.h"
#include "libavformat/mux.h"
#include "libavutil/opt.h"
#include "decklink_common_c.h"
@ -71,15 +72,15 @@ static const AVClass decklink_muxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT,
};
const AVOutputFormat ff_decklink_muxer = {
.name = "decklink",
.long_name = NULL_IF_CONFIG_SMALL("Blackmagic DeckLink output"),
.audio_codec = AV_CODEC_ID_PCM_S16LE,
.video_codec = AV_CODEC_ID_WRAPPED_AVFRAME,
.subtitle_codec = AV_CODEC_ID_NONE,
.flags = AVFMT_NOFILE,
const FFOutputFormat ff_decklink_muxer = {
.p.name = "decklink",
.p.long_name = NULL_IF_CONFIG_SMALL("Blackmagic DeckLink output"),
.p.audio_codec = AV_CODEC_ID_PCM_S16LE,
.p.video_codec = AV_CODEC_ID_WRAPPED_AVFRAME,
.p.subtitle_codec = AV_CODEC_ID_NONE,
.p.flags = AVFMT_NOFILE,
.p.priv_class = &decklink_muxer_class,
.get_device_list = ff_decklink_list_output_devices,
.priv_class = &decklink_muxer_class,
.priv_data_size = sizeof(struct decklink_cctx),
.write_header = ff_decklink_write_header,
.write_packet = ff_decklink_write_packet,

View File

@ -28,6 +28,7 @@
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "libavformat/avformat.h"
#include "libavformat/mux.h"
#include "fbdev_common.h"
#include "avdevice.h"
@ -206,16 +207,16 @@ static const AVClass fbdev_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT,
};
const AVOutputFormat ff_fbdev_muxer = {
.name = "fbdev",
.long_name = NULL_IF_CONFIG_SMALL("Linux framebuffer"),
const FFOutputFormat ff_fbdev_muxer = {
.p.name = "fbdev",
.p.long_name = NULL_IF_CONFIG_SMALL("Linux framebuffer"),
.priv_data_size = sizeof(FBDevContext),
.audio_codec = AV_CODEC_ID_NONE,
.video_codec = AV_CODEC_ID_RAWVIDEO,
.p.audio_codec = AV_CODEC_ID_NONE,
.p.video_codec = AV_CODEC_ID_RAWVIDEO,
.write_header = fbdev_write_header,
.write_packet = fbdev_write_packet,
.write_trailer = fbdev_write_trailer,
.get_device_list = fbdev_get_device_list,
.flags = AVFMT_NOFILE | AVFMT_VARIABLE_FPS | AVFMT_NOTIMESTAMPS,
.priv_class = &fbdev_class,
.p.flags = AVFMT_NOFILE | AVFMT_VARIABLE_FPS | AVFMT_NOTIMESTAMPS,
.p.priv_class = &fbdev_class,
};

View File

@ -1292,17 +1292,17 @@ static const AVClass opengl_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT,
};
const AVOutputFormat ff_opengl_muxer = {
.name = "opengl",
.long_name = NULL_IF_CONFIG_SMALL("OpenGL output"),
const FFOutputFormat ff_opengl_muxer = {
.p.name = "opengl",
.p.long_name = NULL_IF_CONFIG_SMALL("OpenGL output"),
.p.audio_codec = AV_CODEC_ID_NONE,
.p.video_codec = AV_CODEC_ID_WRAPPED_AVFRAME,
.p.flags = AVFMT_NOFILE | AVFMT_VARIABLE_FPS | AVFMT_NOTIMESTAMPS,
.p.priv_class = &opengl_class,
.priv_data_size = sizeof(OpenGLContext),
.audio_codec = AV_CODEC_ID_NONE,
.video_codec = AV_CODEC_ID_WRAPPED_AVFRAME,
.write_header = opengl_write_header,
.write_packet = opengl_write_packet,
.write_uncoded_frame = opengl_write_frame,
.write_trailer = opengl_write_trailer,
.control_message = opengl_control_message,
.flags = AVFMT_NOFILE | AVFMT_VARIABLE_FPS | AVFMT_NOTIMESTAMPS,
.priv_class = &opengl_class,
};

View File

@ -32,6 +32,7 @@
#include "avdevice.h"
#include "libavformat/internal.h"
#include "libavformat/mux.h"
#include "oss.h"
@ -94,18 +95,18 @@ static const AVClass oss_muxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT,
};
const AVOutputFormat ff_oss_muxer = {
.name = "oss",
.long_name = NULL_IF_CONFIG_SMALL("OSS (Open Sound System) playback"),
const FFOutputFormat ff_oss_muxer = {
.p.name = "oss",
.p.long_name = NULL_IF_CONFIG_SMALL("OSS (Open Sound System) playback"),
.priv_data_size = sizeof(OSSAudioData),
/* XXX: we make the assumption that the soundcard accepts this format */
/* XXX: find better solution with "preinit" method, needed also in
other formats */
.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE),
.video_codec = AV_CODEC_ID_NONE,
.p.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE),
.p.video_codec = AV_CODEC_ID_NONE,
.write_header = audio_write_header,
.write_packet = audio_write_packet,
.write_trailer = audio_write_trailer,
.flags = AVFMT_NOFILE,
.priv_class = &oss_muxer_class,
.p.flags = AVFMT_NOFILE,
.p.priv_class = &oss_muxer_class,
};

View File

@ -788,12 +788,12 @@ static const AVClass pulse_muxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT,
};
const AVOutputFormat ff_pulse_muxer = {
.name = "pulse",
.long_name = NULL_IF_CONFIG_SMALL("Pulse audio output"),
const FFOutputFormat ff_pulse_muxer = {
.p.name = "pulse",
.p.long_name = NULL_IF_CONFIG_SMALL("Pulse audio output"),
.priv_data_size = sizeof(PulseData),
.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE),
.video_codec = AV_CODEC_ID_NONE,
.p.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE),
.p.video_codec = AV_CODEC_ID_NONE,
.write_header = pulse_write_header,
.write_packet = pulse_write_packet,
.write_uncoded_frame = pulse_write_frame,
@ -801,6 +801,6 @@ const AVOutputFormat ff_pulse_muxer = {
.get_output_timestamp = pulse_get_output_timestamp,
.get_device_list = pulse_get_device_list,
.control_message = pulse_control_message,
.flags = AVFMT_NOFILE | AVFMT_ALLOW_FLUSH,
.priv_class = &pulse_muxer_class,
.p.flags = AVFMT_NOFILE | AVFMT_ALLOW_FLUSH,
.p.priv_class = &pulse_muxer_class,
};

View File

@ -33,6 +33,7 @@
#include "libavutil/pixdesc.h"
#include "libavutil/time.h"
#include "avdevice.h"
#include "libavformat/mux.h"
typedef struct {
AVClass *class;
@ -355,15 +356,15 @@ static const AVClass sdl2_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT,
};
const AVOutputFormat ff_sdl2_muxer = {
.name = "sdl,sdl2",
.long_name = NULL_IF_CONFIG_SMALL("SDL2 output device"),
const FFOutputFormat ff_sdl2_muxer = {
.p.name = "sdl,sdl2",
.p.long_name = NULL_IF_CONFIG_SMALL("SDL2 output device"),
.priv_data_size = sizeof(SDLContext),
.audio_codec = AV_CODEC_ID_NONE,
.video_codec = AV_CODEC_ID_RAWVIDEO,
.p.audio_codec = AV_CODEC_ID_NONE,
.p.video_codec = AV_CODEC_ID_RAWVIDEO,
.write_header = sdl2_write_header,
.write_packet = sdl2_write_packet,
.write_trailer = sdl2_write_trailer,
.flags = AVFMT_NOFILE | AVFMT_VARIABLE_FPS | AVFMT_NOTIMESTAMPS,
.priv_class = &sdl2_class,
.p.flags = AVFMT_NOFILE | AVFMT_VARIABLE_FPS | AVFMT_NOTIMESTAMPS,
.p.priv_class = &sdl2_class,
};

View File

@ -24,6 +24,7 @@
#include "libavutil/internal.h"
#include "libavformat/mux.h"
#include "libavdevice/avdevice.h"
#include "libavdevice/sndio.h"
@ -86,18 +87,18 @@ static const AVClass sndio_muxer_class = {
.category = AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT,
};
const AVOutputFormat ff_sndio_muxer = {
.name = "sndio",
.long_name = NULL_IF_CONFIG_SMALL("sndio audio playback"),
const FFOutputFormat ff_sndio_muxer = {
.p.name = "sndio",
.p.long_name = NULL_IF_CONFIG_SMALL("sndio audio playback"),
.priv_data_size = sizeof(SndioData),
/* XXX: we make the assumption that the soundcard accepts this format */
/* XXX: find better solution with "preinit" method, needed also in
other formats */
.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE),
.video_codec = AV_CODEC_ID_NONE,
.p.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE),
.p.video_codec = AV_CODEC_ID_NONE,
.write_header = audio_write_header,
.write_packet = audio_write_packet,
.write_trailer = audio_write_trailer,
.flags = AVFMT_NOFILE,
.priv_class = &sndio_muxer_class,
.p.flags = AVFMT_NOFILE,
.p.priv_class = &sndio_muxer_class,
};

View File

@ -21,6 +21,7 @@
#include "libavutil/imgutils.h"
#include "libavutil/pixdesc.h"
#include "libavformat/avformat.h"
#include "libavformat/mux.h"
#include "v4l2-common.h"
typedef struct {
@ -111,15 +112,15 @@ static const AVClass v4l2_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT,
};
const AVOutputFormat ff_v4l2_muxer = {
.name = "video4linux2,v4l2",
.long_name = NULL_IF_CONFIG_SMALL("Video4Linux2 output device"),
const FFOutputFormat ff_v4l2_muxer = {
.p.name = "video4linux2,v4l2",
.p.long_name = NULL_IF_CONFIG_SMALL("Video4Linux2 output device"),
.priv_data_size = sizeof(V4L2Context),
.audio_codec = AV_CODEC_ID_NONE,
.video_codec = AV_CODEC_ID_RAWVIDEO,
.p.audio_codec = AV_CODEC_ID_NONE,
.p.video_codec = AV_CODEC_ID_RAWVIDEO,
.write_header = write_header,
.write_packet = write_packet,
.write_trailer = write_trailer,
.flags = AVFMT_NOFILE,
.priv_class = &v4l2_class,
.p.flags = AVFMT_NOFILE,
.p.priv_class = &v4l2_class,
};

View File

@ -376,17 +376,17 @@ static const AVClass xv_class = {
.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT,
};
const AVOutputFormat ff_xv_muxer = {
.name = "xv",
.long_name = NULL_IF_CONFIG_SMALL("XV (XVideo) output device"),
const FFOutputFormat ff_xv_muxer = {
.p.name = "xv",
.p.long_name = NULL_IF_CONFIG_SMALL("XV (XVideo) output device"),
.p.audio_codec = AV_CODEC_ID_NONE,
.p.video_codec = AV_CODEC_ID_WRAPPED_AVFRAME,
.p.flags = AVFMT_NOFILE | AVFMT_VARIABLE_FPS | AVFMT_NOTIMESTAMPS,
.p.priv_class = &xv_class,
.priv_data_size = sizeof(XVContext),
.audio_codec = AV_CODEC_ID_NONE,
.video_codec = AV_CODEC_ID_WRAPPED_AVFRAME,
.write_header = xv_write_header,
.write_packet = xv_write_packet,
.write_uncoded_frame = xv_write_frame,
.write_trailer = xv_write_trailer,
.control_message = xv_control_message,
.flags = AVFMT_NOFILE | AVFMT_VARIABLE_FPS | AVFMT_NOTIMESTAMPS,
.priv_class = &xv_class,
};

View File

@ -23,6 +23,7 @@
#include "libavcodec/codec_id.h"
#include "libavcodec/codec_par.h"
#include "avformat.h"
#include "mux.h"
#include "rawenc.h"
static int a64_write_header(AVFormatContext *s)
@ -59,11 +60,11 @@ static int a64_write_header(AVFormatContext *s)
return 0;
}
const AVOutputFormat ff_a64_muxer = {
.name = "a64",
.long_name = NULL_IF_CONFIG_SMALL("a64 - video for Commodore 64"),
.extensions = "a64, A64",
.video_codec = AV_CODEC_ID_A64_MULTI,
const FFOutputFormat ff_a64_muxer = {
.p.name = "a64",
.p.long_name = NULL_IF_CONFIG_SMALL("a64 - video for Commodore 64"),
.p.extensions = "a64, A64",
.p.video_codec = AV_CODEC_ID_A64_MULTI,
.write_header = a64_write_header,
.write_packet = ff_raw_write_packet,
};

View File

@ -31,6 +31,7 @@
#include "avformat.h"
#include "apetag.h"
#include "id3v2.h"
#include "mux.h"
#define ADTS_HEADER_SIZE 7
@ -232,18 +233,18 @@ static const AVClass adts_muxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
const AVOutputFormat ff_adts_muxer = {
.name = "adts",
.long_name = NULL_IF_CONFIG_SMALL("ADTS AAC (Advanced Audio Coding)"),
.mime_type = "audio/aac",
.extensions = "aac,adts",
const FFOutputFormat ff_adts_muxer = {
.p.name = "adts",
.p.long_name = NULL_IF_CONFIG_SMALL("ADTS AAC (Advanced Audio Coding)"),
.p.mime_type = "audio/aac",
.p.extensions = "aac,adts",
.priv_data_size = sizeof(ADTSContext),
.audio_codec = AV_CODEC_ID_AAC,
.video_codec = AV_CODEC_ID_NONE,
.p.audio_codec = AV_CODEC_ID_AAC,
.p.video_codec = AV_CODEC_ID_NONE,
.init = adts_init,
.write_header = adts_write_header,
.write_packet = adts_write_packet,
.write_trailer = adts_write_trailer,
.priv_class = &adts_muxer_class,
.flags = AVFMT_NOTIMESTAMPS,
.p.priv_class = &adts_muxer_class,
.p.flags = AVFMT_NOTIMESTAMPS,
};

View File

@ -30,6 +30,7 @@
#include "avio_internal.h"
#include "isom.h"
#include "id3v2.h"
#include "mux.h"
typedef struct AIFFOutputContext {
const AVClass *class;
@ -284,18 +285,18 @@ static const AVClass aiff_muxer_class = {
.version = LIBAVUTIL_VERSION_INT,
};
const AVOutputFormat ff_aiff_muxer = {
.name = "aiff",
.long_name = NULL_IF_CONFIG_SMALL("Audio IFF"),
.mime_type = "audio/aiff",
.extensions = "aif,aiff,afc,aifc",
const FFOutputFormat ff_aiff_muxer = {
.p.name = "aiff",
.p.long_name = NULL_IF_CONFIG_SMALL("Audio IFF"),
.p.mime_type = "audio/aiff",
.p.extensions = "aif,aiff,afc,aifc",
.priv_data_size = sizeof(AIFFOutputContext),
.audio_codec = AV_CODEC_ID_PCM_S16BE,
.video_codec = AV_CODEC_ID_PNG,
.p.audio_codec = AV_CODEC_ID_PCM_S16BE,
.p.video_codec = AV_CODEC_ID_PNG,
.write_header = aiff_write_header,
.write_packet = aiff_write_packet,
.write_trailer = aiff_write_trailer,
.deinit = aiff_deinit,
.codec_tag = ff_aiff_codec_tags_list,
.priv_class = &aiff_muxer_class,
.p.codec_tag = ff_aiff_codec_tags_list,
.p.priv_class = &aiff_muxer_class,
};

View File

@ -25,82 +25,83 @@
#include "libavformat/internal.h"
#include "avformat.h"
#include "mux.h"
/* (de)muxers */
extern const AVOutputFormat ff_a64_muxer;
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 AVOutputFormat ff_ac3_muxer;
extern const FFOutputFormat ff_ac3_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 AVOutputFormat ff_adts_muxer;
extern const FFOutputFormat ff_adts_muxer;
extern const AVInputFormat ff_adx_demuxer;
extern const AVOutputFormat ff_adx_muxer;
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 AVOutputFormat ff_aiff_muxer;
extern const FFOutputFormat ff_aiff_muxer;
extern const AVInputFormat ff_aix_demuxer;
extern const AVInputFormat ff_alp_demuxer;
extern const AVOutputFormat ff_alp_muxer;
extern const FFOutputFormat ff_alp_muxer;
extern const AVInputFormat ff_amr_demuxer;
extern const AVOutputFormat ff_amr_muxer;
extern const FFOutputFormat ff_amr_muxer;
extern const AVInputFormat ff_amrnb_demuxer;
extern const AVInputFormat ff_amrwb_demuxer;
extern const AVOutputFormat ff_amv_muxer;
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 AVOutputFormat ff_apm_muxer;
extern const FFOutputFormat ff_apm_muxer;
extern const AVInputFormat ff_apng_demuxer;
extern const AVOutputFormat ff_apng_muxer;
extern const FFOutputFormat ff_apng_muxer;
extern const AVInputFormat ff_aptx_demuxer;
extern const AVOutputFormat ff_aptx_muxer;
extern const FFOutputFormat ff_aptx_muxer;
extern const AVInputFormat ff_aptx_hd_demuxer;
extern const AVOutputFormat ff_aptx_hd_muxer;
extern const FFOutputFormat ff_aptx_hd_muxer;
extern const AVInputFormat ff_aqtitle_demuxer;
extern const AVInputFormat ff_argo_asf_demuxer;
extern const AVOutputFormat ff_argo_asf_muxer;
extern const FFOutputFormat ff_argo_asf_muxer;
extern const AVInputFormat ff_argo_brp_demuxer;
extern const AVInputFormat ff_argo_cvg_demuxer;
extern const AVOutputFormat ff_argo_cvg_muxer;
extern const FFOutputFormat ff_argo_cvg_muxer;
extern const AVInputFormat ff_asf_demuxer;
extern const AVOutputFormat ff_asf_muxer;
extern const FFOutputFormat ff_asf_muxer;
extern const AVInputFormat ff_asf_o_demuxer;
extern const AVInputFormat ff_ass_demuxer;
extern const AVOutputFormat ff_ass_muxer;
extern const FFOutputFormat ff_ass_muxer;
extern const AVInputFormat ff_ast_demuxer;
extern const AVOutputFormat ff_ast_muxer;
extern const AVOutputFormat ff_asf_stream_muxer;
extern const FFOutputFormat ff_ast_muxer;
extern const FFOutputFormat ff_asf_stream_muxer;
extern const AVInputFormat ff_au_demuxer;
extern const AVOutputFormat ff_au_muxer;
extern const FFOutputFormat ff_au_muxer;
extern const AVInputFormat ff_av1_demuxer;
extern const AVInputFormat ff_avi_demuxer;
extern const AVOutputFormat ff_avi_muxer;
extern const AVOutputFormat ff_avif_muxer;
extern const FFOutputFormat ff_avi_muxer;
extern const FFOutputFormat ff_avif_muxer;
extern const AVInputFormat ff_avisynth_demuxer;
extern const AVOutputFormat ff_avm2_muxer;
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 AVOutputFormat ff_avs2_muxer;
extern const FFOutputFormat ff_avs2_muxer;
extern const AVInputFormat ff_avs3_demuxer;
extern const AVOutputFormat ff_avs3_muxer;
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 AVOutputFormat ff_bit_muxer;
extern const FFOutputFormat ff_bit_muxer;
extern const AVInputFormat ff_bitpacked_demuxer;
extern const AVInputFormat ff_bmv_demuxer;
extern const AVInputFormat ff_bfstm_demuxer;
@ -109,190 +110,190 @@ 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 AVOutputFormat ff_caf_muxer;
extern const FFOutputFormat ff_caf_muxer;
extern const AVInputFormat ff_cavsvideo_demuxer;
extern const AVOutputFormat ff_cavsvideo_muxer;
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 AVOutputFormat ff_codec2_muxer;
extern const FFOutputFormat ff_codec2_muxer;
extern const AVInputFormat ff_codec2raw_demuxer;
extern const AVOutputFormat ff_codec2raw_muxer;
extern const FFOutputFormat ff_codec2raw_muxer;
extern const AVInputFormat ff_concat_demuxer;
extern const AVOutputFormat ff_crc_muxer;
extern const FFOutputFormat ff_crc_muxer;
extern const AVInputFormat ff_dash_demuxer;
extern const AVOutputFormat ff_dash_muxer;
extern const FFOutputFormat ff_dash_muxer;
extern const AVInputFormat ff_data_demuxer;
extern const AVOutputFormat ff_data_muxer;
extern const FFOutputFormat ff_data_muxer;
extern const AVInputFormat ff_daud_demuxer;
extern const AVOutputFormat ff_daud_muxer;
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 AVOutputFormat ff_dfpwm_muxer;
extern const FFOutputFormat ff_dfpwm_muxer;
extern const AVInputFormat ff_dhav_demuxer;
extern const AVInputFormat ff_dirac_demuxer;
extern const AVOutputFormat ff_dirac_muxer;
extern const FFOutputFormat ff_dirac_muxer;
extern const AVInputFormat ff_dnxhd_demuxer;
extern const AVOutputFormat ff_dnxhd_muxer;
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 AVOutputFormat ff_dts_muxer;
extern const FFOutputFormat ff_dts_muxer;
extern const AVInputFormat ff_dtshd_demuxer;
extern const AVInputFormat ff_dv_demuxer;
extern const AVOutputFormat ff_dv_muxer;
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 AVOutputFormat ff_eac3_muxer;
extern const FFOutputFormat ff_eac3_muxer;
extern const AVInputFormat ff_epaf_demuxer;
extern const AVOutputFormat ff_f4v_muxer;
extern const FFOutputFormat ff_f4v_muxer;
extern const AVInputFormat ff_ffmetadata_demuxer;
extern const AVOutputFormat ff_ffmetadata_muxer;
extern const AVOutputFormat ff_fifo_muxer;
extern const AVOutputFormat ff_fifo_test_muxer;
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 AVOutputFormat ff_filmstrip_muxer;
extern const FFOutputFormat ff_filmstrip_muxer;
extern const AVInputFormat ff_fits_demuxer;
extern const AVOutputFormat ff_fits_muxer;
extern const FFOutputFormat ff_fits_muxer;
extern const AVInputFormat ff_flac_demuxer;
extern const AVOutputFormat ff_flac_muxer;
extern const FFOutputFormat ff_flac_muxer;
extern const AVInputFormat ff_flic_demuxer;
extern const AVInputFormat ff_flv_demuxer;
extern const AVOutputFormat ff_flv_muxer;
extern const FFOutputFormat ff_flv_muxer;
extern const AVInputFormat ff_live_flv_demuxer;
extern const AVInputFormat ff_fourxm_demuxer;
extern const AVOutputFormat ff_framecrc_muxer;
extern const AVOutputFormat ff_framehash_muxer;
extern const AVOutputFormat ff_framemd5_muxer;
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 AVOutputFormat ff_g722_muxer;
extern const FFOutputFormat ff_g722_muxer;
extern const AVInputFormat ff_g723_1_demuxer;
extern const AVOutputFormat ff_g723_1_muxer;
extern const FFOutputFormat ff_g723_1_muxer;
extern const AVInputFormat ff_g726_demuxer;
extern const AVOutputFormat ff_g726_muxer;
extern const FFOutputFormat ff_g726_muxer;
extern const AVInputFormat ff_g726le_demuxer;
extern const AVOutputFormat ff_g726le_muxer;
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 AVOutputFormat ff_gif_muxer;
extern const FFOutputFormat ff_gif_muxer;
extern const AVInputFormat ff_gsm_demuxer;
extern const AVOutputFormat ff_gsm_muxer;
extern const FFOutputFormat ff_gsm_muxer;
extern const AVInputFormat ff_gxf_demuxer;
extern const AVOutputFormat ff_gxf_muxer;
extern const FFOutputFormat ff_gxf_muxer;
extern const AVInputFormat ff_h261_demuxer;
extern const AVOutputFormat ff_h261_muxer;
extern const FFOutputFormat ff_h261_muxer;
extern const AVInputFormat ff_h263_demuxer;
extern const AVOutputFormat ff_h263_muxer;
extern const FFOutputFormat ff_h263_muxer;
extern const AVInputFormat ff_h264_demuxer;
extern const AVOutputFormat ff_h264_muxer;
extern const AVOutputFormat ff_hash_muxer;
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 AVOutputFormat ff_hds_muxer;
extern const FFOutputFormat ff_hds_muxer;
extern const AVInputFormat ff_hevc_demuxer;
extern const AVOutputFormat ff_hevc_muxer;
extern const FFOutputFormat ff_hevc_muxer;
extern const AVInputFormat ff_hls_demuxer;
extern const AVOutputFormat ff_hls_muxer;
extern const FFOutputFormat ff_hls_muxer;
extern const AVInputFormat ff_hnm_demuxer;
extern const AVInputFormat ff_ico_demuxer;
extern const AVOutputFormat ff_ico_muxer;
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 AVOutputFormat ff_ilbc_muxer;
extern const FFOutputFormat ff_ilbc_muxer;
extern const AVInputFormat ff_image2_demuxer;
extern const AVOutputFormat ff_image2_muxer;
extern const FFOutputFormat ff_image2_muxer;
extern const AVInputFormat ff_image2pipe_demuxer;
extern const AVOutputFormat ff_image2pipe_muxer;
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 AVOutputFormat ff_ipod_muxer;
extern const FFOutputFormat ff_ipod_muxer;
extern const AVInputFormat ff_ipu_demuxer;
extern const AVInputFormat ff_ircam_demuxer;
extern const AVOutputFormat ff_ircam_muxer;
extern const AVOutputFormat ff_ismv_muxer;
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 AVOutputFormat ff_ivf_muxer;
extern const FFOutputFormat ff_ivf_muxer;
extern const AVInputFormat ff_ivr_demuxer;
extern const AVInputFormat ff_jacosub_demuxer;
extern const AVOutputFormat ff_jacosub_muxer;
extern const FFOutputFormat ff_jacosub_muxer;
extern const AVInputFormat ff_jv_demuxer;
extern const AVInputFormat ff_kux_demuxer;
extern const AVInputFormat ff_kvag_demuxer;
extern const AVOutputFormat ff_kvag_muxer;
extern const FFOutputFormat ff_kvag_muxer;
extern const AVInputFormat ff_laf_demuxer;
extern const AVOutputFormat ff_latm_muxer;
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 AVOutputFormat ff_lrc_muxer;
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 AVOutputFormat ff_m4v_muxer;
extern const FFOutputFormat ff_m4v_muxer;
extern const AVInputFormat ff_mca_demuxer;
extern const AVInputFormat ff_mcc_demuxer;
extern const AVOutputFormat ff_md5_muxer;
extern const FFOutputFormat ff_md5_muxer;
extern const AVInputFormat ff_matroska_demuxer;
extern const AVOutputFormat ff_matroska_muxer;
extern const AVOutputFormat ff_matroska_audio_muxer;
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 AVOutputFormat ff_microdvd_muxer;
extern const FFOutputFormat ff_microdvd_muxer;
extern const AVInputFormat ff_mjpeg_demuxer;
extern const AVOutputFormat ff_mjpeg_muxer;
extern const FFOutputFormat ff_mjpeg_muxer;
extern const AVInputFormat ff_mjpeg_2000_demuxer;
extern const AVInputFormat ff_mlp_demuxer;
extern const AVOutputFormat ff_mlp_muxer;
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 AVOutputFormat ff_mmf_muxer;
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 AVOutputFormat ff_mov_muxer;
extern const AVOutputFormat ff_mp2_muxer;
extern const FFOutputFormat ff_mov_muxer;
extern const FFOutputFormat ff_mp2_muxer;
extern const AVInputFormat ff_mp3_demuxer;
extern const AVOutputFormat ff_mp3_muxer;
extern const AVOutputFormat ff_mp4_muxer;
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 AVOutputFormat ff_mpeg1system_muxer;
extern const AVOutputFormat ff_mpeg1vcd_muxer;
extern const AVOutputFormat ff_mpeg1video_muxer;
extern const AVOutputFormat ff_mpeg2dvd_muxer;
extern const AVOutputFormat ff_mpeg2svcd_muxer;
extern const AVOutputFormat ff_mpeg2video_muxer;
extern const AVOutputFormat ff_mpeg2vob_muxer;
extern const FFOutputFormat ff_mpeg1system_muxer;
extern const FFOutputFormat ff_mpeg1vcd_muxer;
extern const FFOutputFormat ff_mpeg1video_muxer;
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 AVOutputFormat ff_mpegts_muxer;
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 AVOutputFormat ff_mpjpeg_muxer;
extern const FFOutputFormat ff_mpjpeg_muxer;
extern const AVInputFormat ff_mpl2_demuxer;
extern const AVInputFormat ff_mpsub_demuxer;
extern const AVInputFormat ff_msf_demuxer;
@ -304,114 +305,114 @@ 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 AVOutputFormat ff_mxf_muxer;
extern const AVOutputFormat ff_mxf_d10_muxer;
extern const AVOutputFormat ff_mxf_opatom_muxer;
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 AVOutputFormat ff_null_muxer;
extern const FFOutputFormat ff_null_muxer;
extern const AVInputFormat ff_nut_demuxer;
extern const AVOutputFormat ff_nut_muxer;
extern const FFOutputFormat ff_nut_muxer;
extern const AVInputFormat ff_nuv_demuxer;
extern const AVInputFormat ff_obu_demuxer;
extern const AVOutputFormat ff_obu_muxer;
extern const AVOutputFormat ff_oga_muxer;
extern const FFOutputFormat ff_obu_muxer;
extern const FFOutputFormat ff_oga_muxer;
extern const AVInputFormat ff_ogg_demuxer;
extern const AVOutputFormat ff_ogg_muxer;
extern const AVOutputFormat ff_ogv_muxer;
extern const FFOutputFormat ff_ogg_muxer;
extern const FFOutputFormat ff_ogv_muxer;
extern const AVInputFormat ff_oma_demuxer;
extern const AVOutputFormat ff_oma_muxer;
extern const AVOutputFormat ff_opus_muxer;
extern const FFOutputFormat ff_oma_muxer;
extern const FFOutputFormat ff_opus_muxer;
extern const AVInputFormat ff_paf_demuxer;
extern const AVInputFormat ff_pcm_alaw_demuxer;
extern const AVOutputFormat ff_pcm_alaw_muxer;
extern const FFOutputFormat ff_pcm_alaw_muxer;
extern const AVInputFormat ff_pcm_mulaw_demuxer;
extern const AVOutputFormat ff_pcm_mulaw_muxer;
extern const FFOutputFormat ff_pcm_mulaw_muxer;
extern const AVInputFormat ff_pcm_vidc_demuxer;
extern const AVOutputFormat ff_pcm_vidc_muxer;
extern const FFOutputFormat ff_pcm_vidc_muxer;
extern const AVInputFormat ff_pcm_f64be_demuxer;
extern const AVOutputFormat ff_pcm_f64be_muxer;
extern const FFOutputFormat ff_pcm_f64be_muxer;
extern const AVInputFormat ff_pcm_f64le_demuxer;
extern const AVOutputFormat ff_pcm_f64le_muxer;
extern const FFOutputFormat ff_pcm_f64le_muxer;
extern const AVInputFormat ff_pcm_f32be_demuxer;
extern const AVOutputFormat ff_pcm_f32be_muxer;
extern const FFOutputFormat ff_pcm_f32be_muxer;
extern const AVInputFormat ff_pcm_f32le_demuxer;
extern const AVOutputFormat ff_pcm_f32le_muxer;
extern const FFOutputFormat ff_pcm_f32le_muxer;
extern const AVInputFormat ff_pcm_s32be_demuxer;
extern const AVOutputFormat ff_pcm_s32be_muxer;
extern const FFOutputFormat ff_pcm_s32be_muxer;
extern const AVInputFormat ff_pcm_s32le_demuxer;
extern const AVOutputFormat ff_pcm_s32le_muxer;
extern const FFOutputFormat ff_pcm_s32le_muxer;
extern const AVInputFormat ff_pcm_s24be_demuxer;
extern const AVOutputFormat ff_pcm_s24be_muxer;
extern const FFOutputFormat ff_pcm_s24be_muxer;
extern const AVInputFormat ff_pcm_s24le_demuxer;
extern const AVOutputFormat ff_pcm_s24le_muxer;
extern const FFOutputFormat ff_pcm_s24le_muxer;
extern const AVInputFormat ff_pcm_s16be_demuxer;
extern const AVOutputFormat ff_pcm_s16be_muxer;
extern const FFOutputFormat ff_pcm_s16be_muxer;
extern const AVInputFormat ff_pcm_s16le_demuxer;
extern const AVOutputFormat ff_pcm_s16le_muxer;
extern const FFOutputFormat ff_pcm_s16le_muxer;
extern const AVInputFormat ff_pcm_s8_demuxer;
extern const AVOutputFormat ff_pcm_s8_muxer;
extern const FFOutputFormat ff_pcm_s8_muxer;
extern const AVInputFormat ff_pcm_u32be_demuxer;
extern const AVOutputFormat ff_pcm_u32be_muxer;
extern const FFOutputFormat ff_pcm_u32be_muxer;
extern const AVInputFormat ff_pcm_u32le_demuxer;
extern const AVOutputFormat ff_pcm_u32le_muxer;
extern const FFOutputFormat ff_pcm_u32le_muxer;
extern const AVInputFormat ff_pcm_u24be_demuxer;
extern const AVOutputFormat ff_pcm_u24be_muxer;
extern const FFOutputFormat ff_pcm_u24be_muxer;
extern const AVInputFormat ff_pcm_u24le_demuxer;
extern const AVOutputFormat ff_pcm_u24le_muxer;
extern const FFOutputFormat ff_pcm_u24le_muxer;
extern const AVInputFormat ff_pcm_u16be_demuxer;
extern const AVOutputFormat ff_pcm_u16be_muxer;
extern const FFOutputFormat ff_pcm_u16be_muxer;
extern const AVInputFormat ff_pcm_u16le_demuxer;
extern const AVOutputFormat ff_pcm_u16le_muxer;
extern const FFOutputFormat ff_pcm_u16le_muxer;
extern const AVInputFormat ff_pcm_u8_demuxer;
extern const AVOutputFormat ff_pcm_u8_muxer;
extern const FFOutputFormat ff_pcm_u8_muxer;
extern const AVInputFormat ff_pjs_demuxer;
extern const AVInputFormat ff_pmp_demuxer;
extern const AVInputFormat ff_pp_bnk_demuxer;
extern const AVOutputFormat ff_psp_muxer;
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_r3d_demuxer;
extern const AVInputFormat ff_rawvideo_demuxer;
extern const AVOutputFormat ff_rawvideo_muxer;
extern const FFOutputFormat ff_rawvideo_muxer;
extern const AVInputFormat ff_realtext_demuxer;
extern const AVInputFormat ff_redspark_demuxer;
extern const AVInputFormat ff_rl2_demuxer;
extern const AVInputFormat ff_rm_demuxer;
extern const AVOutputFormat ff_rm_muxer;
extern const FFOutputFormat ff_rm_muxer;
extern const AVInputFormat ff_roq_demuxer;
extern const AVOutputFormat ff_roq_muxer;
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 AVOutputFormat ff_rso_muxer;
extern const FFOutputFormat ff_rso_muxer;
extern const AVInputFormat ff_rtp_demuxer;
extern const AVOutputFormat ff_rtp_muxer;
extern const AVOutputFormat ff_rtp_mpegts_muxer;
extern const FFOutputFormat ff_rtp_muxer;
extern const FFOutputFormat ff_rtp_mpegts_muxer;
extern const AVInputFormat ff_rtsp_demuxer;
extern const AVOutputFormat ff_rtsp_muxer;
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 AVOutputFormat ff_sap_muxer;
extern const FFOutputFormat ff_sap_muxer;
extern const AVInputFormat ff_sbc_demuxer;
extern const AVOutputFormat ff_sbc_muxer;
extern const FFOutputFormat ff_sbc_muxer;
extern const AVInputFormat ff_sbg_demuxer;
extern const AVInputFormat ff_scc_demuxer;
extern const AVOutputFormat ff_scc_muxer;
extern const FFOutputFormat ff_scc_muxer;
extern const AVInputFormat ff_scd_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 AVOutputFormat ff_segafilm_muxer;
extern const AVOutputFormat ff_segment_muxer;
extern const AVOutputFormat ff_stream_segment_muxer;
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;
@ -420,86 +421,86 @@ 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 AVOutputFormat ff_smjpeg_muxer;
extern const AVOutputFormat ff_smoothstreaming_muxer;
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 AVOutputFormat ff_sox_muxer;
extern const AVOutputFormat ff_spx_muxer;
extern const FFOutputFormat ff_sox_muxer;
extern const FFOutputFormat ff_spx_muxer;
extern const AVInputFormat ff_spdif_demuxer;
extern const AVOutputFormat ff_spdif_muxer;
extern const FFOutputFormat ff_spdif_muxer;
extern const AVInputFormat ff_srt_demuxer;
extern const AVOutputFormat ff_srt_muxer;
extern const FFOutputFormat ff_srt_muxer;
extern const AVInputFormat ff_str_demuxer;
extern const AVInputFormat ff_stl_demuxer;
extern const AVOutputFormat ff_streamhash_muxer;
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 AVOutputFormat ff_sup_muxer;
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 AVOutputFormat ff_swf_muxer;
extern const FFOutputFormat ff_swf_muxer;
extern const AVInputFormat ff_tak_demuxer;
extern const AVOutputFormat ff_tee_muxer;
extern const FFOutputFormat ff_tee_muxer;
extern const AVInputFormat ff_tedcaptions_demuxer;
extern const AVOutputFormat ff_tg2_muxer;
extern const AVOutputFormat ff_tgp_muxer;
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 AVOutputFormat ff_mkvtimestamp_v2_muxer;
extern const FFOutputFormat ff_mkvtimestamp_v2_muxer;
extern const AVInputFormat ff_tmv_demuxer;
extern const AVInputFormat ff_truehd_demuxer;
extern const AVOutputFormat ff_truehd_muxer;
extern const FFOutputFormat ff_truehd_muxer;
extern const AVInputFormat ff_tta_demuxer;
extern const AVOutputFormat ff_tta_muxer;
extern const AVOutputFormat ff_ttml_muxer;
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 AVOutputFormat ff_uncodedframecrc_muxer;
extern const FFOutputFormat ff_uncodedframecrc_muxer;
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 AVOutputFormat ff_vc1_muxer;
extern const FFOutputFormat ff_vc1_muxer;
extern const AVInputFormat ff_vc1t_demuxer;
extern const AVOutputFormat ff_vc1t_muxer;
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 AVOutputFormat ff_voc_muxer;
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_w64_demuxer;
extern const AVOutputFormat ff_w64_muxer;
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 AVOutputFormat ff_wav_muxer;
extern const FFOutputFormat ff_wav_muxer;
extern const AVInputFormat ff_wc3_demuxer;
extern const AVOutputFormat ff_webm_muxer;
extern const FFOutputFormat ff_webm_muxer;
extern const AVInputFormat ff_webm_dash_manifest_demuxer;
extern const AVOutputFormat ff_webm_dash_manifest_muxer;
extern const AVOutputFormat ff_webm_chunk_muxer;
extern const AVOutputFormat ff_webp_muxer;
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 AVOutputFormat ff_webvtt_muxer;
extern const FFOutputFormat ff_webvtt_muxer;
extern const AVInputFormat ff_wsaud_demuxer;
extern const AVOutputFormat ff_wsaud_muxer;
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 AVOutputFormat ff_wtv_muxer;
extern const FFOutputFormat ff_wtv_muxer;
extern const AVInputFormat ff_wve_demuxer;
extern const AVInputFormat ff_wv_demuxer;
extern const AVOutputFormat ff_wv_muxer;
extern const FFOutputFormat ff_wv_muxer;
extern const AVInputFormat ff_xa_demuxer;
extern const AVInputFormat ff_xbin_demuxer;
extern const AVInputFormat ff_xmd_demuxer;
@ -508,7 +509,7 @@ 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 AVOutputFormat ff_yuv4mpegpipe_muxer;
extern const FFOutputFormat ff_yuv4mpegpipe_muxer;
/* image demuxers */
extern const AVInputFormat ff_image_bmp_pipe_demuxer;
extern const AVInputFormat ff_image_cri_pipe_demuxer;
@ -548,7 +549,7 @@ extern const AVInputFormat ff_image_xpm_pipe_demuxer;
extern const AVInputFormat ff_image_xwd_pipe_demuxer;
/* external libraries */
extern const AVOutputFormat ff_chromaprint_muxer;
extern const FFOutputFormat ff_chromaprint_muxer;
extern const AVInputFormat ff_libgme_demuxer;
extern const AVInputFormat ff_libmodplug_demuxer;