diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-02-14 13:58:02 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-02-14 13:58:02 +0100 |
commit | 99b12357f47efd7da070e29d888e9e7646824667 (patch) | |
tree | 65d7d46c6a976a0d3dabb31f34c2efdfb064151b | |
parent | 60b46a00c62db3e366322f99d261480cd213bfa5 (diff) | |
parent | 3a0576702825423abecb32627c530dbc4c0f73bc (diff) | |
download | ffmpeg-99b12357f47efd7da070e29d888e9e7646824667.tar.gz |
Merge commit '3a0576702825423abecb32627c530dbc4c0f73bc'
* commit '3a0576702825423abecb32627c530dbc4c0f73bc':
h264: store current_sps_id inside the current sps
Conflicts:
libavcodec/h264.c
libavcodec/h264_ps.c
The current_sps_id is not removed as it used in security related code.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/h264.c | 5 | ||||
-rw-r--r-- | libavcodec/h264.h | 1 | ||||
-rw-r--r-- | libavcodec/h264_ps.c | 1 |
3 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 9f04174241..37a85889f1 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -3523,10 +3523,11 @@ static int decode_slice_header(H264Context *h, H264Context *h0) return AVERROR_INVALIDDATA; } - if (h->pps.sps_id != h->current_sps_id || + if (h->pps.sps_id != h->sps.sps_id || + h->pps.sps_id != h->current_sps_id || h0->sps_buffers[h->pps.sps_id]->new) { - h->sps = *h0->sps_buffers[h->pps.sps_id]; + h->sps = *h0->sps_buffers[h->pps.sps_id]; if (h->mb_width != h->sps.mb_width || h->mb_height != h->sps.mb_height * (2 - h->sps.frame_mbs_only_flag) || diff --git a/libavcodec/h264.h b/libavcodec/h264.h index e749139ef1..eccce5a69b 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -163,6 +163,7 @@ typedef enum { * Sequence parameter set */ typedef struct SPS { + unsigned int sps_id; int profile_idc; int level_idc; int chroma_format_idc; diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c index ee931e1b54..22ccc52c09 100644 --- a/libavcodec/h264_ps.c +++ b/libavcodec/h264_ps.c @@ -347,6 +347,7 @@ int ff_h264_decode_seq_parameter_set(H264Context *h) if (!sps) return AVERROR(ENOMEM); + sps->sps_id = sps_id; sps->time_offset_length = 24; sps->profile_idc = profile_idc; sps->constraint_set_flags = constraint_set_flags; |