1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

libxvid: guess a good aspect when we cant store the exact one.

Based on 394781a8.
This commit is contained in:
Carl Eugen Hoyos 2013-09-08 22:53:14 +02:00
parent c54aa2fb0f
commit 43353bf32c

View File

@ -710,9 +710,11 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
/* Pixel aspect ratio setting */ /* Pixel aspect ratio setting */
if (avctx->sample_aspect_ratio.num < 0 || avctx->sample_aspect_ratio.num > 255 || if (avctx->sample_aspect_ratio.num < 0 || avctx->sample_aspect_ratio.num > 255 ||
avctx->sample_aspect_ratio.den < 0 || avctx->sample_aspect_ratio.den > 255) { avctx->sample_aspect_ratio.den < 0 || avctx->sample_aspect_ratio.den > 255) {
av_log(avctx, AV_LOG_ERROR, "Invalid pixel aspect ratio %i/%i\n", av_log(avctx, AV_LOG_WARNING,
"Invalid pixel aspect ratio %i/%i, limit is 255/255 reducing\n",
avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den); avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den);
return -1; av_reduce(&avctx->sample_aspect_ratio.num, &avctx->sample_aspect_ratio.den,
avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den, 255);
} }
xvid_enc_frame.par = XVID_PAR_EXT; xvid_enc_frame.par = XVID_PAR_EXT;
xvid_enc_frame.par_width = avctx->sample_aspect_ratio.num; xvid_enc_frame.par_width = avctx->sample_aspect_ratio.num;