1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-04 22:03:09 +02:00

avcodec/cuviddec: also reflect new pix_fmts in cuvid_handle_video_sequence

This commit is contained in:
Timo Rothenpieler
2025-07-26 14:42:05 +02:00
parent 2513f3d604
commit a56da996ce

View File

@ -191,10 +191,18 @@ static int CUDAAPI cuvid_handle_video_sequence(void *opaque, CUVIDEOFORMAT* form
break; break;
case 2: // 10-bit case 2: // 10-bit
if (chroma_444) { if (chroma_444) {
#if FF_API_NVDEC_OLD_PIX_FMTS
pix_fmts[1] = AV_PIX_FMT_YUV444P16; pix_fmts[1] = AV_PIX_FMT_YUV444P16;
#else
pix_fmts[1] = AV_PIX_FMT_YUV444P10MSB;
#endif
#ifdef NVDEC_HAVE_422_SUPPORT #ifdef NVDEC_HAVE_422_SUPPORT
} else if (format->chroma_format == cudaVideoChromaFormat_422) { } else if (format->chroma_format == cudaVideoChromaFormat_422) {
pix_fmts[1] = AV_PIX_FMT_P216LE; #if FF_API_NVDEC_OLD_PIX_FMTS
pix_fmts[1] = AV_PIX_FMT_P216;
#else
pix_fmts[1] = AV_PIX_FMT_P210;
#endif
#endif #endif
} else { } else {
pix_fmts[1] = AV_PIX_FMT_P016; pix_fmts[1] = AV_PIX_FMT_P016;
@ -203,13 +211,25 @@ static int CUDAAPI cuvid_handle_video_sequence(void *opaque, CUVIDEOFORMAT* form
break; break;
case 4: // 12-bit case 4: // 12-bit
if (chroma_444) { if (chroma_444) {
#if FF_API_NVDEC_OLD_PIX_FMTS
pix_fmts[1] = AV_PIX_FMT_YUV444P16; pix_fmts[1] = AV_PIX_FMT_YUV444P16;
#else
pix_fmts[1] = AV_PIX_FMT_YUV444P12MSB;
#endif
#ifdef NVDEC_HAVE_422_SUPPORT #ifdef NVDEC_HAVE_422_SUPPORT
} else if (format->chroma_format == cudaVideoChromaFormat_422) { } else if (format->chroma_format == cudaVideoChromaFormat_422) {
pix_fmts[1] = AV_PIX_FMT_P216LE; #if FF_API_NVDEC_OLD_PIX_FMTS
pix_fmts[1] = AV_PIX_FMT_P216;
#else
pix_fmts[1] = AV_PIX_FMT_P212;
#endif
#endif #endif
} else { } else {
#if FF_API_NVDEC_OLD_PIX_FMTS
pix_fmts[1] = AV_PIX_FMT_P016; pix_fmts[1] = AV_PIX_FMT_P016;
#else
pix_fmts[1] = AV_PIX_FMT_P012;
#endif
} }
caps = &ctx->caps12; caps = &ctx->caps12;
break; break;