aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/ffv1.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2024-07-08 18:01:13 +0200
committerAnton Khirnov <anton@khirnov.net>2024-08-01 10:09:26 +0200
commit28769f6bc19ba10415405e63a06fe09f18d781b4 (patch)
tree6a2fe6b69be02bd2e2d61b71efd40ed3ff01d694 /libavcodec/ffv1.h
parent9b86ba5a9289160962bca61df5639dae21784fb2 (diff)
downloadffmpeg-28769f6bc19ba10415405e63a06fe09f18d781b4.tar.gz
lavc/ffv1: move FFV1Context.plane to per-slice context
Diffstat (limited to 'libavcodec/ffv1.h')
-rw-r--r--libavcodec/ffv1.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/ffv1.h b/libavcodec/ffv1.h
index e466aedbbe..68e59b300b 100644
--- a/libavcodec/ffv1.h
+++ b/libavcodec/ffv1.h
@@ -81,6 +81,7 @@ typedef struct FFV1SliceContext {
int slice_rct_by_coef;
int slice_rct_ry_coef;
+ PlaneContext plane[MAX_PLANES];
PutBitContext pb;
} FFV1SliceContext;
@@ -106,7 +107,6 @@ typedef struct FFV1Context {
int plane_count;
int ac; ///< 1=range coder <-> 0=golomb rice
int ac_byte_count; ///< number of bytes used for AC coding
- PlaneContext plane[MAX_PLANES];
int16_t quant_tables[MAX_QUANT_TABLES][MAX_CONTEXT_INPUTS][256];
int context_count[MAX_QUANT_TABLES];
uint8_t state_transition[256];
@@ -138,11 +138,12 @@ typedef struct FFV1Context {
} FFV1Context;
int ff_ffv1_common_init(AVCodecContext *avctx);
-int ff_ffv1_init_slice_state(const FFV1Context *f, FFV1Context *fs);
+int ff_ffv1_init_slice_state(const FFV1Context *f, FFV1Context *fs,
+ FFV1SliceContext *sc);
int ff_ffv1_init_slices_state(FFV1Context *f);
int ff_ffv1_init_slice_contexts(FFV1Context *f);
int ff_ffv1_allocate_initial_states(FFV1Context *f);
-void ff_ffv1_clear_slice_state(const FFV1Context *f, FFV1Context *fs);
+void ff_ffv1_clear_slice_state(const FFV1Context *f, FFV1SliceContext *sc);
int ff_ffv1_close(AVCodecContext *avctx);
static av_always_inline int fold(int diff, int bits)