summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
diff options
context:
space:
mode:
authorYusuke Nakamura <muken.the.vfrmaniac@gmail.com>2013-10-03 14:03:53 +0900
committerAnton Khirnov <anton@khirnov.net>2013-10-31 20:20:32 +0100
commitea29f965dc71182f77b8efe819630f55e48b0ab7 (patch)
treee04eb5dfeee019a896ddf94cbdc6ca5a4bdf060a /libavformat/mov.c
parent5846646296e377e093441dfe9eadde38ff1f7c99 (diff)
mov: Support HEVC demuxing
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r--libavformat/mov.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 60fb999d81..d9cb36b67a 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1396,6 +1396,8 @@ static int mov_skip_multiple_stsd(MOVContext *c, AVIOContext *pb,
if (codec_tag &&
(codec_tag == AV_RL32("avc1") ||
+ codec_tag == AV_RL32("hvc1") ||
+ codec_tag == AV_RL32("hev1") ||
(codec_tag != format &&
(c->fc->video_codec_id ? video_codec_id != c->fc->video_codec_id
: codec_tag != MKTAG('j','p','e','g'))))) {
@@ -1471,7 +1473,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
if (ret < 0)
return ret;
}
- /* this will read extra atoms at the end (wave, alac, damr, avcC, SMI ...) */
+ /* this will read extra atoms at the end (wave, alac, damr, avcC, hvcC, SMI ...) */
a.size = size - (avio_tell(pb) - start_pos);
if (a.size > 8) {
if ((ret = mov_read_default(c, pb, a)) < 0)
@@ -2604,6 +2606,7 @@ static const MOVParseTableEntry mov_default_parse_table[] = {
{ MKTAG('c','h','a','n'), mov_read_chan }, /* channel layout */
{ MKTAG('d','v','c','1'), mov_read_dvc1 },
{ MKTAG('s','b','g','p'), mov_read_sbgp },
+{ MKTAG('h','v','c','C'), mov_read_glbl },
{ 0, NULL }
};