diff options
author | John Stebbins <stebbins@jetheaddev.com> | 2014-10-31 18:24:38 +0300 |
---|---|---|
committer | Vittorio Giovara <vittorio.giovara@gmail.com> | 2014-11-11 13:49:55 +0300 |
commit | 1b667269062eb6aec0b8726393ea91b7f7f57fde (patch) | |
tree | 4d3a48579177e8a493649cbcf1d996eeac1479b9 /libavcodec/h264_parser.c | |
parent | 4cb9f1a77432de6f368df69bebbc082368a88c86 (diff) |
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.
Diffstat (limited to 'libavcodec/h264_parser.c')
-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--; |