summaryrefslogtreecommitdiff
path: root/libavformat/demux.c
diff options
context:
space:
mode:
authorThomas Siedel <thomas.ff@spin-digital.com>2023-03-21 16:01:19 +0100
committerJames Almer <jamrial@gmail.com>2023-06-29 14:12:50 -0300
commitac2b25f4e5ad0f03cf2a17c82defe2b1ba7a02b1 (patch)
tree6319fdf6319577d28f9133a50b07bb88e135a9c1 /libavformat/demux.c
parent86796f1f0ef7d18395943f4cf5b3afbac87e4d65 (diff)
avformat: add demuxer and probe support for H266/VVC
Add demuxer to probe raw vvc and parse vvcc byte stream format. Co-authored-by: Nuo Mi <nuomi2021@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/demux.c')
-rw-r--r--libavformat/demux.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/demux.c b/libavformat/demux.c
index 1b21b8440c..1ef297d5e7 100644
--- a/libavformat/demux.c
+++ b/libavformat/demux.c
@@ -121,6 +121,7 @@ static int set_codec_from_probe_data(AVFormatContext *s, AVStream *st,
{ "mpegvideo", AV_CODEC_ID_MPEG2VIDEO, AVMEDIA_TYPE_VIDEO },
{ "truehd", AV_CODEC_ID_TRUEHD, AVMEDIA_TYPE_AUDIO },
{ "evc", AV_CODEC_ID_EVC, AVMEDIA_TYPE_VIDEO },
+ { "vvc", AV_CODEC_ID_VVC, AVMEDIA_TYPE_VIDEO },
{ 0 }
};
int score;
@@ -753,7 +754,8 @@ static int64_t select_from_pts_buffer(AVStream *st, int64_t *pts_buffer, int64_t
{
FFStream *const sti = ffstream(st);
int onein_oneout = st->codecpar->codec_id != AV_CODEC_ID_H264 &&
- st->codecpar->codec_id != AV_CODEC_ID_HEVC;
+ st->codecpar->codec_id != AV_CODEC_ID_HEVC &&
+ st->codecpar->codec_id != AV_CODEC_ID_VVC;
if (!onein_oneout) {
int delay = sti->avctx->has_b_frames;
@@ -943,7 +945,8 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
int64_t offset;
AVRational duration;
int onein_oneout = st->codecpar->codec_id != AV_CODEC_ID_H264 &&
- st->codecpar->codec_id != AV_CODEC_ID_HEVC;
+ st->codecpar->codec_id != AV_CODEC_ID_HEVC &&
+ st->codecpar->codec_id != AV_CODEC_ID_VVC;
if (s->flags & AVFMT_FLAG_NOFILLIN)
return;