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
AgeCommit message (Collapse)Author
2021-12-13x86: Add 10-bit sgr AVX-512 (Ice Lake) asmHenrik Gramner
2021-10-29Remove lpf_stride parameter from LR filtersVictorien Le Couviour--Tuffet
2021-10-29Allow CDEF and LR to run sbrows in parallelVictorien Le Couviour--Tuffet
2021-09-10Revert "Group lr_lpf_line re-allocation with lr_mask_sz"Victorien Le Couviour--Tuffet
This reverts commit e53314177a5a45a1c1c907464b19ade625d110a6. Causes issues when the sample has both 8 and 16 bit content. Credit to Oss-Fuzz.
2021-09-07Group lr_lpf_line re-allocation with lr_mask_szVictorien Le Couviour--Tuffet
2021-09-03Merge the 3 threading models into a single oneVictorien Le Couviour--Tuffet
Merges the 3 threading parameters into a single `--threads=` argument. Frame threading can still be controlled via the `--framedelay=` argument. Internally, the threading model is now a global thread/task pool design. Co-authored-by: Ronald S. Bultje <rsbultje@gmail.com>
2021-02-11Add minor SGR optimizationsHenrik Gramner
Split the 5x5, 3x3, and mix cases into separate functions. Shrink some tables. Move some scalar calculations out of the DSP function. Make Wiener and SGR share the same function prototype to eliminate a branch in lr_stripe().
2021-01-28Add post-filters threading modelVictorien Le Couviour--Tuffet
2020-12-13x86: Rewrite wiener SSE2/SSSE3/AVX2 asmHenrik Gramner
The previous implementation did two separate passes in the horizontal and vertical directions, with the intermediate values being stored in a buffer on the stack. This caused bad cache thrashing. By interleaving the horizontal and vertical passes in combination with a ring buffer for storing only a few rows at a time the performance is improved by a significant amount. Also split the function into 7-tap and 5-tap versions. The latter is faster and fairly common (always for chroma, sometimes for luma).
2020-12-13Add miscellaneous minor wiener optimizationsHenrik Gramner
Combine horizontal and vertical filter pointers into a single parameter when calling the wiener DSP function. Eliminate the +128 filter coefficient handling where possible.
2020-04-02Skip loop restoration cache buffer resize for too-small buffersRonald S. Bultje
Fixes crashes in dav1d_resize_{avx2,ssse3} on very small resolutions with super_res enabled but skipped because the width is too small.
2020-03-31Invert src_w/h argument in mc.resize()Ronald S. Bultje
2019-10-08Remove branch when changing bit in LR edges maskLuc Trudeau
2019-10-07Don't backup pixels if next restoration unit is NONELuc Trudeau
2019-10-04Check for RESTORATION_NONE once per frameLuc Trudeau
Prior checks were done at the sbrow level. This now allows to call dav1d_lr_sbrow and dav1d_lr_copy_lpf only when there's something for them to do.
2019-07-02Reduce the size of frame threading buffersHenrik Gramner
Avoid allocating significantly more memory than what is actually used.
2019-02-08Avoid warnings about variables being truncated by changing the type of variablesMartin Storsjö
2018-12-21Duplicate LR line if the bottom edge only has one line availableRonald S. Bultje
Fixes #227.
2018-12-0612 bits/component supportRonald S. Bultje
2018-11-30backup_lpf: increment row by the correct stripe_hJanne Grunau
Fixes #200.
2018-11-25Move Av1FrameHeader and Av1SequenceHeader into public headersRonald S. Bultje
Add DAV1D_/Dav1d prefix to everything.
2018-11-25Make frame_hdr a pointerRonald S. Bultje
2018-11-25Make sequence header a referenced objectRonald S. Bultje
2018-11-24backup_lpf: do not store 4 pixels rows at the bottom edge of the pictureJanne Grunau
Fixes #192, an use-of-uninitialized-value in resize_c with clusterfuzz-testcase-minimized-dav1d_fuzzer-5657755306688512. Credits to oss-fuzz.
2018-11-19Slightly simplify the loop in lr_sbrow()Ronald S. Bultje
2018-11-17Fix calculation of unit_idx to identify Av1RestorationUnitRonald S. Bultje
ruy and rux are in unit_size dimensions, whereas lr_mask are in sb128 dimensions, and unit_idx is in sb64 dimensions, so one can't be derived from the other. Instead, remove ruy/rux and derive unit_idx and sb_idx directly from the block positions aligned to the unit_size.
2018-11-16Add support for super-resRonald S. Bultje
Fixes #172.
2018-10-28Backup extra 8 pixels at bottom of frameRonald S. Bultje
Fixes #112.
2018-10-25Build: Add suffix to templated BITDEPTH filesMarvin Scholz
Fix #96