summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTong Wu <[email protected]>2023-12-05 14:46:51 +0800
committerHaihao Xiang <[email protected]>2023-12-21 16:15:23 +0800
commit6d5fbea2895b3cabd9edf7059a19f9b799e0e2a2 (patch)
treed8989342fb9c6b7442e5e512cb95445078e17bed
parent8482834209e914fd88e97e6343ddca395c1c8f0b (diff)
avcodec/d3d12va_hevc: enable allow_profile_mismatch flag for d3d12va msp profile
Same as d3d11va, this flag enables main still picture profile for d3d12va. User should add this flag when decoding main still picture profile. Signed-off-by: Tong Wu <[email protected]>
-rw-r--r--libavcodec/d3d12va_hevc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libavcodec/d3d12va_hevc.c b/libavcodec/d3d12va_hevc.c
index 6537e46065..7e0c295a2d 100644
--- a/libavcodec/d3d12va_hevc.c
+++ b/libavcodec/d3d12va_hevc.c
@@ -176,8 +176,13 @@ static int d3d12va_hevc_decode_init(AVCodecContext *avctx)
break;
case FF_PROFILE_HEVC_MAIN_STILL_PICTURE:
- av_log(avctx, AV_LOG_ERROR, "D3D12 doesn't support PROFILE_HEVC_MAIN_STILL_PICTURE!\n");
- return AVERROR(EINVAL);
+ if (avctx->hwaccel_flags & AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH) {
+ ctx->cfg.DecodeProfile = D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN;
+ break;
+ } else {
+ av_log(avctx, AV_LOG_ERROR, "D3D12 doesn't support PROFILE_HEVC_MAIN_STILL_PICTURE!\n");
+ return AVERROR(EINVAL);
+ }
case FF_PROFILE_HEVC_MAIN:
default: