ffmpeg | branch: release/4.2 | Timo Rothenpieler <t...@rothenpieler.org> | Thu 
Oct  1 20:20:48 2020 +0200| [c9f3835b2b4d2f50a20113caa0a2d23107fe3f89] | 
committer: Timo Rothenpieler

avcodec/cuviddec: backport extradata fixes

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c9f3835b2b4d2f50a20113caa0a2d23107fe3f89
---

 libavcodec/cuviddec.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/libavcodec/cuviddec.c b/libavcodec/cuviddec.c
index bae3b4ca80..9e524822c3 100644
--- a/libavcodec/cuviddec.c
+++ b/libavcodec/cuviddec.c
@@ -826,7 +826,7 @@ static av_cold int cuvid_decode_init(AVCodecContext *avctx)
     CUcontext dummy;
     const AVBitStreamFilter *bsf;
     uint8_t *extradata;
-    uint32_t extradata_size;
+    int extradata_size;
     int ret = 0;
 
     enum AVPixelFormat pix_fmts[3] = { AV_PIX_FMT_CUDA,
@@ -996,20 +996,21 @@ static av_cold int cuvid_decode_init(AVCodecContext 
*avctx)
 
         extradata = ctx->bsf->par_out->extradata;
         extradata_size = ctx->bsf->par_out->extradata_size;
-    } else if (avctx->extradata_size > 0) {
+    } else {
         extradata = avctx->extradata;
         extradata_size = avctx->extradata_size;
     }
 
     ctx->cuparse_ext = av_mallocz(sizeof(*ctx->cuparse_ext)
-            + FFMAX(extradata_size - 
sizeof(ctx->cuparse_ext->raw_seqhdr_data), 0));
+            + FFMAX(extradata_size - 
(int)sizeof(ctx->cuparse_ext->raw_seqhdr_data), 0));
     if (!ctx->cuparse_ext) {
         ret = AVERROR(ENOMEM);
         goto error;
     }
 
-    ctx->cuparse_ext->format.seqhdr_data_length = avctx->extradata_size;
-    memcpy(ctx->cuparse_ext->raw_seqhdr_data, extradata, extradata_size);
+    if (extradata_size > 0)
+        memcpy(ctx->cuparse_ext->raw_seqhdr_data, extradata, extradata_size);
+    ctx->cuparse_ext->format.seqhdr_data_length = extradata_size;
 
     ctx->cuparseinfo.pExtVideoInfo = ctx->cuparse_ext;
 

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to