aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLimin Wang <lance.lmwang@gmail.com>2021-10-14 19:47:32 +0800
committerLimin Wang <lance.lmwang@gmail.com>2021-10-28 09:25:31 +0800
commitc0edfb514bbadd9ce525ed7e1b7ae1cdd65e0df8 (patch)
treeaf2565c7f60b6bae6ead15102f6cd2f39a89c1a1
parent3c3ef41593821aa8386e4467fb0397e16c928d29 (diff)
downloadffmpeg-c0edfb514bbadd9ce525ed7e1b7ae1cdd65e0df8.tar.gz
avformat/movenc: support dvwC box for Dolby Vision
By <<Dolby Vision Streams Within the ISO Base Media File Format Version 2.2>> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
-rw-r--r--libavformat/movenc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index d43a086f4b..37d4403f7a 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -1912,7 +1912,9 @@ static int mov_write_sv3d_tag(AVFormatContext *s, AVIOContext *pb, AVSphericalMa
static int mov_write_dvcc_dvvc_tag(AVFormatContext *s, AVIOContext *pb, AVDOVIDecoderConfigurationRecord *dovi)
{
avio_wb32(pb, 32); /* size = 8 + 24 */
- if (dovi->dv_profile > 7)
+ if (dovi->dv_profile > 10)
+ ffio_wfourcc(pb, "dvwC");
+ else if (dovi->dv_profile > 7)
ffio_wfourcc(pb, "dvvC");
else
ffio_wfourcc(pb, "dvcC");
@@ -1926,7 +1928,7 @@ static int mov_write_dvcc_dvvc_tag(AVFormatContext *s, AVIOContext *pb, AVDOVIDe
ffio_fill(pb, 0, 4 * 4); /* reserved */
av_log(s, AV_LOG_DEBUG, "DOVI in %s box, version: %d.%d, profile: %d, level: %d, "
"rpu flag: %d, el flag: %d, bl flag: %d, compatibility id: %d\n",
- dovi->dv_profile > 7 ? "dvvC" : "dvcC",
+ dovi->dv_profile > 10 ? "dvwC" : (dovi->dv_profile > 7 ? "dvvC" : "dvcC"),
dovi->dv_version_major, dovi->dv_version_minor,
dovi->dv_profile, dovi->dv_level,
dovi->rpu_present_flag,