]> git.sesse.net Git - vlc/commitdiff
* modules/demux/mp4/mp4.c, src/input/decoder.c: support for cropping in quicktime...
authorGildas Bazin <gbazin@videolan.org>
Thu, 17 Aug 2006 20:53:27 +0000 (20:53 +0000)
committerGildas Bazin <gbazin@videolan.org>
Thu, 17 Aug 2006 20:53:27 +0000 (20:53 +0000)
modules/demux/mp4/mp4.c
src/input/decoder.c

index 1dc2448018f80dc21e19097530b37df5830bbeff..61c67852fc10259202dd66a1bfa67c82cdc640b8 100644 (file)
@@ -1443,6 +1443,10 @@ static int TrackCreateES( demux_t *p_demux, mp4_track_t *p_track,
             p_track->fmt.video.i_aspect =
                 VOUT_ASPECT_FACTOR * p_track->i_width / p_track->i_height;
 
+        /* Support for cropping (eg. in H263 files) */
+        p_track->fmt.video.i_visible_width = p_track->fmt.video.i_width;
+        p_track->fmt.video.i_visible_height = p_track->fmt.video.i_height;
+
         /* Frame rate */
         p_track->fmt.video.i_frame_rate = p_track->i_timescale;
         p_track->fmt.video.i_frame_rate_base = 1;
index 1a02901d0841b9053272dc92521abd1123019bd1..df510c276c25f46acc2d7e4990ee7fc638c1e2ea 100644 (file)
@@ -951,10 +951,21 @@ static picture_t *vout_new_buffer( decoder_t *p_dec )
         if( !p_dec->fmt_out.video.i_visible_width ||
             !p_dec->fmt_out.video.i_visible_height )
         {
-            p_dec->fmt_out.video.i_visible_width =
-                p_dec->fmt_out.video.i_width;
-            p_dec->fmt_out.video.i_visible_height =
-                p_dec->fmt_out.video.i_height;
+            if( p_dec->fmt_in.video.i_visible_width &&
+                p_dec->fmt_in.video.i_visible_height )
+            {
+                p_dec->fmt_out.video.i_visible_width =
+                    p_dec->fmt_in.video.i_visible_width;
+                p_dec->fmt_out.video.i_visible_height =
+                    p_dec->fmt_in.video.i_visible_height;
+            }
+            else
+            {
+                p_dec->fmt_out.video.i_visible_width =
+                    p_dec->fmt_out.video.i_width;
+                p_dec->fmt_out.video.i_visible_height =
+                    p_dec->fmt_out.video.i_height;
+            }
         }
 
         if( p_dec->fmt_out.video.i_visible_height == 1088 &&