diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-03-09 22:48:08 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-03-09 22:48:08 +0100 |
commit | 1b1d77ae9b38fb257e9ae9fb565091c6b7e43181 (patch) | |
tree | ef4875409644c61d98062cfbc10f7029adfe1e9a /libavformat/movenc.c | |
parent | ce1ad8d775ba74f2ab03675043116be3c305fcb1 (diff) | |
parent | 20b40a597cdd4969cf1147d7c7efee2b6232524b (diff) | |
download | ffmpeg-1b1d77ae9b38fb257e9ae9fb565091c6b7e43181.tar.gz |
Merge commit '20b40a597cdd4969cf1147d7c7efee2b6232524b'
* commit '20b40a597cdd4969cf1147d7c7efee2b6232524b':
movenc: write hvcC tag for HEVC.
Conflicts:
libavformat/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/movenc.c')
-rw-r--r-- | libavformat/movenc.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 8b1816a3c7..3798706a83 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -39,6 +39,7 @@ #include "libavutil/mathematics.h" #include "libavutil/opt.h" #include "libavutil/dict.h" +#include "hevc.h" #include "rtpenc.h" #include "mov_chan.h" @@ -772,6 +773,16 @@ static int mov_write_avcc_tag(AVIOContext *pb, MOVTrack *track) return update_size(pb, pos); } +static int mov_write_hvcc_tag(AVIOContext *pb, MOVTrack *track) +{ + int64_t pos = avio_tell(pb); + + avio_wb32(pb, 0); + ffio_wfourcc(pb, "hvcC"); + ff_isom_write_hvcc(pb, track->vos_data, track->vos_len, 0); + return update_size(pb, pos); +} + /* also used by all avid codecs (dv, imx, meridien) and their variants */ static int mov_write_avid_tag(AVIOContext *pb, MOVTrack *track) { @@ -1226,6 +1237,8 @@ static int mov_write_video_tag(AVIOContext *pb, MOVTrack *track) avio_wb32(pb, 0); } else if (track->enc->codec_id == AV_CODEC_ID_DNXHD) mov_write_avid_tag(pb, track); + else if (track->enc->codec_id == AV_CODEC_ID_HEVC) + mov_write_hvcc_tag(pb, track); else if (track->enc->codec_id == AV_CODEC_ID_H264) { mov_write_avcc_tag(pb, track); if (track->mode == MODE_IPOD) |