diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2019-11-17 22:14:13 +0300 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2022-01-15 00:27:42 +0300 |
commit | 9a691b31317c6518fdccdd5a39f9b05e66631f22 (patch) | |
tree | 13e01c6e629c94c800dcdbd8f01e68e95a1b06c2 /include | |
parent | 19326c40ca88f84016fc3638645221553367f449 (diff) |
add --inloopfilters to enable/disable postfilters dynamically
(To be used alongside --filmgrain.)
Addresses part of #310.
Diffstat (limited to 'include')
-rw-r--r-- | include/dav1d/dav1d.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/dav1d/dav1d.h b/include/dav1d/dav1d.h index a03fe93..0938156 100644 --- a/include/dav1d/dav1d.h +++ b/include/dav1d/dav1d.h @@ -58,6 +58,16 @@ typedef struct Dav1dLogger { void (*callback)(void *cookie, const char *format, va_list ap); } Dav1dLogger; +enum Dav1dInloopFilterType { + DAV1D_INLOOPFILTER_NONE = 0, + DAV1D_INLOOPFILTER_DEBLOCK = 1 << 0, + DAV1D_INLOOPFILTER_CDEF = 1 << 1, + DAV1D_INLOOPFILTER_RESTORATION = 1 << 2, + DAV1D_INLOOPFILTER_ALL = DAV1D_INLOOPFILTER_DEBLOCK | + DAV1D_INLOOPFILTER_CDEF | + DAV1D_INLOOPFILTER_RESTORATION, +}; + typedef struct Dav1dSettings { int n_threads; ///< number of threads (0 = number of logical cores in host system, default 0) int max_frame_delay; ///< Set to 1 for low-latency decoding (0 = ceil(sqrt(n_threads)), default 0) @@ -74,7 +84,9 @@ typedef struct Dav1dSettings { ///< to all visible frames. Because of show-existing-frame, this ///< means some frames may appear twice (once when coded, ///< once when shown, default 0) - uint8_t reserved[24]; ///< reserved for future use + enum Dav1dInloopFilterType inloop_filters; ///< postfilters to enable during decoding (default + ///< DAV1D_INLOOPFILTER_ALL) + uint8_t reserved[20]; ///< reserved for future use } Dav1dSettings; /** |