aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264_ps.c
diff options
context:
space:
mode:
authorVictor Lopez <gallandae@gmail.com>2012-12-19 09:12:24 +0100
committerReinhard Tartler <siretart@tauware.de>2013-01-12 17:59:40 +0100
commita335ffd7f4cdaaa6a8fe4187f6f06b0418eea19a (patch)
tree559c980d679e57bafabfeee09b44ac8c4bc25213 /libavcodec/h264_ps.c
parentf620c12067a2a80af9fb63927665f82f583e18d7 (diff)
downloadffmpeg-a335ffd7f4cdaaa6a8fe4187f6f06b0418eea19a.tar.gz
h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
Fixes bug 396. CC: libav-stable@libav.org (cherry picked from commit 1c8bf3bfed5ff5c504c8e3de96188a977f67cce0) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
Diffstat (limited to 'libavcodec/h264_ps.c')
-rw-r--r--libavcodec/h264_ps.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index a468c96ac4..00c5003a22 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -333,7 +333,11 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){
memset(sps->scaling_matrix8, 16, sizeof(sps->scaling_matrix8));
sps->scaling_matrix_present = 0;
- if(sps->profile_idc >= 100){ //high profile
+ if (sps->profile_idc == 100 || sps->profile_idc == 110 ||
+ sps->profile_idc == 122 || sps->profile_idc == 244 ||
+ sps->profile_idc == 44 || sps->profile_idc == 83 ||
+ sps->profile_idc == 86 || sps->profile_idc == 118 ||
+ sps->profile_idc == 128 || sps->profile_idc == 144) {
sps->chroma_format_idc= get_ue_golomb_31(&s->gb);
if(sps->chroma_format_idc > 3) {
av_log(h->s.avctx, AV_LOG_ERROR, "chroma_format_idc (%u) out of range\n", sps->chroma_format_idc);