diff options
author | John Stebbins <stebbins@jetheaddev.com> | 2014-10-31 08:24:38 -0700 |
---|---|---|
committer | Vittorio Giovara <vittorio.giovara@gmail.com> | 2014-11-11 11:49:55 +0100 |
commit | 1b667269062eb6aec0b8726393ea91b7f7f57fde (patch) | |
tree | 4d3a48579177e8a493649cbcf1d996eeac1479b9 | |
parent | 4cb9f1a77432de6f368df69bebbc082368a88c86 (diff) | |
download | ffmpeg-1b667269062eb6aec0b8726393ea91b7f7f57fde.tar.gz |
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.
-rw-r--r-- | libavcodec/h264_parser.c | 6 |
1 files 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--; |