1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:17:36 +00:00

LibVideo/VP9: Successfully parse partition syntax element

This commit is contained in:
FalseHonesty 2021-01-30 23:31:13 -05:00 committed by Andreas Kling
parent 7ff6315246
commit 2ce4155b42
6 changed files with 165 additions and 66 deletions

View file

@ -10,28 +10,28 @@ namespace Video::VP9 {
void SyntaxElementCounter::clear_counts()
{
__builtin_memset(counts_intra_mode, 0, BLOCK_SIZE_GROUPS * INTRA_MODES);
__builtin_memset(counts_uv_mode, 0, INTRA_MODES * INTRA_MODES);
__builtin_memset(counts_partition, 0, PARTITION_CONTEXTS * PARTITION_TYPES);
__builtin_memset(counts_interp_filter, 0, INTERP_FILTER_CONTEXTS * SWITCHABLE_FILTERS);
__builtin_memset(counts_inter_mode, 0, INTER_MODE_CONTEXTS * INTER_MODES);
__builtin_memset(counts_tx_size, 0, TX_SIZES * TX_SIZE_CONTEXTS * TX_SIZES);
__builtin_memset(counts_is_inter, 0, IS_INTER_CONTEXTS * 2);
__builtin_memset(counts_comp_mode, 0, COMP_MODE_CONTEXTS * 2);
__builtin_memset(counts_single_ref, 0, REF_CONTEXTS * 2 * 2);
__builtin_memset(counts_comp_ref, 0, REF_CONTEXTS * 2);
__builtin_memset(counts_skip, 0, SKIP_CONTEXTS * 2);
__builtin_memset(counts_mv_joint, 0, MV_JOINTS);
__builtin_memset(counts_mv_sign, 0, 2 * 2);
__builtin_memset(counts_mv_class, 0, 2 * MV_CLASSES);
__builtin_memset(counts_mv_class0_bit, 0, 2 * CLASS0_SIZE);
__builtin_memset(counts_mv_class0_fr, 0, 2 * CLASS0_SIZE * MV_FR_SIZE);
__builtin_memset(counts_mv_class0_hp, 0, 2 * 2);
__builtin_memset(counts_mv_bits, 0, 2 * MV_OFFSET_BITS * 2);
__builtin_memset(counts_mv_fr, 0, 2 * MV_FR_SIZE);
__builtin_memset(counts_mv_hp, 0, 2 * 2);
__builtin_memset(counts_token, 0, TX_SIZES * BLOCK_TYPES * REF_TYPES * COEF_BANDS * PREV_COEF_CONTEXTS * UNCONSTRAINED_NODES);
__builtin_memset(counts_more_coefs, 0, TX_SIZES * BLOCK_TYPES * REF_TYPES * COEF_BANDS * PREV_COEF_CONTEXTS * 2);
__builtin_memset(m_counts_intra_mode, 0, BLOCK_SIZE_GROUPS * INTRA_MODES);
__builtin_memset(m_counts_uv_mode, 0, INTRA_MODES * INTRA_MODES);
__builtin_memset(m_counts_partition, 0, PARTITION_CONTEXTS * PARTITION_TYPES);
__builtin_memset(m_counts_interp_filter, 0, INTERP_FILTER_CONTEXTS * SWITCHABLE_FILTERS);
__builtin_memset(m_counts_inter_mode, 0, INTER_MODE_CONTEXTS * INTER_MODES);
__builtin_memset(m_counts_tx_size, 0, TX_SIZES * TX_SIZE_CONTEXTS * TX_SIZES);
__builtin_memset(m_counts_is_inter, 0, IS_INTER_CONTEXTS * 2);
__builtin_memset(m_counts_comp_mode, 0, COMP_MODE_CONTEXTS * 2);
__builtin_memset(m_counts_single_ref, 0, REF_CONTEXTS * 2 * 2);
__builtin_memset(m_counts_comp_ref, 0, REF_CONTEXTS * 2);
__builtin_memset(m_counts_skip, 0, SKIP_CONTEXTS * 2);
__builtin_memset(m_counts_mv_joint, 0, MV_JOINTS);
__builtin_memset(m_counts_mv_sign, 0, 2 * 2);
__builtin_memset(m_counts_mv_class, 0, 2 * MV_CLASSES);
__builtin_memset(m_counts_mv_class0_bit, 0, 2 * CLASS0_SIZE);
__builtin_memset(m_counts_mv_class0_fr, 0, 2 * CLASS0_SIZE * MV_FR_SIZE);
__builtin_memset(m_counts_mv_class0_hp, 0, 2 * 2);
__builtin_memset(m_counts_mv_bits, 0, 2 * MV_OFFSET_BITS * 2);
__builtin_memset(m_counts_mv_fr, 0, 2 * MV_FR_SIZE);
__builtin_memset(m_counts_mv_hp, 0, 2 * 2);
__builtin_memset(m_counts_token, 0, TX_SIZES * BLOCK_TYPES * REF_TYPES * COEF_BANDS * PREV_COEF_CONTEXTS * UNCONSTRAINED_NODES);
__builtin_memset(m_counts_more_coefs, 0, TX_SIZES * BLOCK_TYPES * REF_TYPES * COEF_BANDS * PREV_COEF_CONTEXTS * 2);
}
}