summaryrefslogtreecommitdiff
path: root/libavcodec/h264_ps.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-12-01 17:28:46 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-12-01 17:28:46 +0100
commit3e1951e8f4a615cde2e65117f2dbd38bac6e57b6 (patch)
tree056048a93b96c85aa2c732064f58052368604d67 /libavcodec/h264_ps.c
parentf3f488423a12af9bb4eed6e6868cfa86ece3571b (diff)
h264: More restrictive more_rbsp_data_in_pps()
Fixes Ticket697 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264_ps.c')
-rw-r--r--libavcodec/h264_ps.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index ad364fb8f2..b3ebd4d510 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -488,7 +488,10 @@ build_qp_table(PPS *pps, int t, int index, const int depth)
static int more_rbsp_data_in_pps(H264Context *h, PPS *pps)
{
const SPS *sps = h->sps_buffers[pps->sps_id];
- if (sps->constraint_set_flags & 7) {
+ int profile_idc = sps->profile_idc;
+
+ if ((profile_idc == 66 || profile_idc == 77 ||
+ profile_idc == 88) && (sps->constraint_set_flags & 7)) {
av_log(h->s.avctx, AV_LOG_WARNING,
"Current profile doesn't provide more RBSP data in PPS, skipping\n");
return 0;