diff options
author | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2014-04-10 13:27:41 +0100 |
---|---|---|
committer | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2014-04-10 13:28:59 +0100 |
commit | 25fbfeed98d2eaddda0885e0916a83085549bae6 (patch) | |
tree | 2b5a589f5ec68287d4b818e44be17e94c17a9e5f | |
parent | cd0ac6f6e5c353cadf678d9f194868f7d846566b (diff) | |
download | ffmpeg-25fbfeed98d2eaddda0885e0916a83085549bae6.tar.gz |
libx265: Only set the SAR if it is valid
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
-rw-r--r-- | libavcodec/libx265.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index 223ec783bc..41b1cda45c 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) |