[FFmpeg-cvslog] r11510 - trunk/libavformat/matroskaenc.c

aurel subversion
Sat Jan 12 00:21:22 CET 2008


Author: aurel
Date: Sat Jan 12 00:21:22 2008
New Revision: 11510

Log:
Matroska muxer needs to format all NAL units, not only extradata.


Modified:
   trunk/libavformat/matroskaenc.c

Modified: trunk/libavformat/matroskaenc.c
==============================================================================
--- trunk/libavformat/matroskaenc.c	(original)
+++ trunk/libavformat/matroskaenc.c	Sat Jan 12 00:21:22 2008
@@ -745,6 +745,16 @@ static int mkv_write_packet(AVFormatCont
         av_md5_update(mkv->md5_ctx, pkt->data, FFMIN(200, pkt->size));
     }
 
+    if (codec->codec_id == CODEC_ID_H264 &&
+        codec->extradata_size > 0 && AV_RB32(codec->extradata) == 0x00000001) {
+        /* from x264 or from bytestream h264 */
+        /* nal reformating needed */
+        int ret = avc_parse_nal_units(pkt->data, &pkt->data, &pkt->size);
+        if (ret < 0)
+            return ret;
+        assert(pkt->size);
+    }
+
     if (codec->codec_type != CODEC_TYPE_SUBTITLE) {
         mkv_write_block(s, MATROSKA_ID_SIMPLEBLOCK, pkt, keyframe << 7);
     } else {




More information about the ffmpeg-cvslog mailing list