aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>2014-04-10 13:27:41 +0100
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2014-04-10 16:49:03 +0100
commitcdd21f1f03c5d59aad8f0244b1be0f864d8416a7 (patch)
tree7368f15ca1baafba4eeeedaead37f4236bcfa08e
parentfcc43e02d30279b2ca4c69811311aa05acab4184 (diff)
downloadffmpeg-cdd21f1f03c5d59aad8f0244b1be0f864d8416a7.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.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
index 56ee063c9e..4de504a9fe 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)