mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 04:26:37 +08:00 
			
		
		
		
	avcodec/dnxhddec: Disable 12bit by default
The DC VLC table used is too small, fixing this requires a sample, thus request a sample. Some samples are said to work even though the table has the wrong size, thus this is left enabled if the user enables experimental features. Fixes: 2abd25478c62a675f335fac00b467023/asan_static-oob_10aff98_1227_8811480c6ef1e970a7977ceb7e5a9958.mxf Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Approved-by: kurosu Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
		| @@ -118,6 +118,11 @@ static int dnxhd_init_vlc(DNXHDContext *ctx, uint32_t cid, int bitdepth) | |||||||
|             av_log(ctx->avctx, AV_LOG_ERROR, "bit depth mismatches %d %d\n", ff_dnxhd_cid_table[index].bit_depth, bitdepth); |             av_log(ctx->avctx, AV_LOG_ERROR, "bit depth mismatches %d %d\n", ff_dnxhd_cid_table[index].bit_depth, bitdepth); | ||||||
|             return AVERROR_INVALIDDATA; |             return AVERROR_INVALIDDATA; | ||||||
|         } |         } | ||||||
|  |         if (bitdepth > 10) { | ||||||
|  |             avpriv_request_sample(ctx->avctx, "DNXHR 12-bit"); | ||||||
|  |             if (ctx->avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) | ||||||
|  |                 return AVERROR_PATCHWELCOME; | ||||||
|  |         } | ||||||
|         ctx->cid_table = &ff_dnxhd_cid_table[index]; |         ctx->cid_table = &ff_dnxhd_cid_table[index]; | ||||||
|         av_log(ctx->avctx, AV_LOG_VERBOSE, "Profile cid %d.\n", cid); |         av_log(ctx->avctx, AV_LOG_VERBOSE, "Profile cid %d.\n", cid); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Niedermayer
					Michael Niedermayer