[SCM] libav/experimental: Process picture aspect ratio changes in H.264. This fixes playback of such streams with ffplay (but does not affect current ffmpeg).

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:02:06 UTC 2013


The following commit has been merged in the experimental branch:
commit 7c994c366c311ba7799aef80efaf80e265c0c329
Author: Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>
Date:   Sun Feb 28 18:33:33 2010 +0000

    Process picture aspect ratio changes in H.264.
    This fixes playback of such streams with ffplay (but does not affect
    current ffmpeg).
    
    Patch by Janusz Krzysztofik, jkrzyszt A tis D icnet D pl
    
    Originally committed as revision 22112 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 5185e31..034142e 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1775,7 +1775,9 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
         s->height= 16*s->mb_height - 4*FFMIN(h->sps.crop_bottom, 3);
 
     if (s->context_initialized
-        && (   s->width != s->avctx->width || s->height != s->avctx->height)) {
+        && (   s->width != s->avctx->width || s->height != s->avctx->height
+                || h->sps.sar.num != s->avctx->sample_aspect_ratio.num
+                || h->sps.sar.den != s->avctx->sample_aspect_ratio.den)) {
         if(h != h0)
             return -1;   // width / height changed during parallelized decoding
         free_tables(h);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list