[vlc-commits] demux: mp4: add support for VP8/VP9/VP10
Francois Cartegnie
git at videolan.org
Mon Sep 5 15:31:30 CEST 2016
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Mon Sep 5 11:13:55 2016 +0200| [914c8ddecf4d0b0c83809ec3537e43f6b8a45e5b] | committer: Francois Cartegnie
demux: mp4: add support for VP8/VP9/VP10
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=914c8ddecf4d0b0c83809ec3537e43f6b8a45e5b
---
NEWS | 1 +
modules/demux/mp4/essetup.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/NEWS b/NEWS
index 8a6d0be..a19a556 100644
--- a/NEWS
+++ b/NEWS
@@ -97,6 +97,7 @@ Demuxers:
* Support SCTE-18 / EAS inside TS
* Support for RTP Reception Hint Track In MP4 with H.264, GSM and Speex payloads.
* Support for XiphQt(MP4) vorbis and Flac
+ * Support for VP8/VP9/VP10 in MP4
Stream filter:
* Added ARIB STD-B25 TS streams decoder
diff --git a/modules/demux/mp4/essetup.c b/modules/demux/mp4/essetup.c
index a54ea1f..3faa11f 100644
--- a/modules/demux/mp4/essetup.c
+++ b/modules/demux/mp4/essetup.c
@@ -562,6 +562,27 @@ int SetupVideoES( demux_t *p_demux, mp4_track_t *p_track, MP4_Box_t *p_sample )
break;
}
+ case ATOM_vp08:
+ case ATOM_vp09:
+ case ATOM_vp10:
+ {
+ const MP4_Box_t *p_vpcC = MP4_BoxGet( p_sample, "vpcC" );
+ if( p_vpcC && BOXDATA(p_vpcC) )
+ {
+ const MP4_Box_data_vpcC_t *p_data = BOXDATA(p_vpcC);
+ if( p_sample->i_type == ATOM_vp10 )
+ p_track->fmt.i_codec = VLC_CODEC_VP10;
+ else if( p_sample->i_type == ATOM_vp09 )
+ p_track->fmt.i_codec = VLC_CODEC_VP9;
+ else
+ p_track->fmt.i_codec = VLC_CODEC_VP8;
+ p_track->fmt.i_profile = p_data->i_profile;
+ p_track->fmt.i_level = p_data->i_level;
+ p_track->fmt.i_extra = p_data->i_codec_init_datasize;
+ memcpy( p_track->fmt.p_extra, p_data->p_codec_init_data, p_data->i_codec_init_datasize );
+ }
+ }
+
case ATOM_WMV3:
{
MP4_Box_t *p_strf = MP4_BoxGet( p_sample, "strf", 0 );
More information about the vlc-commits
mailing list