diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-07-15 21:43:30 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-15 22:19:27 +0200 |
commit | b7638af9425a721459d51fe99858a1dee7080070 (patch) | |
tree | 22102861e3d200d7286e81ee4d525f1c50b32538 | |
parent | 0bb71a85c398cae8a66885e357490f68d38c80ac (diff) | |
download | ffmpeg-b7638af9425a721459d51fe99858a1dee7080070.tar.gz |
avcodec/hevc: treat current_sps like sps_list
This simplifies the management of current_sps
Fixes Ticket3458
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 880dbe43ca71982ecdfe1c73446137d6b2fd24d5)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 30b6e9377d3b0b1341147d8484fce24301e7b8a0)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/hevc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index e0f35286e9..9633511f43 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -2815,9 +2815,12 @@ static int hevc_update_thread_context(AVCodecContext *dst, } } - if (s->current_sps && s->sps == (HEVCSPS*)s->current_sps->data) - s->sps = NULL; av_buffer_unref(&s->current_sps); + if (s0->current_sps) { + s->current_sps = av_buffer_ref(s0->current_sps); + if (!s->current_sps) + return AVERROR(ENOMEM); + } s->seq_decode = s0->seq_decode; s->seq_output = s0->seq_output; |