From cfa5a81ea672ac355afad88ea239f7ba5c3d72f0 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 5 Oct 2010 01:43:25 +0000 Subject: [PATCH] Move aspect ratio 0/0 avoidance code so the values in the sps struct are not missed. This preempts issues with av_cmp_q(0/0, X) Originally committed as revision 25337 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h264.c | 4 ++-- libavcodec/h264_ps.c | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index a6e30df..247dbb2 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -38,6 +38,7 @@ #include "mathops.h" #include "rectangle.h" #include "vdpau_internal.h" +#include "libavutil/avassert.h" #include "cabac.h" @@ -1826,8 +1827,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0){ avcodec_set_dimensions(s->avctx, s->width, s->height); s->avctx->sample_aspect_ratio= h->sps.sar; - if(!s->avctx->sample_aspect_ratio.den) - s->avctx->sample_aspect_ratio.den = 1; + av_assert0(s->avctx->sample_aspect_ratio.den); if(h->sps.video_signal_type_present_flag){ s->avctx->color_range = h->sps.full_range ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG; diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c index 6c5e065..6e12700 100644 --- a/libavcodec/h264_ps.c +++ b/libavcodec/h264_ps.c @@ -387,6 +387,9 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){ if (decode_vui_parameters(h, sps) < 0) goto fail; + if(!sps->sar.den) + sps->sar.den= 1; + if(s->avctx->debug&FF_DEBUG_PICT_INFO){ av_log(h->s.avctx, AV_LOG_DEBUG, "sps:%u profile:%d/%d poc:%d ref:%d %dx%d %s %s crop:%d/%d/%d/%d %s %s %d/%d\n", sps_id, sps->profile_idc, sps->level_idc, -- 2.7.4