[FFmpeg-cvslog] libx265: Only set the SAR if it is valid

Derek Buitenhuis git at videolan.org
Thu Apr 10 17:49:19 CEST 2014


ffmpeg | branch: master | Derek Buitenhuis <derek.buitenhuis at gmail.com> | Thu Apr 10 13:27:41 2014 +0100| [cdd21f1f03c5d59aad8f0244b1be0f864d8416a7] | committer: Derek Buitenhuis

libx265: Only set the SAR if it is valid

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>

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

 libavcodec/libx265.c |   16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
index 56ee063..4de504a 100644
--- a/libavcodec/libx265.c
+++ b/libavcodec/libx265.c
@@ -113,13 +113,15 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
     ctx->params->sourceWidth     = avctx->width;
     ctx->params->sourceHeight    = avctx->height;
 
-    av_reduce(&sar_num, &sar_den,
-              avctx->sample_aspect_ratio.num,
-              avctx->sample_aspect_ratio.den, 65535);
-    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 (avctx->sample_aspect_ratio.num > 0 && avctx->sample_aspect_ratio.den > 0) {
+        av_reduce(&sar_num, &sar_den,
+                  avctx->sample_aspect_ratio.num,
+                  avctx->sample_aspect_ratio.den, 65535);
+        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)



More information about the ffmpeg-cvslog mailing list