[SCM] libav/experimental: libx265: Update API usage

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Aug 10 16:01:37 UTC 2014


The following commit has been merged in the experimental branch:
commit d00a504b244e136a0c82a55e21ed94659e0674ad
Author: Derek Buitenhuis <derek.buitenhuis at gmail.com>
Date:   Fri Feb 21 11:26:40 2014 -0500

    libx265: Update API usage
    
    Framerate is now a sane rational instead of an integer, and
    inputDepth is changed to what it actually is.
    
    Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>

diff --git a/configure b/configure
index 53afde0..bd26c9a 100755
--- a/configure
+++ b/configure
@@ -3982,8 +3982,8 @@ enabled libx264           && require libx264 x264.h x264_encoder_encode -lx264 &
                              { check_cpp_condition x264.h "X264_BUILD >= 118" ||
                                die "ERROR: libx264 version must be >= 0.118."; }
 enabled libx265           && require_pkg_config x265 x265.h x265_encoder_encode &&
-                             { check_cpp_condition x265.h "X265_BUILD >= 5" ||
-                               die "ERROR: libx265 version must be >= 5."; }
+                             { check_cpp_condition x265.h "X265_BUILD >= 7" ||
+                               die "ERROR: libx265 version must be >= 7."; }
 enabled libxavs           && require libxavs xavs.h xavs_encoder_encode -lxavs
 enabled libxvid           && require libxvid xvid.h xvid_global -lxvidcore
 enabled openssl           && { check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto ||
diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
index 9f2d310..102e5fc 100644
--- a/libavcodec/libx265.c
+++ b/libavcodec/libx265.c
@@ -99,10 +99,15 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
     }
 
     ctx->params->frameNumThreads = avctx->thread_count;
-    ctx->params->frameRate       = (int) (avctx->time_base.den / avctx->time_base.num);
+    ctx->params->fpsNum          = avctx->time_base.den;
+    ctx->params->fpsDenom        = avctx->time_base.num * avctx->ticks_per_frame;
     ctx->params->sourceWidth     = avctx->width;
     ctx->params->sourceHeight    = avctx->height;
-    ctx->params->inputBitDepth   = av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1;
+
+    if (x265_max_bit_depth == 8)
+        ctx->params->internalBitDepth = 8;
+    else if (x265_max_bit_depth == 12)
+        ctx->params->internalBitDepth = 10;
 
     if (avctx->bit_rate > 0) {
         ctx->params->rc.bitrate         = avctx->bit_rate / 1000;
@@ -189,7 +194,8 @@ static int libx265_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
            x265pic.stride[i] = pic->linesize[i];
         }
 
-        x265pic.pts = pic->pts;
+        x265pic.pts      = pic->pts;
+        x265pic.bitDepth = av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1;
     }
 
     ret = x265_encoder_encode(ctx->encoder, &nal, &nnal,

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list