[FFmpeg-cvslog] libx265: Use x265_param_parse to set the SAR

Derek Buitenhuis git at videolan.org
Fri Apr 11 23:06:39 CEST 2014


ffmpeg | branch: release/2.2 | Derek Buitenhuis <derek.buitenhuis at gmail.com> | Tue Apr  8 18:44:53 2014 +0100| [96e13c9897501d91f1e2d493eee93a4f897ea462] | committer: James Almer

libx265: Use x265_param_parse to set the SAR

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
(cherry picked from commit 8945dcbb52b6b87e1e6479912cce89c7da54ec43)

Conflicts:
	libavcodec/libx265.c

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

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

diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
index e03d72f..31b85de 100644
--- a/libavcodec/libx265.c
+++ b/libavcodec/libx265.c
@@ -81,6 +81,7 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
     libx265Context *ctx = avctx->priv_data;
     x265_nal *nal;
     uint8_t *buf;
+    char sar[10];
     int sar_num, sar_den;
     int nnal;
     int ret;
@@ -121,11 +122,11 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
     av_reduce(&sar_num, &sar_den,
               avctx->sample_aspect_ratio.num,
               avctx->sample_aspect_ratio.den, 4096);
-    ctx->params->bEnableVuiParametersPresentFlag = 1;
-    ctx->params->bEnableAspectRatioIdc           = 1;
-    ctx->params->aspectRatioIdc                  = 255;
-    ctx->params->sarWidth                        = sar_num;
-    ctx->params->sarHeight                       = sar_den;
+    snprintf(sar, sizeof(sar), "%d:%d", sar_num, sar_den);
+    if (x265_param_parse(ctx->params, "sar", sar) == X265_PARAM_BAD_VALUE) {
+        av_log(avctx, AV_LOG_ERROR, "Invalid SAR: %d:%d.\n", sar_num, sar_den);
+        return AVERROR_INVALIDDATA;
+    }
 
     if (x265_max_bit_depth == 8)
         ctx->params->internalBitDepth = 8;



More information about the ffmpeg-cvslog mailing list