Commit 964f07f6 authored by Will Kelleher's avatar Will Kelleher Committed by Michael Niedermayer

hevc: Fix memory leak related to a53_caption data

Signed-off-by: 's avatarWill Kelleher <wkelleher@gogoair.com>
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 6543a72f
...@@ -3155,6 +3155,8 @@ static av_cold int hevc_init_context(AVCodecContext *avctx) ...@@ -3155,6 +3155,8 @@ static av_cold int hevc_init_context(AVCodecContext *avctx)
s->context_initialized = 1; s->context_initialized = 1;
s->eos = 0; s->eos = 0;
ff_hevc_reset_sei(s);
return 0; return 0;
fail: fail:
......
...@@ -1054,6 +1054,15 @@ void ff_hevc_hls_mvd_coding(HEVCContext *s, int x0, int y0, int log2_cb_size); ...@@ -1054,6 +1054,15 @@ void ff_hevc_hls_mvd_coding(HEVCContext *s, int x0, int y0, int log2_cb_size);
int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id, int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id,
uint8_t *buf, int buf_size); uint8_t *buf, int buf_size);
/**
* Reset SEI values that are stored on the Context.
* e.g. Caption data that was extracted during NAL
* parsing.
*
* @param s HEVCContext.
*/
void ff_hevc_reset_sei(HEVCContext *s);
extern const uint8_t ff_hevc_qpel_extra_before[4]; extern const uint8_t ff_hevc_qpel_extra_before[4];
extern const uint8_t ff_hevc_qpel_extra_after[4]; extern const uint8_t ff_hevc_qpel_extra_after[4];
extern const uint8_t ff_hevc_qpel_extra[4]; extern const uint8_t ff_hevc_qpel_extra[4];
......
...@@ -211,6 +211,8 @@ static inline int parse_nal_units(AVCodecParserContext *s, const uint8_t *buf, ...@@ -211,6 +211,8 @@ static inline int parse_nal_units(AVCodecParserContext *s, const uint8_t *buf,
h->avctx = avctx; h->avctx = avctx;
ff_hevc_reset_sei(h);
if (!buf_size) if (!buf_size)
return 0; return 0;
......
...@@ -373,3 +373,9 @@ int ff_hevc_decode_nal_sei(HEVCContext *s) ...@@ -373,3 +373,9 @@ int ff_hevc_decode_nal_sei(HEVCContext *s)
} while (more_rbsp_data(&s->HEVClc->gb)); } while (more_rbsp_data(&s->HEVClc->gb));
return 1; return 1;
} }
void ff_hevc_reset_sei(HEVCContext *s)
{
s->a53_caption_size = 0;
av_freep(&s->a53_caption);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment