summaryrefslogtreecommitdiff
path: root/libavcodec/cbs_h2645.c
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2018-02-21 22:41:00 +0000
committerMark Thompson <sw@jkqxz.net>2018-02-21 22:41:00 +0000
commitab6edb173b365d9a787c2df3a45e3a018d7843d7 (patch)
treebe0599167db492596c55418f0b2e841b50efab7d /libavcodec/cbs_h2645.c
parent7386b4ff39506b7a34b3689cc4b05993ed9b4a4f (diff)
parent7157d959264f3729da463725c6faa580d9394d19 (diff)
Merge commit '7157d959264f3729da463725c6faa580d9394d19'
* commit '7157d959264f3729da463725c6faa580d9394d19': cbs_h264: Move slice_group_id array out of PPS structure Merged-by: Mark Thompson <sw@jkqxz.net>
Diffstat (limited to 'libavcodec/cbs_h2645.c')
-rw-r--r--libavcodec/cbs_h2645.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c
index 8c3705b6e1..b717937e4a 100644
--- a/libavcodec/cbs_h2645.c
+++ b/libavcodec/cbs_h2645.c
@@ -394,6 +394,13 @@ static int cbs_h2645_read_more_rbsp_data(GetBitContext *gbc)
#undef allocate
+static void cbs_h264_free_pps(void *unit, uint8_t *content)
+{
+ H264RawPPS *pps = (H264RawPPS*)content;
+ av_buffer_unref(&pps->slice_group_id_ref);
+ av_freep(&content);
+}
+
static void cbs_h264_free_sei_payload(H264RawSEIPayload *payload)
{
switch (payload->payload_type) {
@@ -725,7 +732,8 @@ static int cbs_h264_read_nal_unit(CodedBitstreamContext *ctx,
{
H264RawPPS *pps;
- err = ff_cbs_alloc_unit_content(ctx, unit, sizeof(*pps), NULL);
+ err = ff_cbs_alloc_unit_content(ctx, unit, sizeof(*pps),
+ &cbs_h264_free_pps);
if (err < 0)
return err;
pps = unit->content;