diff options
author | Yogender Gupta <ygupta@nvidia.com> | 2017-07-18 16:35:53 +0530 |
---|---|---|
committer | Philip Langdale <philipl@overt.org> | 2017-08-03 15:25:35 -0700 |
commit | 3407d8118c7236c94dc0eddabc82041e5c130201 (patch) | |
tree | 5d963be1d107db15596135ea41de8a5d2ac9dd01 /libavutil | |
parent | 2e8679373ab628a19885645ed5e1271be7797600 (diff) | |
download | ffmpeg-streaming-3407d8118c7236c94dc0eddabc82041e5c130201.zip ffmpeg-streaming-3407d8118c7236c94dc0eddabc82041e5c130201.tar.gz |
hwcontext_cuda : Support YUV444P16 format
Signed-off-by: Philip Langdale <philipl@overt.org>
Diffstat (limited to 'libavutil')
-rw-r--r-- | libavutil/hwcontext_cuda.c | 8 | ||||
-rw-r--r-- | libavutil/version.h | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libavutil/hwcontext_cuda.c b/libavutil/hwcontext_cuda.c index ed595c3..dfb67bc 100644 --- a/libavutil/hwcontext_cuda.c +++ b/libavutil/hwcontext_cuda.c @@ -37,6 +37,7 @@ static const enum AVPixelFormat supported_formats[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_P010, AV_PIX_FMT_P016, + AV_PIX_FMT_YUV444P16, }; static int cuda_frames_get_constraints(AVHWDeviceContext *ctx, @@ -142,6 +143,9 @@ static int cuda_frames_init(AVHWFramesContext *ctx) case AV_PIX_FMT_P016: size = aligned_width * ctx->height * 3; break; + case AV_PIX_FMT_YUV444P16: + size = aligned_width * ctx->height * 6; + break; default: av_log(ctx, AV_LOG_ERROR, "BUG: Pixel format missing from size calculation."); return AVERROR_BUG; @@ -161,7 +165,8 @@ static int cuda_get_buffer(AVHWFramesContext *ctx, AVFrame *frame) int width_in_bytes = ctx->width; if (ctx->sw_format == AV_PIX_FMT_P010 || - ctx->sw_format == AV_PIX_FMT_P016) { + ctx->sw_format == AV_PIX_FMT_P016 || + ctx->sw_format == AV_PIX_FMT_YUV444P16) { width_in_bytes *= 2; } aligned_width = FFALIGN(width_in_bytes, CUDA_FRAME_ALIGNMENT); @@ -188,6 +193,7 @@ static int cuda_get_buffer(AVHWFramesContext *ctx, AVFrame *frame) frame->linesize[2] = aligned_width / 2; break; case AV_PIX_FMT_YUV444P: + case AV_PIX_FMT_YUV444P16: frame->data[0] = frame->buf[0]->data; frame->data[1] = frame->data[0] + aligned_width * ctx->height; frame->data[2] = frame->data[1] + aligned_width * ctx->height; diff --git a/libavutil/version.h b/libavutil/version.h index 35987e7..3dad41f 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -81,7 +81,7 @@ #define LIBAVUTIL_VERSION_MAJOR 55 #define LIBAVUTIL_VERSION_MINOR 69 -#define LIBAVUTIL_VERSION_MICRO 100 +#define LIBAVUTIL_VERSION_MICRO 101 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \ |