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
path: root/src/cdf.h
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2018-12-09 17:52:09 +0300
committerRonald S. Bultje <rsbultje@gmail.com>2018-12-10 00:26:43 +0300
commit0f7a97ba909929bf312f1c9df3e5fc411479981c (patch)
treea27471b11c8af5ae5acdf27b4537602c9ceb16e8 /src/cdf.h
parent6bc4acf43c3f76fec817b5fb4e3b4ada4ae41ad6 (diff)
Make static CDF tables source directly from rodata
Fixes #57, removes one rodata duplicate (vertical mv component is identical to horizontal one), and removes memcpy() of rodata tables to the source Dav1dThreadCdfContext for each frame where primary_ref is PRIMARY_REF_NONE.
Diffstat (limited to 'src/cdf.h')
-rw-r--r--src/cdf.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/cdf.h b/src/cdf.h
index 27d0f65..40fae01 100644
--- a/src/cdf.h
+++ b/src/cdf.h
@@ -125,19 +125,22 @@ typedef struct CdfContext {
} CdfContext;
typedef struct CdfThreadContext {
- CdfContext *cdf;
Dav1dRef *ref; ///< allocation origin
+ union {
+ CdfContext *cdf; // if ref != NULL
+ unsigned qcat; // if ref == NULL, from static CDF tables
+ } data;
struct thread_data *t;
atomic_uint *progress;
} CdfThreadContext;
-int dav1d_init_states(CdfThreadContext *cdf, int qidx);
-void dav1d_update_tile_cdf(const Dav1dFrameHeader *hdr, CdfContext *dst,
- const CdfContext *src);
-
+void dav1d_cdf_thread_init_static(CdfThreadContext *cdf, int qidx);
int dav1d_cdf_thread_alloc(CdfThreadContext *cdf, struct thread_data *t);
+void dav1d_cdf_thread_copy(CdfContext *dst, const CdfThreadContext *src);
void dav1d_cdf_thread_ref(CdfThreadContext *dst, CdfThreadContext *src);
void dav1d_cdf_thread_unref(CdfThreadContext *cdf);
+void dav1d_cdf_thread_update(const Dav1dFrameHeader *hdr, CdfContext *dst,
+ const CdfContext *src);
/*
* These are binary signals (so a signal is either "done" or "not done").