Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Gramner <gramner@twoorioles.com>2020-01-29 16:17:11 +0300
committerHenrik Gramner <gramner@twoorioles.com>2020-02-01 16:17:56 +0300
commitbb178db019da21d62fae8c255675efbd84327195 (patch)
tree9eef133c2a24b8612947dc92ef990d0f8f2069e7 /src/internal.h
parentdccc21b742f328060c124463c5d05f76472d758c (diff)
Rework the CDEF top edge handling
Avoids some pointer chasing and simplifies the DSP code, at the cost of making the initialization a little bit more complicated. Also reduces memory usage by a small amount due to properly sizing the buffers instead of always allocating enough space for 4:4:4.
Diffstat (limited to 'src/internal.h')
-rw-r--r--src/internal.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/internal.h b/src/internal.h
index 9b8d3b4..2254b00 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -216,12 +216,14 @@ struct Dav1dFrameContext {
Av1Filter *mask;
Av1Restoration *lr_mask;
int top_pre_cdef_toggle;
- int mask_sz /* w*h */, lr_mask_sz, line_sz /* w */, lr_line_sz, re_sz /* h */;
+ int mask_sz /* w*h */, lr_mask_sz, cdef_line_sz[2] /* stride */;
+ int lr_line_sz, re_sz /* h */;
ALIGN(Av1FilterLUT lim_lut, 16);
int last_sharpness;
uint8_t lvl[8 /* seg_id */][4 /* dir */][8 /* ref */][2 /* is_gmv */];
uint8_t *tx_lpf_right_edge[2];
- pixel *cdef_line[2 /* pre, post */][3 /* plane */][2 /* y */];
+ uint8_t *cdef_line_buf;
+ pixel *cdef_line[2 /* pre, post */][3 /* plane */];
pixel *lr_lpf_line[3 /* plane */];
// in-loop filter per-frame state keeping