From 1b667269062eb6aec0b8726393ea91b7f7f57fde Mon Sep 17 00:00:00 2001 From: John Stebbins Date: Fri, 31 Oct 2014 08:24:38 -0700 Subject: [PATCH] h264_parser: don't stop on SPS_EXT in split Add SPS_EXT, SEI, and subset SPS to codes that are skipped during split. These codes can come before the PPS and results in incomplete extradata. --- libavcodec/h264_parser.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c index 145dce3b0c..2ed3dd0e17 100644 --- a/libavcodec/h264_parser.c +++ b/libavcodec/h264_parser.c @@ -473,8 +473,10 @@ static int h264_split(AVCodecContext *avctx, * (state&0xFFFFFF1F) == 0x105) { * } */ - if ((state & 0xFFFFFF00) == 0x100 && (state & 0xFFFFFF1F) != 0x107 && - (state & 0xFFFFFF1F) != 0x108 && (state & 0xFFFFFF1F) != 0x109) { + if ((state & 0xFFFFFF00) == 0x100 && (state & 0xFFFFFF1F) != 0x106 && + (state & 0xFFFFFF1F) != 0x107 && (state & 0xFFFFFF1F) != 0x108 && + (state & 0xFFFFFF1F) != 0x109 && (state & 0xFFFFFF1F) != 0x10d && + (state & 0xFFFFFF1F) != 0x10f) { if (has_sps) { while (i > 4 && buf[i - 5] == 0) i--;