From 289a6bb8b11822aaea1b174d5d938a081e19a084 Mon Sep 17 00:00:00 2001 From: Philip Langdale Date: Sat, 3 Sep 2016 12:52:52 -0700 Subject: cuvid: Pass bit depth information to decoder Although cuvid can only output 8bit, it can consume HEVC Main10 if the bit depth is set properly. In cases where >8bit is not supported, this change is still beneficial as the decoder will fail to be created instead of plowing throw and decoding as 8bit. --- libavcodec/cuvid.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libavcodec/cuvid.c') diff --git a/libavcodec/cuvid.c b/libavcodec/cuvid.c index 2570848d0f..ddf8b72efe 100644 --- a/libavcodec/cuvid.c +++ b/libavcodec/cuvid.c @@ -181,6 +181,7 @@ static int CUDAAPI cuvid_handle_video_sequence(void *opaque, CUVIDEOFORMAT* form cuinfo.ulNumDecodeSurfaces = MAX_FRAME_COUNT; cuinfo.ulNumOutputSurfaces = 1; cuinfo.ulCreationFlags = cudaVideoCreate_PreferCUVID; + cuinfo.bitDepthMinus8 = format->bit_depth_luma_minus8; if (format->progressive_sequence) { ctx->deint_mode = cuinfo.DeinterlaceMode = cudaVideoDeinterlaceMode_Weave; @@ -573,6 +574,7 @@ static int cuvid_test_dummy_decoder(AVCodecContext *avctx, CUVIDPARSERPARAMS *cu cuinfo.ulNumDecodeSurfaces = MAX_FRAME_COUNT; cuinfo.ulNumOutputSurfaces = 1; cuinfo.ulCreationFlags = cudaVideoCreate_PreferCUVID; + cuinfo.bitDepthMinus8 = 0; cuinfo.DeinterlaceMode = cudaVideoDeinterlaceMode_Weave; -- cgit v1.2.1