From 54962c63891ac25533bb2adde673c71a2244ea43 Mon Sep 17 00:00:00 2001 From: "Dylan M. Taylor" Date: Sat, 24 Oct 2026 04:43:36 -0400 Subject: [PATCH] refactor: explicit imports for table modules (SonarCloud S2208) (#1262) * refactor: replace wildcard table imports with explicit names (SonarCloud S2208) Co-Authored-By: Claude Sonnet 5.5 * style: rustfmt Co-Authored-By: Claude Sonnet 5.5 --------- Co-authored-by: Claude Sonnet 5.5 --- crates/anim/src/transition_fx.rs | 5 ++++- crates/av1/src/cdef.rs | 2 +- crates/av1/src/cdf.rs | 22 +++++++++++++++++++++- crates/av1/src/decoder.rs | 6 +++++- crates/av1/src/header.rs | 9 ++++++++- crates/av1/src/inter.rs | 11 ++++++++++- crates/av1/src/inter_info.rs | 9 ++++++++- crates/av1/src/intra.rs | 6 +++++- crates/av1/src/mvpred.rs | 5 ++++- crates/av1/src/postfilter.rs | 5 ++++- crates/av1/src/restoration.rs | 6 +++++- crates/av1/src/state.rs | 2 +- crates/av1/src/tile.rs | 22 +++++++++++++++++++++- crates/av1/src/transform.rs | 5 ++++- crates/h264/src/cabac_mb.rs | 2 +- crates/h264/src/cavlc.rs | 2 +- crates/h264/src/params.rs | 2 +- crates/h264/src/slicedec.rs | 6 +++--- crates/hevc/src/slicedec.rs | 6 +++++- crates/hevc/src/synth_tests.rs | 2 +- crates/opus/src/celt/bands.rs | 2 +- crates/opus/src/celt/energy.rs | 2 +- crates/opus/src/celt/mod.rs | 2 +- crates/opus/src/celt/rate.rs | 2 +- crates/opus/src/silk/lpc.rs | 5 ++++- crates/opus/src/silk/mod.rs | 9 +++++++-- crates/vp9/src/decoder.rs | 2 +- crates/vp9/src/header.rs | 5 ++++- crates/vp9/src/intra.rs | 2 +- crates/vp9/src/loopfilter.rs | 5 ++++- crates/vp9/src/probs.rs | 9 ++++++++- crates/vp9/src/tile.rs | 9 ++++++++- crates/vp9/src/tile/recon.rs | 5 ++++- 33 files changed, 158 insertions(+), 36 deletions(-) diff --git a/crates/anim/src/transition_fx.rs b/crates/anim/src/transition_fx.rs index 3bbc4a8d..f55866ce 100644 --- a/crates/anim/src/transition_fx.rs +++ b/crates/anim/src/transition_fx.rs @@ -9,7 +9,10 @@ use std::f64::consts::PI; use crate::easing::ease; use crate::transition::{FULL, Layer, R, Source}; -use crate::transition_geom::*; +use crate::transition_geom::{ + Cam, V3, boundary, card, center, clip, dir, edge, ein, eout, facing_shade, fan, field, hash64, moved, offset, poly_layers, pow_inout, q2, + rect_poly, rnd, rot, rot_quad, scale_rect, scaled, soft_rect, ss, v3, win, +}; use Source::{Black, New, NewBack, NewContent, Old, OldBack, OldContent, White}; diff --git a/crates/av1/src/cdef.rs b/crates/av1/src/cdef.rs index 9860f65c..0a919351 100644 --- a/crates/av1/src/cdef.rs +++ b/crates/av1/src/cdef.rs @@ -1,7 +1,7 @@ //! CDEF (7.15). use crate::frame::{FrameBuf, Plane}; -use crate::spec_tables::*; +use crate::spec_tables::{CDEF_DIRECTIONS, CDEF_PRI_TAPS, CDEF_SEC_TAPS, CDEF_UV_DIR, DIV_TABLE}; use crate::state::FrameState; /// Run CDEF on `fs.cur`; returns the CdefFrame, or None when no block is filtered (CdefFrame diff --git a/crates/av1/src/cdf.rs b/crates/av1/src/cdf.rs index a2d5e761..c8dec19c 100644 --- a/crates/av1/src/cdf.rs +++ b/crates/av1/src/cdf.rs @@ -1,6 +1,26 @@ //! The adaptive CDF arrays (spec 6.8.2 init_non_coeff_cdfs / init_coeff_cdfs, load_cdfs). -use crate::spec_tables::*; +use crate::spec_tables::{ + DEFAULT_ANGLE_DELTA_CDF, DEFAULT_CFL_ALPHA_CDF, DEFAULT_CFL_SIGN_CDF, DEFAULT_COEFF_BASE_CDF, DEFAULT_COEFF_BASE_EOB_CDF, DEFAULT_COEFF_BR_CDF, + DEFAULT_COMP_BWD_REF_CDF, DEFAULT_COMP_GROUP_IDX_CDF, DEFAULT_COMP_MODE_CDF, DEFAULT_COMP_REF_CDF, DEFAULT_COMP_REF_TYPE_CDF, + DEFAULT_COMPOUND_IDX_CDF, DEFAULT_COMPOUND_MODE_CDF, DEFAULT_COMPOUND_TYPE_CDF, DEFAULT_DC_SIGN_CDF, DEFAULT_DELTA_LF_CDF, DEFAULT_DELTA_Q_CDF, + DEFAULT_DRL_MODE_CDF, DEFAULT_EOB_EXTRA_CDF, DEFAULT_EOB_PT_16_CDF, DEFAULT_EOB_PT_32_CDF, DEFAULT_EOB_PT_64_CDF, DEFAULT_EOB_PT_128_CDF, + DEFAULT_EOB_PT_256_CDF, DEFAULT_EOB_PT_512_CDF, DEFAULT_EOB_PT_1024_CDF, DEFAULT_FILTER_INTRA_CDF, DEFAULT_FILTER_INTRA_MODE_CDF, + DEFAULT_INTER_INTRA_CDF, DEFAULT_INTER_INTRA_MODE_CDF, DEFAULT_INTER_TX_TYPE_SET1_CDF, DEFAULT_INTER_TX_TYPE_SET2_CDF, + DEFAULT_INTER_TX_TYPE_SET3_CDF, DEFAULT_INTERP_FILTER_CDF, DEFAULT_INTRA_TX_TYPE_SET1_CDF, DEFAULT_INTRA_TX_TYPE_SET2_CDF, DEFAULT_INTRABC_CDF, + DEFAULT_IS_INTER_CDF, DEFAULT_MOTION_MODE_CDF, DEFAULT_MV_BIT_CDF, DEFAULT_MV_CLASS_CDF, DEFAULT_MV_CLASS0_BIT_CDF, DEFAULT_MV_CLASS0_FR_CDF, + DEFAULT_MV_CLASS0_HP_CDF, DEFAULT_MV_FR_CDF, DEFAULT_MV_HP_CDF, DEFAULT_MV_JOINT_CDF, DEFAULT_MV_SIGN_CDF, DEFAULT_NEW_MV_CDF, + DEFAULT_PALETTE_SIZE_2_UV_COLOR_CDF, DEFAULT_PALETTE_SIZE_2_Y_COLOR_CDF, DEFAULT_PALETTE_SIZE_3_UV_COLOR_CDF, DEFAULT_PALETTE_SIZE_3_Y_COLOR_CDF, + DEFAULT_PALETTE_SIZE_4_UV_COLOR_CDF, DEFAULT_PALETTE_SIZE_4_Y_COLOR_CDF, DEFAULT_PALETTE_SIZE_5_UV_COLOR_CDF, DEFAULT_PALETTE_SIZE_5_Y_COLOR_CDF, + DEFAULT_PALETTE_SIZE_6_UV_COLOR_CDF, DEFAULT_PALETTE_SIZE_6_Y_COLOR_CDF, DEFAULT_PALETTE_SIZE_7_UV_COLOR_CDF, DEFAULT_PALETTE_SIZE_7_Y_COLOR_CDF, + DEFAULT_PALETTE_SIZE_8_UV_COLOR_CDF, DEFAULT_PALETTE_SIZE_8_Y_COLOR_CDF, DEFAULT_PALETTE_UV_MODE_CDF, DEFAULT_PALETTE_UV_SIZE_CDF, + DEFAULT_PALETTE_Y_MODE_CDF, DEFAULT_PALETTE_Y_SIZE_CDF, DEFAULT_PARTITION_W8_CDF, DEFAULT_PARTITION_W16_CDF, DEFAULT_PARTITION_W32_CDF, + DEFAULT_PARTITION_W64_CDF, DEFAULT_PARTITION_W128_CDF, DEFAULT_REF_MV_CDF, DEFAULT_RESTORATION_TYPE_CDF, DEFAULT_SEGMENT_ID_CDF, + DEFAULT_SEGMENT_ID_PREDICTED_CDF, DEFAULT_SINGLE_REF_CDF, DEFAULT_SKIP_CDF, DEFAULT_SKIP_MODE_CDF, DEFAULT_TX_8X8_CDF, DEFAULT_TX_16X16_CDF, + DEFAULT_TX_32X32_CDF, DEFAULT_TX_64X64_CDF, DEFAULT_TXB_SKIP_CDF, DEFAULT_TXFM_SPLIT_CDF, DEFAULT_UNI_COMP_REF_CDF, DEFAULT_USE_OBMC_CDF, + DEFAULT_USE_SGRPROJ_CDF, DEFAULT_USE_WIENER_CDF, DEFAULT_UV_MODE_CFL_ALLOWED_CDF, DEFAULT_UV_MODE_CFL_NOT_ALLOWED_CDF, DEFAULT_WEDGE_INDEX_CDF, + DEFAULT_WEDGE_INTER_INTRA_CDF, DEFAULT_Y_MODE_CDF, DEFAULT_ZERO_MV_CDF, FRAME_LF_COUNT, MV_CONTEXTS, +}; /// Every CDF array listed by init_non_coeff_cdfs and init_coeff_cdfs. Each innermost array holds /// N cumulative values (the last is 32768) plus the adaptation counter. diff --git a/crates/av1/src/decoder.rs b/crates/av1/src/decoder.rs index 3e0aa237..b60f94dd 100644 --- a/crates/av1/src/decoder.rs +++ b/crates/av1/src/decoder.rs @@ -17,7 +17,11 @@ use crate::cdf::Cdfs; use crate::frame::FrameBuf; use crate::header::{FilmGrainParams, FrameHeader, HeaderState, LoopFilterDeltas, RefInfo, SegmentationFeatures, SequenceHeader, default_gm_params}; use crate::par::Pool; -use crate::spec_tables::*; +use crate::spec_tables::{ + ALTREF_FRAME, ALTREF2_FRAME, BWDREF_FRAME, DEFAULT_INTRA_FRAME_Y_MODE_CDF, DIV_MULT, GOLDEN_FRAME, INTRA_FRAME, INTRA_ONLY_FRAME, KEY_FRAME, + LAST_FRAME, LAST2_FRAME, MAX_FRAME_DISTANCE, MAX_OFFSET_HEIGHT, MAX_OFFSET_WIDTH, MFMV_STACK_SIZE, NUM_REF_FRAMES, PRIMARY_REF_NONE, + REFMVS_LIMIT, REFS_PER_FRAME, +}; use crate::state::{FrameShared, FrameState, TileState}; use crate::stats::{DecodeStats, Stage, Timer}; use crate::tile::TileDecoder; diff --git a/crates/av1/src/header.rs b/crates/av1/src/header.rs index 16cccd9e..e89876c7 100644 --- a/crates/av1/src/header.rs +++ b/crates/av1/src/header.rs @@ -1,7 +1,14 @@ //! Sequence header (5.5) and uncompressed frame header (5.9) parsing. use crate::bits::BitReader; -use crate::spec_tables::*; +use crate::spec_tables::{ + AFFINE, ALTREF_FRAME, ALTREF2_FRAME, BWDREF_FRAME, GM_ABS_ALPHA_BITS, GM_ABS_TRANS_BITS, GM_ABS_TRANS_ONLY_BITS, GM_ALPHA_PREC_BITS, + GM_TRANS_ONLY_PREC_BITS, GM_TRANS_PREC_BITS, GOLDEN_FRAME, IDENTITY, INTER_FRAME, INTRA_ONLY_FRAME, KEY_FRAME, LAST_FRAME, MAX_SEGMENTS, + MAX_TILE_AREA, MAX_TILE_COLS, MAX_TILE_ROWS, MAX_TILE_WIDTH, NUM_REF_FRAMES, ONLY_4X4, PRIMARY_REF_NONE, REF_FRAME_LIST, REFS_PER_FRAME, + RESTORATION_TILESIZE_MAX, RESTORE_NONE, RESTORE_SGRPROJ, RESTORE_SWITCHABLE, RESTORE_WIENER, ROTZOOM, SEG_LVL_ALT_Q, SEG_LVL_MAX, + SEG_LVL_REF_FRAME, SELECT_INTEGER_MV, SELECT_SCREEN_CONTENT_TOOLS, SUPERRES_DENOM_BITS, SUPERRES_DENOM_MIN, SUPERRES_NUM, SWITCH_FRAME, + TOTAL_REFS_PER_FRAME, TRANSLATION, TX_MODE_LARGEST, TX_MODE_SELECT, WARPEDMODEL_PREC_BITS, +}; use crate::{Error, Result}; pub const EIGHTTAP: u8 = 0; diff --git a/crates/av1/src/inter.rs b/crates/av1/src/inter.rs index d3418a99..f14e59b9 100644 --- a/crates/av1/src/inter.rs +++ b/crates/av1/src/inter.rs @@ -5,7 +5,16 @@ use std::sync::OnceLock; use crate::frame::Plane; use crate::mvpred::round2_signed64; -use crate::spec_tables::*; +use crate::spec_tables::{ + BLOCK_8X8, BLOCK_SIZES, COMPOUND_AVERAGE, COMPOUND_DIFFWTD, COMPOUND_DISTANCE, COMPOUND_INTRA, COMPOUND_WEDGE, DIV_LUT, DIV_LUT_BITS, + DIV_LUT_PREC_BITS, EIGHTTAP, EIGHTTAP_SHARP, EIGHTTAP_SMOOTH, FILTER_BITS, GLOBAL_GLOBALMV, GLOBALMV, II_H_PRED, II_SMOOTH_PRED, II_V_PRED, + II_WEIGHTS_1D, INTRA_FRAME, LAST_FRAME, LOCALWARP, LS_MV_MAX, MASK_MASTER_SIZE, MAX_FRAME_DISTANCE, MAX_SB_SIZE, MI_HEIGHT_LOG2, MI_WIDTH_LOG2, + NUM_4X4_BLOCKS_HIGH, NUM_4X4_BLOCKS_WIDE, OBMC, OBMC_MASK_2, OBMC_MASK_4, OBMC_MASK_8, OBMC_MASK_16, OBMC_MASK_32, QUANT_DIST_LOOKUP, + QUANT_DIST_WEIGHT, REF_SCALE_SHIFT, SCALE_SUBPEL_BITS, SUBPEL_BITS, SUBPEL_FILTERS, SUBPEL_MASK, TRANSLATION, WARP_PARAM_REDUCE_BITS, + WARPED_FILTERS, WARPEDDIFF_PREC_BITS, WARPEDMODEL_NONDIAGAFFINE_CLAMP, WARPEDMODEL_PREC_BITS, WARPEDMODEL_TRANS_CLAMP, WARPEDPIXEL_PREC_SHIFTS, + WEDGE_BITS, WEDGE_CODEBOOK, WEDGE_HORIZONTAL, WEDGE_MASTER_OBLIQUE_EVEN, WEDGE_MASTER_OBLIQUE_ODD, WEDGE_MASTER_VERTICAL, WEDGE_OBLIQUE27, + WEDGE_OBLIQUE63, WEDGE_OBLIQUE117, WEDGE_OBLIQUE153, WEDGE_TYPES, WEDGE_VERTICAL, +}; use crate::tile::TileDecoder; const PRED_STRIDE: usize = 128; diff --git a/crates/av1/src/inter_info.rs b/crates/av1/src/inter_info.rs index 6f9b2744..d4b25e8d 100644 --- a/crates/av1/src/inter_info.rs +++ b/crates/av1/src/inter_info.rs @@ -3,7 +3,14 @@ use crate::Result; use crate::header::{EIGHTTAP, SWITCHABLE}; use crate::mvpred::MvP; -use crate::spec_tables::*; +use crate::spec_tables::{ + ALTREF_FRAME, ALTREF2_FRAME, BLOCK_8X8, BLOCK_32X32, BLOCK_64X64, BLOCK_128X128, BWDREF_FRAME, CLASS0_SIZE, COMP_NEWMV_CTXS, COMPOUND_AVERAGE, + COMPOUND_DIFFWTD, COMPOUND_DISTANCE, COMPOUND_INTRA, COMPOUND_MODE_CTX_MAP, COMPOUND_REFERENCE, COMPOUND_WEDGE, GLOBAL_GLOBALMV, GLOBALMV, + GOLDEN_FRAME, INTRA_FRAME, INTRABC_DELAY_PIXELS, LAST_FRAME, LAST2_FRAME, LAST3_FRAME, LOCALWARP, MV_CLASS_0, MV_INTRABC_CONTEXT, + MV_JOINT_HNZVNZ, MV_JOINT_HNZVZ, MV_JOINT_HZVNZ, NEAR_NEARMV, NEAR_NEWMV, NEAREST_NEARESTMV, NEAREST_NEWMV, NEARESTMV, NEARMV, NEW_NEARESTMV, + NEW_NEARMV, NEW_NEWMV, NEWMV, NUM_4X4_BLOCKS_HIGH, NUM_4X4_BLOCKS_WIDE, OBMC, REF_SCALE_SHIFT, SEG_LVL_GLOBALMV, SEG_LVL_REF_FRAME, SEG_LVL_SKIP, + SIMPLE, SINGLE_REFERENCE, SIZE_GROUP, TRANSLATION, UNIDIR_COMP_REFERENCE, UV_CFL_PRED, WEDGE_BITS, +}; use crate::tile::TileDecoder; fn block_width(bs: usize) -> usize { diff --git a/crates/av1/src/intra.rs b/crates/av1/src/intra.rs index 893bb86f..e80d611b 100644 --- a/crates/av1/src/intra.rs +++ b/crates/av1/src/intra.rs @@ -1,7 +1,11 @@ //! Intra prediction (spec 7.11.2), palette prediction (7.11.4) and chroma from luma (7.11.5). use crate::frame::Plane; -use crate::spec_tables::*; +use crate::spec_tables::{ + ANGLE_STEP, D67_PRED, DC_PRED, DR_INTRA_DERIVATIVE, INTRA_EDGE_KERNEL, INTRA_EDGE_TAPS, INTRA_FILTER_SCALE_BITS, INTRA_FILTER_TAPS, + MODE_TO_ANGLE, SM_WEIGHTS_TX_4X4, SM_WEIGHTS_TX_8X8, SM_WEIGHTS_TX_16X16, SM_WEIGHTS_TX_32X32, SM_WEIGHTS_TX_64X64, SMOOTH_H_PRED, SMOOTH_PRED, + SMOOTH_V_PRED, V_PRED, +}; use crate::transform::round2; /// Inputs of the intra prediction process that come from the block. diff --git a/crates/av1/src/mvpred.rs b/crates/av1/src/mvpred.rs index d281003d..6339d5ee 100644 --- a/crates/av1/src/mvpred.rs +++ b/crates/av1/src/mvpred.rs @@ -1,7 +1,10 @@ //! Motion vector prediction processes (spec 7.10): find_mv_stack, has_overlappable_candidates //! and find_warp_samples. -use crate::spec_tables::*; +use crate::spec_tables::{ + GLOBAL_GLOBALMV, GLOBALMV, IDENTITY, INTRA_FRAME, LEAST_SQUARES_SAMPLES_MAX, MAX_REF_MV_STACK_SIZE, MV_BORDER, NEAR_NEWMV, NEAREST_NEWMV, + NEW_NEARESTMV, NEW_NEARMV, NEW_NEWMV, NEWMV, NUM_4X4_BLOCKS_HIGH, NUM_4X4_BLOCKS_WIDE, REF_CAT_LEVEL, TRANSLATION, WARPEDMODEL_PREC_BITS, +}; use crate::tile::TileDecoder; pub(crate) type MvP = [i32; 2]; diff --git a/crates/av1/src/postfilter.rs b/crates/av1/src/postfilter.rs index ea157de5..4d9f9719 100644 --- a/crates/av1/src/postfilter.rs +++ b/crates/av1/src/postfilter.rs @@ -1,7 +1,10 @@ //! In-loop post filters run by decode_frame_wrapup: loop filter (7.14), CDEF (7.15), //! super-resolution upscaling (7.16) and loop restoration (7.17). -use crate::spec_tables::*; +use crate::spec_tables::{ + GLOBAL_GLOBALMV, GLOBALMV, INTRA_FRAME, MAX_LOOP_FILTER, NEARESTMV, NUM_4X4_BLOCKS_HIGH, NUM_4X4_BLOCKS_WIDE, SEG_LVL_ALT_LF_Y_V, TX_HEIGHT, + TX_WIDTH, +}; use crate::state::FrameState; use crate::stats::{DecodeStats, Stage, Timer}; diff --git a/crates/av1/src/restoration.rs b/crates/av1/src/restoration.rs index 693e2728..0b829733 100644 --- a/crates/av1/src/restoration.rs +++ b/crates/av1/src/restoration.rs @@ -1,7 +1,11 @@ //! Super-resolution upscaling (7.16) and loop restoration (7.17). use crate::frame::{FrameBuf, Plane}; -use crate::spec_tables::*; +use crate::spec_tables::{ + FILTER_BITS, RESTORE_NONE, RESTORE_SGRPROJ, RESTORE_WIENER, SGR_PARAMS, SGRPROJ_MTABLE_BITS, SGRPROJ_PRJ_BITS, SGRPROJ_RECIP_BITS, + SGRPROJ_RST_BITS, SGRPROJ_SGR_BITS, SUPERRES_EXTRA_BITS, SUPERRES_FILTER_OFFSET, SUPERRES_FILTER_TAPS, SUPERRES_SCALE_BITS, SUPERRES_SCALE_MASK, + UPSCALE_FILTER, +}; use crate::state::FrameState; /// Upscale a frame horizontally from FrameWidth to UpscaledWidth (7.16). diff --git a/crates/av1/src/state.rs b/crates/av1/src/state.rs index df600c6d..5a89c9b4 100644 --- a/crates/av1/src/state.rs +++ b/crates/av1/src/state.rs @@ -9,7 +9,7 @@ use crate::decoder::RefFrame; use crate::frame::{FrameBuf, MiInfo}; use crate::header::{FrameHeader, RefInfo, SequenceHeader}; -use crate::spec_tables::*; +use crate::spec_tables::{DEFAULT_INTRA_FRAME_Y_MODE_CDF, NUM_REF_FRAMES, RESTORE_NONE, SUBSAMPLED_SIZE}; use std::ops::{Deref, DerefMut}; use std::sync::Arc; diff --git a/crates/av1/src/tile.rs b/crates/av1/src/tile.rs index c8446795..3c11e71f 100644 --- a/crates/av1/src/tile.rs +++ b/crates/av1/src/tile.rs @@ -6,7 +6,27 @@ use crate::cdf::Cdfs; use crate::frame::{MiInfo, Mv}; use crate::header::{FrameHeader, NONE, SequenceHeader}; use crate::intra::{IntraParams, is_directional_mode, predict_intra, round2_signed}; -use crate::spec_tables::*; +use crate::spec_tables::{ + AC_QLOOKUP, ADJUSTED_TX_SIZE, ADST_FLIPADST, BLOCK_4X4, BLOCK_8X8, BLOCK_64X64, BLOCK_128X128, BR_CDF_SIZE, CFL_SIGN_NEG, CFL_SIGN_ZERO, + COEFF_BASE_CTX_OFFSET, COEFF_BASE_POS_CTX_OFFSET, COEFF_BASE_RANGE, COMPOUND_AVERAGE, DC_PRED, DC_QLOOKUP, DCT_DCT, DCT_FLIPADST, + DEFAULT_SCAN_4X4, DEFAULT_SCAN_4X8, DEFAULT_SCAN_4X16, DEFAULT_SCAN_8X4, DEFAULT_SCAN_8X8, DEFAULT_SCAN_8X16, DEFAULT_SCAN_8X32, + DEFAULT_SCAN_16X4, DEFAULT_SCAN_16X8, DEFAULT_SCAN_16X16, DEFAULT_SCAN_16X32, DEFAULT_SCAN_32X8, DEFAULT_SCAN_32X16, DEFAULT_SCAN_32X32, + DELTA_LF_SMALL, DELTA_Q_SMALL, FILTER_INTRA_MODE_TO_INTRA_DIR, FLIPADST_ADST, FLIPADST_DCT, FLIPADST_FLIPADST, FRAME_LF_COUNT, H_ADST, H_DCT, + H_FLIPADST, H_PRED, IDTX, II_DC_PRED, II_H_PRED, II_V_PRED, INTRA_FRAME, INTRA_MODE_CONTEXT, MAG_REF_OFFSET_WITH_TX_CLASS, MAX_ANGLE_DELTA, + MAX_LOOP_FILTER, MAX_TX_DEPTH_TABLE, MAX_TX_SIZE_RECT, MAX_VARTX_DEPTH, MCOL_SCAN_4X4, MCOL_SCAN_4X8, MCOL_SCAN_4X16, MCOL_SCAN_8X4, + MCOL_SCAN_8X8, MCOL_SCAN_8X16, MCOL_SCAN_16X4, MCOL_SCAN_16X8, MCOL_SCAN_16X16, MI_HEIGHT_LOG2, MI_WIDTH_LOG2, MODE_TO_TXFM, MROW_SCAN_4X4, + MROW_SCAN_4X8, MROW_SCAN_4X16, MROW_SCAN_8X4, MROW_SCAN_8X8, MROW_SCAN_8X16, MROW_SCAN_16X4, MROW_SCAN_16X8, MROW_SCAN_16X16, + NUM_4X4_BLOCKS_HIGH, NUM_4X4_BLOCKS_WIDE, NUM_BASE_LEVELS, PALETTE_COLOR_CONTEXT, PALETTE_COLOR_HASH_MULTIPLIERS, PALETTE_COLORS, + PALETTE_NUM_NEIGHBORS, PARTITION_HORZ, PARTITION_HORZ_4, PARTITION_HORZ_A, PARTITION_HORZ_B, PARTITION_NONE, PARTITION_SPLIT, PARTITION_SUBSIZE, + PARTITION_VERT, PARTITION_VERT_4, PARTITION_VERT_A, PARTITION_VERT_B, QM_OFFSET, QUANTIZER_MATRIX, RESTORE_NONE, RESTORE_SGRPROJ, RESTORE_WIENER, + SEG_LVL_SKIP, SGR_PARAMS, SGRPROJ_PARAMS_BITS, SGRPROJ_PRJ_BITS, SGRPROJ_PRJ_SUBEXP_K, SIG_REF_DIFF_OFFSET, SIG_REF_DIFF_OFFSET_NUM, SIMPLE, + SMOOTH_H_PRED, SMOOTH_PRED, SMOOTH_V_PRED, SPLIT_TX_SIZE, SUPERRES_NUM, TX_4X4, TX_4X8, TX_4X16, TX_8X4, TX_8X8, TX_8X16, TX_8X32, TX_16X4, + TX_16X8, TX_16X16, TX_16X32, TX_16X64, TX_32X8, TX_32X16, TX_32X32, TX_32X64, TX_64X16, TX_64X32, TX_64X64, TX_CLASS_2D, TX_CLASS_HORIZ, + TX_CLASS_VERT, TX_HEIGHT, TX_HEIGHT_LOG2, TX_MODE_SELECT, TX_SET_DCTONLY, TX_SET_INTER_1, TX_SET_INTER_2, TX_SET_INTER_3, TX_SET_INTRA_1, + TX_SET_INTRA_2, TX_SIZE_SQR, TX_SIZE_SQR_UP, TX_SIZES, TX_SIZES_ALL, TX_TYPE_IN_SET_INTER, TX_TYPE_IN_SET_INTRA, TX_TYPE_INTER_INV_SET1, + TX_TYPE_INTER_INV_SET2, TX_TYPE_INTER_INV_SET3, TX_TYPE_INTRA_INV_SET1, TX_TYPE_INTRA_INV_SET2, TX_WIDTH, TX_WIDTH_LOG2, UV_CFL_PRED, V_ADST, + V_DCT, V_FLIPADST, V_PRED, +}; use crate::state::{FrameShared, TileState}; use crate::symbol::SymbolDecoder; use crate::transform::inverse_transform_2d; diff --git a/crates/av1/src/transform.rs b/crates/av1/src/transform.rs index 626cefe8..afa649a4 100644 --- a/crates/av1/src/transform.rs +++ b/crates/av1/src/transform.rs @@ -1,6 +1,9 @@ //! Inverse transforms (spec 7.13), implemented step by step as specified. -use crate::spec_tables::*; +use crate::spec_tables::{ + ADST_ADST, ADST_DCT, ADST_FLIPADST, COS128_LOOKUP, DCT_ADST, DCT_DCT, DCT_FLIPADST, FLIPADST_ADST, FLIPADST_DCT, FLIPADST_FLIPADST, H_ADST, + H_DCT, H_FLIPADST, TRANSFORM_ROW_SHIFT, TX_HEIGHT_LOG2, TX_WIDTH_LOG2, V_ADST, V_DCT, V_FLIPADST, +}; #[inline(always)] fn round2_64(x: i64, n: u32) -> i32 { diff --git a/crates/h264/src/cabac_mb.rs b/crates/h264/src/cabac_mb.rs index f1bf6f0d..78c257e9 100644 --- a/crates/h264/src/cabac_mb.rs +++ b/crates/h264/src/cabac_mb.rs @@ -3,7 +3,7 @@ use crate::cabac::Cabac; use crate::error::{Result, ensure, invalid}; -use crate::mbtypes::*; +use crate::mbtypes::{MbTypeInfo, Part, SubMbInfo, b_mb_type, b_sub_mb_type, intra_mb_type, p_mb_type, p_sub_mb_type}; use crate::picture::MbKind; use crate::slice::SliceType; use crate::slicedec::{MbCur, SliceDecoder}; diff --git a/crates/h264/src/cavlc.rs b/crates/h264/src/cavlc.rs index 9711d258..a72ff50c 100644 --- a/crates/h264/src/cavlc.rs +++ b/crates/h264/src/cavlc.rs @@ -1,6 +1,6 @@ //! CAVLC residual block parsing (9.2). -use crate::cavlc_tables::*; +use crate::cavlc_tables::{COEFF_TOKEN, RUN_BEFORE, TOTAL_ZEROS_2X2, TOTAL_ZEROS_2X4, TOTAL_ZEROS_4X4}; use crate::error::{Result, ensure}; use deckcraft_bitstream::BitReader; use std::sync::OnceLock; diff --git a/crates/h264/src/params.rs b/crates/h264/src/params.rs index 461d316b..8b36b3ab 100644 --- a/crates/h264/src/params.rs +++ b/crates/h264/src/params.rs @@ -1,7 +1,7 @@ //! Sequence and picture parameter sets (7.3.2.1, 7.3.2.2) including VUI and scaling lists. use crate::error::{Result, ensure, unsupported}; -use crate::tables::*; +use crate::tables::{DEFAULT_4X4_INTER, DEFAULT_4X4_INTRA, DEFAULT_8X8_INTER, DEFAULT_8X8_INTRA, ZIGZAG4, ZIGZAG8}; use deckcraft_bitstream::BitReader; /// Scaling matrices after applying fall-back rules, stored in raster order (weightScale). diff --git a/crates/h264/src/slicedec.rs b/crates/h264/src/slicedec.rs index d1334808..19fa0615 100644 --- a/crates/h264/src/slicedec.rs +++ b/crates/h264/src/slicedec.rs @@ -5,11 +5,11 @@ use crate::deblock; use crate::error::{Result, ensure, invalid}; use crate::inter::{self, Weight}; use crate::intra::{self, Avail}; -use crate::mbtypes::*; +use crate::mbtypes::{CBP_ME, MbTypeInfo, Part, SubMbInfo, SubPart, b_mb_type, b_sub_mb_type, intra_mb_type, p_mb_type, p_sub_mb_type}; use crate::params::{Pps, Sps}; -use crate::picture::*; +use crate::picture::{Frame, FrameRef, MbKind, MbState, Planes, RefPic}; use crate::slice::{SliceHeader, SliceType}; -use crate::tables::*; +use crate::tables::{BLK4_XY, QPC_TABLE, RASTER_TO_BLK4, ZIGZAG4, ZIGZAG8}; use crate::transform::{self, LevelScale}; use deckcraft_bitstream::BitReader; diff --git a/crates/hevc/src/slicedec.rs b/crates/hevc/src/slicedec.rs index fb83ccb6..48afc3b5 100644 --- a/crates/hevc/src/slicedec.rs +++ b/crates/hevc/src/slicedec.rs @@ -10,7 +10,11 @@ use crate::intra::{self, Refs}; use crate::params::{Layout, Pps, Sps}; use crate::picture::{FrameRef, RefPic}; use crate::slice::{SliceHeader, SliceType}; -use crate::spec_tables::*; +use crate::spec_tables::{ + ABS_MVD_GT0, ABS_MVD_GT1, CBF_CHROMA, CBF_LUMA, CODED_SUB_BLOCK, CU_QP_DELTA_ABS, CU_SKIP, CU_TRANSQUANT_BYPASS, GT1, GT2, INTER_PRED_IDC, + INTRA_CHROMA, LAST_X_PREFIX, LAST_Y_PREFIX, MERGE_FLAG, MERGE_IDX, MVP_FLAG, PART_MODE, PRED_MODE, PREV_INTRA_LUMA, REF_IDX, RQT_ROOT_CBF, + SAO_MERGE, SAO_TYPE, SIG_COEFF, SPLIT_CU, SPLIT_TRANSFORM, TRANSFORM_SKIP, +}; use crate::tables::{CTX_IDX_MAP, LEVEL_SCALE, SCAN_4, qpc_420, scan_order}; use crate::transform; use std::sync::Arc; diff --git a/crates/hevc/src/synth_tests.rs b/crates/hevc/src/synth_tests.rs index dc225571..4c2f1c96 100644 --- a/crates/hevc/src/synth_tests.rs +++ b/crates/hevc/src/synth_tests.rs @@ -7,7 +7,7 @@ use crate::Decoder; use crate::cabac::{Contexts, NEXT_STATE, RANGE_TAB_LPS, init_contexts}; -use crate::spec_tables::*; +use crate::spec_tables::{CU_SKIP, NUM_CTX, PRED_MODE, SPLIT_CU}; use deckcraft_bitstream::{BitWriter, escape_rbsp}; const W: usize = 96; diff --git a/crates/opus/src/celt/bands.rs b/crates/opus/src/celt/bands.rs index 6d0bd3f0..f4b764d7 100644 --- a/crates/opus/src/celt/bands.rs +++ b/crates/opus/src/celt/bands.rs @@ -2,7 +2,7 @@ //! (RFC 6716 §4.3.4 – §4.3.6). use super::rate::{Mode, QTHETA_OFFSET, QTHETA_OFFSET_TWOPHASE, get_pulses}; -use super::tables::*; +use super::tables::{E_MEANS, EBANDS, NB_EBANDS, ORDERY, SHORT_MDCT}; use crate::range::{BITRES, RangeDecoder, ilog}; pub const SPREAD_NONE: usize = 0; diff --git a/crates/opus/src/celt/energy.rs b/crates/opus/src/celt/energy.rs index 9260a5bf..3ac9453b 100644 --- a/crates/opus/src/celt/energy.rs +++ b/crates/opus/src/celt/energy.rs @@ -2,7 +2,7 @@ //! (RFC 6716 §4.3.2). use super::rate::MAX_FINE_BITS; -use super::tables::*; +use super::tables::{BETA_COEF, BETA_INTRA, E_PROB_MODEL, NB_EBANDS, PRED_COEF, SMALL_ENERGY_ICDF}; use crate::range::RangeDecoder; const LAPLACE_MINP: u32 = 1; diff --git a/crates/opus/src/celt/mod.rs b/crates/opus/src/celt/mod.rs index 3f68641c..0cdb61cb 100644 --- a/crates/opus/src/celt/mod.rs +++ b/crates/opus/src/celt/mod.rs @@ -12,7 +12,7 @@ use bands::{anti_collapse, denormalise_bands, quant_all_bands, renormalise_vecto use energy::{unquant_coarse_energy, unquant_energy_finalise, unquant_fine_energy}; use mdct::ImdctScratch; use rate::{Mode, compute_allocation}; -use tables::*; +use tables::{COMB_GAINS, EBANDS, MAX_LM, NB_EBANDS, OVERLAP, PREEMPH, SHORT_MDCT, SPREAD_ICDF, TAPSET_ICDF, TF_SELECT_TABLE, TRIM_ICDF}; use crate::range::{BITRES, RangeDecoder}; diff --git a/crates/opus/src/celt/rate.rs b/crates/opus/src/celt/rate.rs index f5103faa..c857fc37 100644 --- a/crates/opus/src/celt/rate.rs +++ b/crates/opus/src/celt/rate.rs @@ -1,6 +1,6 @@ //! Pulse cache and bit allocation (RFC 6716 §4.3.3, §4.3.4.1). -use super::tables::*; +use super::tables::{ALLOC, EBANDS, LOG2_FRAC_TABLE, MAX_LM, NB_EBANDS, OVERLAP}; use crate::range::{BITRES, RangeDecoder}; const MAX_PSEUDO: i32 = 40; diff --git a/crates/opus/src/silk/lpc.rs b/crates/opus/src/silk/lpc.rs index 29a1e811..32a6d023 100644 --- a/crates/opus/src/silk/lpc.rs +++ b/crates/opus/src/silk/lpc.rs @@ -1,7 +1,10 @@ //! Fixed-point NLSF decoding, NLSF→LPC conversion and filter stabilisation //! (RFC 6716 §4.2.7.5, with the RFC 8251 §6/§7 overflow fixes). -use super::tables::*; +use super::tables::{ + COS_Q12, LSF_ORDER_NBMB, LSF_ORDER_WB, NLSF_CB_NBMB, NLSF_CB_WB, NLSF_MIN_SPACING_NBMB, NLSF_MIN_SPACING_WB, NLSF_PRED_NBMB, NLSF_PRED_WB, + NLSF_PSEL_NBMB, NLSF_PSEL_WB, +}; pub const MAX_LPC_ORDER: usize = 16; diff --git a/crates/opus/src/silk/mod.rs b/crates/opus/src/silk/mod.rs index 15f5de91..e6e096e6 100644 --- a/crates/opus/src/silk/mod.rs +++ b/crates/opus/src/silk/mod.rs @@ -9,9 +9,14 @@ mod resampler; #[allow(dead_code)] pub(crate) mod tables; -use lpc::*; +use lpc::{MAX_LPC_ORDER, bwexpander, div32_varq, inverse32_varq, nlsf_decode, nlsf2a, rshift_round, sat16, smlawb, smulwb, smulww}; use resampler::Resampler; -use tables::*; +use tables::{ + CB_NB_10, CB_NB_20, CB_WB_10, CB_WB_20, DELTA_GAIN, EXC_LSB, EXC_SIGN, GAIN_MSB, LBRR_FLAGS, LTP_FILTER, LTP_PERIODICITY, LTP_SCALE, LTP_TAPS_0, + LTP_TAPS_1, LTP_TAPS_2, MID_ONLY, NLSF_EXT, NLSF_INTERP, NLSF_SEL_NBMB, NLSF_SEL_WB, NLSF_STAGE1, NLSF_STAGE2, PITCH_CONTOUR, PITCH_DELTA, + PITCH_HIGH, PITCH_LOW, PULSE_COUNT, RATE_LEVEL, SHELL_2, SHELL_4, SHELL_8, SHELL_16, STEREO_PRED_JOINT, STEREO_WEIGHTS_Q13, TYPE_ACTIVE, + TYPE_INACTIVE, UNIFORM3, UNIFORM4, UNIFORM5, UNIFORM8, +}; use crate::range::RangeDecoder; use crate::{Error, Result}; diff --git a/crates/vp9/src/decoder.rs b/crates/vp9/src/decoder.rs index ce05d4b1..9f132244 100644 --- a/crates/vp9/src/decoder.rs +++ b/crates/vp9/src/decoder.rs @@ -8,7 +8,7 @@ use crate::frame::{BAND_PAD, Band, Frame, FrameInfo, MiGrid, MiInfo, Pools}; use crate::header::{FrameHeader, HeaderState, KEY_FRAME, RefInfo, parse_compressed, parse_uncompressed, split_superframe}; use crate::loopfilter::{LfFrame, PlaneView, filter_superblock}; use crate::probs::{Counts, adapt_coef_probs, adapt_noncoef_probs}; -use crate::tables::*; +use crate::tables::{AC_QLOOKUP, DC_QLOOKUP, SEG_LVL_ALT_Q, SWITCHABLE, TX_MODE_SELECT}; use crate::tile::{FrameShared, RefUse, Strip, TileDecoder}; use crate::{ColorInfo, Picture, Plane}; use std::collections::VecDeque; diff --git a/crates/vp9/src/header.rs b/crates/vp9/src/header.rs index afb119b6..82f28e28 100644 --- a/crates/vp9/src/header.rs +++ b/crates/vp9/src/header.rs @@ -4,7 +4,10 @@ use crate::boolcoder::BoolDecoder; use crate::error::{Error, Result, ensure}; use crate::probs::FrameContext; -use crate::tables::*; +use crate::tables::{ + ALTREF_FRAME, GOLDEN_FRAME, INV_MAP_TABLE, LAST_FRAME, LITERAL_TO_TYPE, MAX_SEGMENTS, MAX_TILE_WIDTH_B64, MIN_TILE_WIDTH_B64, + SEGMENTATION_FEATURE_BITS, SEGMENTATION_FEATURE_SIGNED, SWITCHABLE, TX_MODE_SELECT, TX_MODE_TO_BIGGEST_TX_SIZE, +}; use deckcraft_bitstream::BitReader; pub const KEY_FRAME: u8 = 0; diff --git a/crates/vp9/src/intra.rs b/crates/vp9/src/intra.rs index 9c797eea..642a28b1 100644 --- a/crates/vp9/src/intra.rs +++ b/crates/vp9/src/intra.rs @@ -1,6 +1,6 @@ //! Intra prediction process (8.5.1). -use crate::tables::*; +use crate::tables::{D45_PRED, D63_PRED, D117_PRED, D135_PRED, D153_PRED, D207_PRED, H_PRED, TM_PRED, V_PRED}; /// Edge availability and geometry of one intra-predicted transform block. pub struct IntraEdge { diff --git a/crates/vp9/src/loopfilter.rs b/crates/vp9/src/loopfilter.rs index 6d1a240c..fe92c6a4 100644 --- a/crates/vp9/src/loopfilter.rs +++ b/crates/vp9/src/loopfilter.rs @@ -2,7 +2,10 @@ use crate::frame::{MiGrid, MiInfo}; use crate::header::{LoopFilterParams, Segmentation}; -use crate::tables::*; +use crate::tables::{ + BLOCK_8X8, BLOCK_16X16, INTRA_FRAME, MAX_LOOP_FILTER, MAX_TXSIZE, NEARESTMV, NEARMV, NEWMV, NUM_8X8_HIGH, NUM_8X8_WIDE, SEG_LVL_ALT_L, + SS_SIZE_LOOKUP, TX_4X4, TX_8X8, TX_16X16, +}; /// Frame-level loop filter setup (8.8.1) plus the per-level limits of 8.8.4. pub struct LfFrame { diff --git a/crates/vp9/src/probs.rs b/crates/vp9/src/probs.rs index 5ac3a394..70fc888a 100644 --- a/crates/vp9/src/probs.rs +++ b/crates/vp9/src/probs.rs @@ -1,7 +1,14 @@ //! Probability tables (a "frame context"), syntax element counters and the backward adaptation //! processes of section 8.4. -use crate::tables::*; +use crate::tables::{ + BINARY_TREE, COUNT_SAT, DEFAULT_COEF_PROBS, DEFAULT_COMP_MODE_PROB, DEFAULT_COMP_REF_PROB, DEFAULT_INTER_MODE_PROBS, DEFAULT_INTERP_FILTER_PROBS, + DEFAULT_IS_INTER_PROB, DEFAULT_MV_BITS_PROB, DEFAULT_MV_CLASS_PROBS, DEFAULT_MV_CLASS0_BIT_PROB, DEFAULT_MV_CLASS0_FR_PROBS, + DEFAULT_MV_CLASS0_HP_PROB, DEFAULT_MV_FR_PROBS, DEFAULT_MV_HP_PROB, DEFAULT_MV_JOINT_PROBS, DEFAULT_MV_SIGN_PROB, DEFAULT_PARTITION_PROBS, + DEFAULT_SINGLE_REF_PROB, DEFAULT_SKIP_PROB, DEFAULT_TX_PROBS, DEFAULT_UV_MODE_PROBS, DEFAULT_Y_MODE_PROBS, INTER_MODE_TREE, INTERP_FILTER_TREE, + INTRA_MODE_TREE, MAX_UPDATE_FACTOR, MV_CLASS_TREE, MV_FR_TREE, MV_JOINT_TREE, PARTITION_TREE, SMALL_TOKEN_TREE, TX_SIZE_8_TREE, TX_SIZE_16_TREE, + TX_SIZE_32_TREE, +}; /// coef_probs[txSz][plane > 0][is_inter][band][ctx][node]. pub type CoefProbs = [[[[[[u8; 3]; 6]; 6]; 2]; 2]; 4]; diff --git a/crates/vp9/src/tile.rs b/crates/vp9/src/tile.rs index 7d9827d0..0efc93ab 100644 --- a/crates/vp9/src/tile.rs +++ b/crates/vp9/src/tile.rs @@ -6,7 +6,14 @@ use crate::boolcoder::BoolDecoder; use crate::frame::{Frame, MiGrid, MiInfo, Mv}; use crate::header::{FrameHeader, Segmentation}; use crate::probs::{Counts, FrameContext}; -use crate::tables::*; +use crate::tables::{ + ALTREF_FRAME, B_HEIGHT_LOG2, B_WIDTH_LOG2, BLOCK_8X8, BLOCK_64X64, BLOCK_INVALID, BORDERINPIXELS, COMPANDED_MVREF_THRESH, COUNTER_TO_CONTEXT, + DC_PRED, GOLDEN_FRAME, IDX_N_COLUMN_TO_SUBBLOCK, INTER_MODE_TREE, INTERP_EXTEND, INTERP_FILTER_TREE, INTRA_FRAME, INTRA_MODE_TREE, + KF_PARTITION_PROBS, KF_UV_MODE_PROBS, KF_Y_MODE_PROBS, LAST_FRAME, MAX_TXSIZE, MI_WIDTH_LOG2, MODE_2_COUNTER, MV_BORDER, MV_CLASS_TREE, + MV_FR_TREE, MV_JOINT_TREE, MV_REF_BLOCKS, NEARESTMV, NEARMV, NEWMV, NONE, NUM_4X4_HIGH, NUM_4X4_WIDE, NUM_8X8_HIGH, NUM_8X8_WIDE, PARTITION_TREE, + SEG_LVL_REF_FRAME, SEG_LVL_SKIP, SEGMENT_TREE, SIZE_GROUP, SS_SIZE_LOOKUP, SUBSIZE_LOOKUP, SWITCHABLE, TX_MODE_SELECT, + TX_MODE_TO_BIGGEST_TX_SIZE, TX_SIZE_8_TREE, TX_SIZE_16_TREE, TX_SIZE_32_TREE, ZEROMV, +}; mod recon; diff --git a/crates/vp9/src/tile/recon.rs b/crates/vp9/src/tile/recon.rs index 99c32280..a38da45c 100644 --- a/crates/vp9/src/tile/recon.rs +++ b/crates/vp9/src/tile/recon.rs @@ -7,7 +7,10 @@ use crate::error::Error; use crate::frame::Mv; use crate::inter::{self, RefPlane}; use crate::intra::{self, IntraEdge}; -use crate::tables::*; +use crate::tables::{ + BLOCK_8X8, CAT_PROBS, COEFBAND_4X4, COEFBAND_8X8PLUS, DCT_DCT, ENERGY_CLASS, EXTRA_BITS, INTERP_EXTEND, INTRA_FRAME, MAX_TXSIZE, MODE2TXFM, + NUM_4X4_HIGH, NUM_4X4_WIDE, NUM_8X8_HIGH, NUM_8X8_WIDE, SS_SIZE_LOOKUP, TX_4X4, TX_32X32, neighbors, pareto_full, scan, +}; use crate::transform; /// round_mv_comp_q2 / q4 (8.5.2.1).