[FFmpeg-cvslog] Set Matroska private data when muxing Prores.

Carl Eugen Hoyos git at videolan.org
Mon Apr 7 00:20:40 CEST 2014


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Sun Apr  6 20:54:48 2014 +0200| [3d5c859fa6dcca9c6b37f90a5dac148c01ab4758] | committer: Carl Eugen Hoyos

Set Matroska private data when muxing Prores.

The specification requires the mov code point to be written as "fourcc".

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3d5c859fa6dcca9c6b37f90a5dac148c01ab4758
---

 libavformat/matroskadec.c |    2 ++
 libavformat/matroskaenc.c |    3 +++
 2 files changed, 5 insertions(+)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 4390b6b..6976da8 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1914,6 +1914,8 @@ static int matroska_read_header(AVFormatContext *s)
                 st->codec->block_align = track->audio.sub_packet_size;
                 extradata_offset       = 78;
             }
+        } else if (codec_id == AV_CODEC_ID_PRORES && track->codec_priv.size == 4) {
+            fourcc = AV_RL32(track->codec_priv.data);
         }
         track->codec_priv.size -= extradata_offset;
 
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 7d83665..529ab2a 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -544,6 +544,9 @@ static int mkv_write_codecprivate(AVFormatContext *s, AVIOContext *pb, AVCodecCo
             } else
                 avio_write(dyn_cp, codec->extradata + 12,
                                    codec->extradata_size - 12);
+        } else if (codec->codec_id == AV_CODEC_ID_PRORES &&
+                   ff_codec_get_id(ff_codec_movvideo_tags, codec->codec_tag) == AV_CODEC_ID_PRORES) {
+            avio_wl32(dyn_cp, codec->codec_tag);
         }
         else if (codec->extradata_size && codec->codec_id != AV_CODEC_ID_TTA)
             avio_write(dyn_cp, codec->extradata, codec->extradata_size);



More information about the ffmpeg-cvslog mailing list