diff --git a/libavfilter/vf_scale_cuda.c b/libavfilter/vf_scale_cuda.c index edeecbb1c7..2a7dc300f5 100644 --- a/libavfilter/vf_scale_cuda.c +++ b/libavfilter/vf_scale_cuda.c @@ -57,11 +57,15 @@ static const struct format_entry supported_formats[] = { {AV_PIX_FMT_YUV420P10,"planar10"}, {AV_PIX_FMT_YUV422P10,"planar10"}, {AV_PIX_FMT_YUV444P10,"planar10"}, + {AV_PIX_FMT_YUV444P10MSB,"planar16"}, + {AV_PIX_FMT_YUV444P12MSB,"planar16"}, {AV_PIX_FMT_YUV444P16,"planar16"}, {AV_PIX_FMT_NV12, "semiplanar8"}, {AV_PIX_FMT_NV16, "semiplanar8"}, {AV_PIX_FMT_P010, "semiplanar10"}, {AV_PIX_FMT_P210, "semiplanar10"}, + {AV_PIX_FMT_P012, "semiplanar16"}, + {AV_PIX_FMT_P212, "semiplanar16"}, {AV_PIX_FMT_P016, "semiplanar16"}, {AV_PIX_FMT_P216, "semiplanar16"}, {AV_PIX_FMT_0RGB32, "bgr0"}, diff --git a/libavfilter/vf_thumbnail_cuda.c b/libavfilter/vf_thumbnail_cuda.c index 121274de11..95c46eefdb 100644 --- a/libavfilter/vf_thumbnail_cuda.c +++ b/libavfilter/vf_thumbnail_cuda.c @@ -44,7 +44,10 @@ static const enum AVPixelFormat supported_formats[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_P010, + AV_PIX_FMT_P012, AV_PIX_FMT_P016, + AV_PIX_FMT_YUV444P10MSB, + AV_PIX_FMT_YUV444P12MSB, AV_PIX_FMT_YUV444P16, }; @@ -226,12 +229,15 @@ static int thumbnail(AVFilterContext *ctx, int *histogram, AVFrame *in) histogram + 512, in->data[2], in->width, in->height, in->linesize[2], 1); break; case AV_PIX_FMT_P010LE: + case AV_PIX_FMT_P012LE: case AV_PIX_FMT_P016LE: thumbnail_kernel(ctx, s->cu_func_ushort, 1, histogram, in->data[0], in->width, in->height, in->linesize[0], 2); thumbnail_kernel(ctx, s->cu_func_ushort2, 2, histogram + 256, in->data[1], in->width / 2, in->height / 2, in->linesize[1], 2); break; + case AV_PIX_FMT_YUV444P10MSB: + case AV_PIX_FMT_YUV444P12MSB: case AV_PIX_FMT_YUV444P16: thumbnail_kernel(ctx, s->cu_func_ushort2, 1, histogram, in->data[0], in->width, in->height, in->linesize[0], 2); @@ -284,7 +290,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) return ret; if (hw_frames_ctx->sw_format == AV_PIX_FMT_NV12 || hw_frames_ctx->sw_format == AV_PIX_FMT_YUV420P || - hw_frames_ctx->sw_format == AV_PIX_FMT_P010LE || hw_frames_ctx->sw_format == AV_PIX_FMT_P016LE) + hw_frames_ctx->sw_format == AV_PIX_FMT_P010LE || hw_frames_ctx->sw_format == AV_PIX_FMT_P012LE || + hw_frames_ctx->sw_format == AV_PIX_FMT_P016LE) { int i; for (i = 256; i < HIST_SIZE; i++) diff --git a/libavfilter/vf_transpose_cuda.c b/libavfilter/vf_transpose_cuda.c index c34223f27c..d604135f63 100644 --- a/libavfilter/vf_transpose_cuda.c +++ b/libavfilter/vf_transpose_cuda.c @@ -47,11 +47,15 @@ static const enum AVPixelFormat supported_formats[] = { AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, + AV_PIX_FMT_YUV444P10MSB, + AV_PIX_FMT_YUV444P12MSB, AV_PIX_FMT_YUV444P16, AV_PIX_FMT_NV12, AV_PIX_FMT_NV16, AV_PIX_FMT_P010, AV_PIX_FMT_P210, + AV_PIX_FMT_P012, + AV_PIX_FMT_P212, AV_PIX_FMT_P016, AV_PIX_FMT_P216, AV_PIX_FMT_0RGB32,