Go to the documentation of this file.
48 dst_stride /=
sizeof(
pixel);
49 src_stride /=
sizeof(
pixel);
52 int far = (y + 3 < vb_pos - 3) || (y > vb_pos + 2);
55 const pixel *s0 =
src + y * src_stride + x;
56 const pixel *s1 = s0 + src_stride;
57 const pixel *s2 = s0 - src_stride;
58 const pixel *s3 = s1 + src_stride;
59 const pixel *s4 = s2 - src_stride;
60 const pixel *s5 = s3 + src_stride;
61 const pixel *s6 = s4 - src_stride;
66 const pixel *p0 = s0 +
i * src_stride;
67 const pixel *p1 = s1 +
i * src_stride;
68 const pixel *p2 = s2 +
i * src_stride;
69 const pixel *p3 = s3 +
i * src_stride;
70 const pixel *p4 = s4 +
i * src_stride;
71 const pixel *p5 = s5 +
i * src_stride;
72 const pixel *p6 = s6 +
i * src_stride;
76 is_near_vb = (y +
i == vb_pos - 1) || (y +
i == vb_pos);
81 if (y +
i >= vb_pos - 2 && y +
i <= vb_pos + 1) {
85 if (y +
i >= vb_pos - 3 && y +
i <= vb_pos + 2) {
91 (
const pixel *[]) { p0, p1, p2, p3, p4, p5, p6},
103 ptrdiff_t dst_stride,
105 ptrdiff_t src_stride,
114 dst_stride /=
sizeof(
pixel);
115 src_stride /=
sizeof(
pixel);
118 int far = (y + 3 < vb_pos - 2) || (y > vb_pos + 1);
121 const pixel *s0 =
src + y * src_stride + x;
122 const pixel *s1 = s0 + src_stride;
123 const pixel *s2 = s0 - src_stride;
124 const pixel *s3 = s1 + src_stride;
125 const pixel *s4 = s2 - src_stride;
130 const pixel *p0 = s0 +
i * src_stride;
131 const pixel *p1 = s1 +
i * src_stride;
132 const pixel *p2 = s2 +
i * src_stride;
133 const pixel *p3 = s3 +
i * src_stride;
134 const pixel *p4 = s4 +
i * src_stride;
138 is_near_vb = (y +
i == vb_pos - 1) || (y +
i == vb_pos);
144 if (y +
i >= vb_pos - 2 && y +
i <= vb_pos + 1) {
151 (
const pixel *[]){p0, p1, p2, p3, p4},
void(* filter)(uint8_t *src, int stride, int qscale)
uint8_t ptrdiff_t const uint8_t * _src
static void alf_filter_chroma(VVCLocalContext *lc, uint8_t *dst, const uint8_t *src, const ptrdiff_t dst_stride, const ptrdiff_t src_stride, const int c_idx, const int width, const int height, const int vb_pos, const ALFParams *alf)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
void FUNC2(ff_alf_filter_luma_kernel, void FUNC2(BIT_DEPTH, _neon)
#define i(width, name, range_min, range_max)
#define ALF_NUM_COEFF_LUMA
static void alf_filter_luma(VVCLocalContext *lc, uint8_t *dst, const uint8_t *src, const ptrdiff_t dst_stride, const ptrdiff_t src_stride, const int x0, const int y0, const int width, const int height, const int _vb_pos, const ALFParams *alf)