diff mbox

[FFmpeg-devel] lavf/mpegtsenc: fix autobsf when the first NAL is 0x1<XX> bytes

Message ID 20160925194347.52223-1-rodger.combs@gmail.com
State Accepted
Commit 14fe54bbfb988f4f5a6acb358282640a13162311
Headers show

Commit Message

Rodger Combs Sept. 25, 2016, 7:43 p.m. UTC
---
 libavformat/mpegtsenc.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Michael Niedermayer Sept. 26, 2016, 1:27 a.m. UTC | #1
On Sun, Sep 25, 2016 at 02:43:47PM -0500, Rodger Combs wrote:
> ---
>  libavformat/mpegtsenc.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)

probably ok or rather ive no better idea either

thx

[...]
diff mbox

Patch

diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index fd849e5..ac27b81 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -1790,11 +1790,15 @@  static int mpegts_check_bitstream(struct AVFormatContext *s, const AVPacket *pkt
 
     if (st->codecpar->codec_id == AV_CODEC_ID_H264) {
         if (pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 &&
-                              AV_RB24(pkt->data) != 0x000001)
+                             (AV_RB24(pkt->data) != 0x000001 ||
+                              (st->codecpar->extradata_size > 0 &&
+                               st->codecpar->extradata[0] == 1)))
             ret = ff_stream_add_bitstream_filter(st, "h264_mp4toannexb", NULL);
     } else if (st->codecpar->codec_id == AV_CODEC_ID_HEVC) {
         if (pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 &&
-                              AV_RB24(pkt->data) != 0x000001)
+                             (AV_RB24(pkt->data) != 0x000001 ||
+                              (st->codecpar->extradata_size > 0 &&
+                               st->codecpar->extradata[0] == 1)))
             ret = ff_stream_add_bitstream_filter(st, "hevc_mp4toannexb", NULL);
     }