summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mkv.c
diff options
context:
space:
mode:
authorrathann <rathann@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-22 14:35:49 +0000
committerrathann <rathann@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-22 14:35:49 +0000
commit02362913a71839dc15b0d2605601f782ca089ab6 (patch)
tree40cc963a7366888b9741e09c50eadf8eeb0d47d6 /libmpdemux/demux_mkv.c
parentc4d02071c23d193e20a2ad67092d5fd4dc217422 (diff)
downloadmpv-02362913a71839dc15b0d2605601f782ca089ab6.tar.bz2
mpv-02362913a71839dc15b0d2605601f782ca089ab6.tar.xz
Native MPEG4 SP/ASP/AP support in Matroska.
Patch by Aurelien Jacobs and myself. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19159 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_mkv.c')
-rw-r--r--libmpdemux/demux_mkv.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index d35c1ca0a4..8c29dbb362 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -1825,6 +1825,19 @@ demux_mkv_open_video (demuxer_t *demuxer, mkv_track_t *track)
bih->biCompression = mmioFOURCC('m', 'p', 'g', '2');
track->reorder_timecodes = !correct_pts;
}
+ else if (!strcmp(track->codec_id, MKV_V_MPEG4_SP) ||
+ !strcmp(track->codec_id, MKV_V_MPEG4_ASP) ||
+ !strcmp(track->codec_id, MKV_V_MPEG4_AP))
+ {
+ bih->biCompression = mmioFOURCC('m', 'p', '4', 'v');
+ if (track->private_data && (track->private_size > 0))
+ {
+ bih->biSize += track->private_size;
+ bih = (BITMAPINFOHEADER *) realloc (bih, bih->biSize);
+ memcpy (bih + 1, track->private_data, track->private_size);
+ }
+ track->reorder_timecodes = !correct_pts;
+ }
else if (!strcmp(track->codec_id, MKV_V_MPEG4_AVC))
{
bih->biCompression = mmioFOURCC('a', 'v', 'c', '1');