summaryrefslogtreecommitdiff
path: root/libavformat/isom.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-08-26 01:29:40 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-08-26 01:29:40 +0200
commit876d1d796bd80c75e3e6a7a458e3143cfe5c9474 (patch)
tree949cc4c9120dc58512d84998adcb949d173cd9c0 /libavformat/isom.c
parent7c4e4c6a0664bf668f4b7766a06f30096e0601f3 (diff)
parentf913eeea43078b3b9052efd8d8d29e7b29b39208 (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling mpeg12: propagate chunk decode errors and fix conditional indentation vc1: fix VC-1 Pulldown handling. VC1: Fix first/last row checks with slices mp4: Handle non-trivial ES Descriptors. vc1: properly zero coded_block[] edges on new slice entry. Conflicts: libavcodec/vc1dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/isom.c')
-rw-r--r--libavformat/isom.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libavformat/isom.c b/libavformat/isom.c
index 09ee23bdfd..7ab13f29c2 100644
--- a/libavformat/isom.c
+++ b/libavformat/isom.c
@@ -372,6 +372,22 @@ int ff_mp4_read_descr(AVFormatContext *fc, AVIOContext *pb, int *tag)
return len;
}
+void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id)
+{
+ int flags;
+ if (es_id) *es_id = avio_rb16(pb);
+ else avio_rb16(pb);
+ flags = avio_r8(pb);
+ if (flags & 0x80) //streamDependenceFlag
+ avio_rb16(pb);
+ if (flags & 0x40) { //URL_Flag
+ int len = avio_r8(pb);
+ avio_skip(pb, len);
+ }
+ if (flags & 0x20) //OCRstreamFlag
+ avio_rb16(pb);
+}
+
static const AVCodecTag mp4_audio_types[] = {
{ CODEC_ID_MP3ON4, AOT_PS }, /* old mp3on4 draft */
{ CODEC_ID_MP3ON4, AOT_L1 }, /* layer 1 */