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

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,