diff options
author | gnattu via ffmpeg-devel <ffmpeg-devel@ffmpeg.org> | 2024-10-15 17:41:35 +0800 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2024-11-28 14:15:50 +0100 |
commit | 248832dd5b799a95bcb1beb4d65a9ad5071a06a8 (patch) | |
tree | 382cd4b99b44259a31f391ae819e9e80915ed4ef | |
parent | bc991ca048b6c5d931d705bb900b0a165233bfdd (diff) | |
download | ffmpeg-248832dd5b799a95bcb1beb4d65a9ad5071a06a8.tar.gz |
avcodec/bsf/dovi_rpu: remove EL when stripping dovi metadata
When RPU is removed EL should also be removed. This only applies to
HEVC as AV1 based Profile 10 does not support EL at all.
Signed-off-by: Gnattu OC <gnattuoc@me.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r-- | libavcodec/bsf/dovi_rpu.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/bsf/dovi_rpu.c b/libavcodec/bsf/dovi_rpu.c index ae04d16360..5dccd4bc7e 100644 --- a/libavcodec/bsf/dovi_rpu.c +++ b/libavcodec/bsf/dovi_rpu.c @@ -84,7 +84,8 @@ static int dovi_rpu_update_fragment_hevc(AVBSFContext *bsf, AVPacket *pkt, uint8_t *rpu = NULL; int rpu_size, ret; - if (!nal || nal->type != HEVC_NAL_UNSPEC62) + // HEVC_NAL_UNSPEC62 is Dolby Vision PRU and HEVC_NAL_UNSPEC63 is Dolby Vision EL + if (!nal || (nal->type != HEVC_NAL_UNSPEC62 && nal->type != HEVC_NAL_UNSPEC63)) return 0; if (s->strip) { @@ -92,6 +93,9 @@ static int dovi_rpu_update_fragment_hevc(AVBSFContext *bsf, AVPacket *pkt, return 0; } + if (nal->type == HEVC_NAL_UNSPEC63) + return 0; + ret = update_rpu(bsf, pkt, 0, nal->data + 2, nal->data_size - 2, &rpu, &rpu_size); if (ret < 0) return ret; |