[vlc-commits] demux: mp4: handle pps/sps less AVC Intra (fix #15762)
Francois Cartegnie
git at videolan.org
Thu Dec 3 17:34:57 CET 2015
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Thu Dec 3 16:28:19 2015 +0100| [289691ced2843104223d96d24f892a3f888c6edb] | committer: Francois Cartegnie
demux: mp4: handle pps/sps less AVC Intra (fix #15762)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=289691ced2843104223d96d24f892a3f888c6edb
---
modules/demux/Makefile.am | 1 +
modules/demux/mp4/essetup.c | 27 +++++++++++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/modules/demux/Makefile.am b/modules/demux/Makefile.am
index 18db3e1..b0e327c 100644
--- a/modules/demux/Makefile.am
+++ b/modules/demux/Makefile.am
@@ -197,6 +197,7 @@ libmp4_plugin_la_SOURCES = demux/mp4/mp4.c demux/mp4/mp4.h \
demux/mp4/libmp4.c demux/mp4/libmp4.h \
demux/mp4/id3genres.h demux/mp4/languages.h \
demux/asf/asfpacket.c demux/asf/asfpacket.h \
+ demux/mp4/avci.h \
demux/mp4/essetup.c demux/mp4/meta.c
libmp4_plugin_la_LIBADD = $(LIBM)
libmp4_plugin_la_LDFLAGS = $(AM_LDFLAGS)
diff --git a/modules/demux/mp4/essetup.c b/modules/demux/mp4/essetup.c
index 0ae48a8..c8be5a3 100644
--- a/modules/demux/mp4/essetup.c
+++ b/modules/demux/mp4/essetup.c
@@ -25,6 +25,7 @@
#endif
#include "mp4.h"
+#include "avci.h"
#include <vlc_demux.h>
#include <vlc_aout.h>
@@ -395,6 +396,32 @@ int SetupVideoES( demux_t *p_demux, mp4_track_t *p_track, MP4_Box_t *p_sample )
break;
}
+ case VLC_FOURCC( 'a', 'i', '5', 'p' ):
+ case VLC_FOURCC( 'a', 'i', '5', 'q' ):
+ case VLC_FOURCC( 'a', 'i', '5', '2' ):
+ case VLC_FOURCC( 'a', 'i', '5', '3' ):
+ case VLC_FOURCC( 'a', 'i', '5', '5' ):
+ case VLC_FOURCC( 'a', 'i', '5', '6' ):
+ case VLC_FOURCC( 'a', 'i', '1', 'p' ):
+ case VLC_FOURCC( 'a', 'i', '1', 'q' ):
+ case VLC_FOURCC( 'a', 'i', '1', '2' ):
+ case VLC_FOURCC( 'a', 'i', '1', '3' ):
+ case VLC_FOURCC( 'a', 'i', '1', '5' ):
+ case VLC_FOURCC( 'a', 'i', '1', '6' ):
+ {
+ if( !p_track->fmt.i_extra && p_track->fmt.video.i_width < UINT16_MAX )
+ {
+ const MP4_Box_t *p_fiel = MP4_BoxGet( p_sample, "fiel" );
+ if( p_fiel && BOXDATA(p_fiel) )
+ {
+ p_track->fmt.p_extra =
+ AVCi_create_AnnexB( p_track->fmt.video.i_width,
+ !!BOXDATA(p_fiel)->i_flags, &p_track->fmt.i_extra );
+ }
+ }
+ break;
+ }
+
default:
msg_Dbg( p_demux, "Unrecognized FourCC %4.4s", (char *)&p_sample->i_type );
break;
More information about the vlc-commits
mailing list