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:
authorNiklas Haas <git@haasn.xyz>2018-11-13 18:53:10 +0300
committerRonald S. Bultje <rsbultje@gmail.com>2018-11-19 16:30:12 +0300
commitcfa986fe1b9fa783671ea66cf479a26b2a5aff19 (patch)
tree00ab188a4eb485310a81548761d67fc8e3ce8ac1 /include/dav1d/dav1d.h
parent20e9f4df68761e48d44d134ba942e4ecc11446b7 (diff)
film_grain: implement film grain synthesis
This is using a slightly adapted version of my GPU-based algorithm. The major difference to the algorithm suggested by the spec (and implemented in libaom) is that instead of using a line buffer to hold the previous row's film grain blocks, we compute each row/block fully independently. This opens up the door to exploit parallelism in the future, since we don't have any left->right or top->down dependency except for the PRNG state. (Which we could pre-compute for a massively parallel / GPU implementation) That being said, it's probably somewhat slower than using a line buffer for the serial / single CPU case, although most likely not by much (since the areas with the most redundant work get progressively smaller, down to a single 2x2 square for the worst case).
Diffstat (limited to 'include/dav1d/dav1d.h')
-rw-r--r--include/dav1d/dav1d.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/dav1d/dav1d.h b/include/dav1d/dav1d.h
index 7179e6c..5bf7a2b 100644
--- a/include/dav1d/dav1d.h
+++ b/include/dav1d/dav1d.h
@@ -45,6 +45,7 @@ typedef struct Dav1dSettings {
int n_frame_threads;
int n_tile_threads;
Dav1dPicAllocator allocator;
+ int apply_grain;
} Dav1dSettings;
/**