---
 libavcodec/nvdec.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/nvdec.c b/libavcodec/nvdec.c
index db338accfa..894112a144 100644
--- a/libavcodec/nvdec.c
+++ b/libavcodec/nvdec.c
@@ -232,8 +232,8 @@ int ff_nvdec_decode_init(AVCodecContext *avctx, unsigned 
int dpb_size)
         frames_ctx = (AVHWFramesContext*)avctx->hw_frames_ctx->data;
 
         frames_ctx->format            = AV_PIX_FMT_CUDA;
-        frames_ctx->width             = avctx->coded_width;
-        frames_ctx->height            = avctx->coded_height;
+        frames_ctx->width             = (avctx->width + 1) & ~1;
+        frames_ctx->height            = (avctx->height + 1) & ~1;
         frames_ctx->sw_format         = AV_PIX_FMT_NV12;
         frames_ctx->sw_format         = sw_desc->comp[0].depth > 8 ?
                                         AV_PIX_FMT_P010 : AV_PIX_FMT_NV12;
@@ -249,8 +249,9 @@ int ff_nvdec_decode_init(AVCodecContext *avctx, unsigned 
int dpb_size)
 
     params.ulWidth             = avctx->coded_width;
     params.ulHeight            = avctx->coded_height;
-    params.ulTargetWidth       = avctx->coded_width;
-    params.ulTargetHeight      = avctx->coded_height;
+    params.display_area.top    = params.display_area.left   = 0;
+    params.ulTargetWidth       = params.display_area.right  = 
frames_ctx->width;
+    params.ulTargetHeight      = params.display_area.bottom = 
frames_ctx->height;
     params.bitDepthMinus8      = sw_desc->comp[0].depth - 8;
     params.OutputFormat        = params.bitDepthMinus8 ?
                                  cudaVideoSurfaceFormat_P016 : 
cudaVideoSurfaceFormat_NV12;
-- 
2.14.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to