[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