[vlc-commits] demux: mp4: set interlacing flags

Francois Cartegnie git at videolan.org
Wed Jan 14 18:02:52 CET 2015


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Wed Jan 14 17:43:56 2015 +0100| [e0e931e7d0bf3d9cf2bcc7093e3d0766597e5519] | committer: Francois Cartegnie

demux: mp4: set interlacing flags

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e0e931e7d0bf3d9cf2bcc7093e3d0766597e5519
---

 modules/demux/mp4/essetup.c |    6 ++++++
 modules/demux/mp4/mp4.c     |    2 ++
 modules/demux/mp4/mp4.h     |    1 +
 3 files changed, 9 insertions(+)

diff --git a/modules/demux/mp4/essetup.c b/modules/demux/mp4/essetup.c
index 842744a..3bf5c61 100644
--- a/modules/demux/mp4/essetup.c
+++ b/modules/demux/mp4/essetup.c
@@ -221,6 +221,12 @@ int SetupVideoES( demux_t *p_demux, mp4_track_t *p_track, MP4_Box_t *p_sample )
         p_track->fmt.video.i_sar_den = BOXDATA(p_pasp)->i_vertical_spacing;
     }
 
+    const MP4_Box_t *p_fiel = MP4_BoxGet( p_sample, "fiel" );
+    if( p_fiel && BOXDATA(p_fiel) )
+    {
+        p_track->i_block_flags = BOXDATA(p_fiel)->i_flags;
+    }
+
     /* now see if esds is present and if so create a data packet
         with decoder_specific_info  */
     MP4_Box_t *p_esds = MP4_BoxGet( p_sample, "esds" );
diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index b3b6767..083ca0a 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -515,6 +515,8 @@ static void MP4_Block_Send( demux_t *p_demux, mp4_track_t *p_track, block_t *p_b
                              p_track->fmt.i_codec );
     }
 
+    p_block->i_flags |= p_track->i_block_flags;
+
     /* ASF packets in mov */
     if( p_track->p_asf )
     {
diff --git a/modules/demux/mp4/mp4.h b/modules/demux/mp4/mp4.h
index 4442eee..72558cb 100644
--- a/modules/demux/mp4/mp4.h
+++ b/modules/demux/mp4/mp4.h
@@ -75,6 +75,7 @@ typedef struct
     bool b_mac_encoding;
 
     es_format_t fmt;
+    uint32_t    i_block_flags;
     uint8_t     rgi_chans_reordering[AOUT_CHAN_MAX];
     bool        b_chans_reorder;
     es_out_id_t *p_es;



More information about the vlc-commits mailing list