summaryrefslogtreecommitdiff
path: root/libavcodec/hevcdec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/hevcdec.c')
-rw-r--r--libavcodec/hevcdec.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index f9cc83b2c9..0421db201e 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -2653,6 +2653,7 @@ static int hls_slice_data_wpp(HEVCContext *s, const H2645NAL *nal)
return AVERROR(ENOMEM);
s->HEVClcList[i]->logctx = s->avctx;
s->HEVClcList[i]->parent = s;
+ s->HEVClcList[i]->common_cabac_state = &s->cabac;
}
offset = (lc->gb.index >> 3);
@@ -3582,8 +3583,6 @@ static av_cold int hevc_decode_free(AVCodecContext *avctx)
av_freep(&s->md5_ctx);
- av_freep(&s->cabac);
-
for (i = 0; i < 3; i++) {
av_freep(&s->sao_pixel_buffer_h[i]);
av_freep(&s->sao_pixel_buffer_v[i]);
@@ -3630,12 +3629,9 @@ static av_cold int hevc_init_context(AVCodecContext *avctx)
return AVERROR(ENOMEM);
s->HEVClc->parent = s;
s->HEVClc->logctx = avctx;
+ s->HEVClc->common_cabac_state = &s->cabac;
s->HEVClcList[0] = s->HEVClc;
- s->cabac = av_malloc(sizeof(*s->cabac));
- if (!s->cabac)
- return AVERROR(ENOMEM);
-
s->output_frame = av_frame_alloc();
if (!s->output_frame)
return AVERROR(ENOMEM);