diff options
author | Anton Khirnov <anton@khirnov.net> | 2024-07-08 18:01:13 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2024-08-01 10:09:26 +0200 |
commit | 28769f6bc19ba10415405e63a06fe09f18d781b4 (patch) | |
tree | 6a2fe6b69be02bd2e2d61b71efd40ed3ff01d694 /libavcodec/ffv1.h | |
parent | 9b86ba5a9289160962bca61df5639dae21784fb2 (diff) | |
download | ffmpeg-28769f6bc19ba10415405e63a06fe09f18d781b4.tar.gz |
lavc/ffv1: move FFV1Context.plane to per-slice context
Diffstat (limited to 'libavcodec/ffv1.h')
-rw-r--r-- | libavcodec/ffv1.h | 7 |
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) |