summaryrefslogtreecommitdiff
path: root/libavcodec/h264_ps.c
diff options
context:
space:
mode:
authorVictor Lopez <gallandae@gmail.com>2012-12-19 09:12:24 +0100
committerJanne Grunau <janne-libav@jannau.net>2012-12-19 13:40:48 +0100
commit1c8bf3bfed5ff5c504c8e3de96188a977f67cce0 (patch)
treee1e499a1df31df711351bb16e5a6703fd1f9f8c9 /libavcodec/h264_ps.c
parent45635885e44cb7adce35ac19279d48c1ef6c4779 (diff)
h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
Fixes bug 396. CC: libav-stable@libav.org
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 7eb8726ec0..ff6c077ed3 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);