lavc/vvc_ps: Add alf raw syntax into VVCALF

Signed-off-by: Fei Wang <fei.w.wang@intel.com>
master
Fei Wang 3 weeks ago committed by Haihao Xiang
parent 15a75e8e04
commit a94aa2d61e
  1. 10
      libavcodec/vvc/ps.c
  2. 1
      libavcodec/vvc/ps.h

@ -1043,13 +1043,21 @@ static void alf_derive(VVCALF *alf, const H266RawAPS *aps)
alf_cc(alf, aps); alf_cc(alf, aps);
} }
static void alf_free(FFRefStructOpaque unused, void *obj)
{
VVCALF *alf = obj;
ff_refstruct_unref(&alf->r);
}
static int aps_decode_alf(const VVCALF **alf, const H266RawAPS *aps) static int aps_decode_alf(const VVCALF **alf, const H266RawAPS *aps)
{ {
VVCALF *a = ff_refstruct_allocz(sizeof(*a)); VVCALF *a = ff_refstruct_alloc_ext(sizeof(*a), 0, NULL, alf_free);
if (!a) if (!a)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
alf_derive(a, aps); alf_derive(a, aps);
ff_refstruct_replace(&a->r, aps);
ff_refstruct_replace(alf, a); ff_refstruct_replace(alf, a);
ff_refstruct_unref(&a); ff_refstruct_unref(&a);

@ -169,6 +169,7 @@ typedef struct VVCPH {
#define ALF_NUM_COEFF_CC 7 #define ALF_NUM_COEFF_CC 7
typedef struct VVCALF { typedef struct VVCALF {
const H266RawAPS *r;
int16_t luma_coeff [ALF_NUM_FILTERS_LUMA][ALF_NUM_COEFF_LUMA]; int16_t luma_coeff [ALF_NUM_FILTERS_LUMA][ALF_NUM_COEFF_LUMA];
uint8_t luma_clip_idx [ALF_NUM_FILTERS_LUMA][ALF_NUM_COEFF_LUMA]; uint8_t luma_clip_idx [ALF_NUM_FILTERS_LUMA][ALF_NUM_COEFF_LUMA];

Loading…
Cancel
Save