diff --git a/libavcodec/dovi_rpudec.c b/libavcodec/dovi_rpudec.c index 3b71965545..ed691fd149 100644 --- a/libavcodec/dovi_rpudec.c +++ b/libavcodec/dovi_rpudec.c @@ -188,8 +188,7 @@ static int parse_ext_v1(DOVIContext *s, GetBitContext *gb, AVDOVIDmData *dm) dm->l255.dm_debug[i] = get_bits(gb, 8); break; default: - av_log(s->logctx, AV_LOG_WARNING, - "Unknown Dolby Vision DM v1 level: %u\n", dm->level); + avpriv_request_sample(s->logctx, "Dolby Vision DM v1 level %u", dm->level); } return 0; @@ -274,8 +273,7 @@ static int parse_ext_v2(DOVIContext *s, GetBitContext *gb, AVDOVIDmData *dm, dm->l254.dm_version_index = get_bits(gb, 8); break; default: - av_log(s->logctx, AV_LOG_WARNING, - "Unknown Dolby Vision DM v2 level: %u\n", dm->level); + avpriv_request_sample(s->logctx, "Dolby Vision DM v2 level %u", dm->level); } return 0; @@ -328,12 +326,15 @@ static int parse_ext_blocks(DOVIContext *s, GetBitContext *gb, int ver, switch (ver) { case 1: ret = parse_ext_v1(s, gb, dm); break; case 2: ret = parse_ext_v2(s, gb, dm, ext_block_length); break; - default: return AVERROR_BUG; + default: + avpriv_request_sample(s->logctx, "Dolby Vision DM v%d", ver); + goto skip; } if (ret < 0) return ret; +skip: parsed_bits = get_bits_count(gb) - start_pos; if (parsed_bits > ext_block_length * 8) return AVERROR_INVALIDDATA;