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:
authorRonald S. Bultje <rsbultje@gmail.com>2019-11-17 22:14:13 +0300
committerRonald S. Bultje <rsbultje@gmail.com>2022-01-15 00:27:42 +0300
commit9a691b31317c6518fdccdd5a39f9b05e66631f22 (patch)
tree13e01c6e629c94c800dcdbd8f01e68e95a1b06c2 /include
parent19326c40ca88f84016fc3638645221553367f449 (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.h14
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;
/**