[SCM] libav/experimental: libx265: Only use one memcpy for headers

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Aug 10 16:02:24 UTC 2014


The following commit has been merged in the experimental branch:
commit 21a561176e5ed44208a4438a1b0c28a91dd6f4b6
Author: Derek Buitenhuis <derek.buitenhuis at gmail.com>
Date:   Sun Mar 23 14:31:06 2014 +0000

    libx265: Only use one memcpy for headers
    
    They're guaranteed by the x265 API to be contiguous in memory.
    
    Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>

diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
index b779c37..b124070 100644
--- a/libavcodec/libx265.c
+++ b/libavcodec/libx265.c
@@ -80,7 +80,6 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
 {
     libx265Context *ctx = avctx->priv_data;
     x265_nal *nal;
-    uint8_t *buf;
     int sar_num, sar_den;
     int nnal;
     int ret;
@@ -198,11 +197,7 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
         return AVERROR(ENOMEM);
     }
 
-    buf = ctx->header;
-    for (i = 0; i < nnal; i++) {
-        memcpy(buf, nal[i].payload, nal[i].sizeBytes);
-        buf += nal[i].sizeBytes;
-    }
+    memcpy(ctx->header, nal[0].payload, ctx->header_size);
 
     if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER) {
         avctx->extradata_size = ctx->header_size;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list