diff --git a/source/Lib/CommonLib/Contexts.cpp b/source/Lib/CommonLib/Contexts.cpp index a671e55e10cc7573add4dc6366b0bf53bd2b34f2..d70747b7f765157b622c4314cd5d3d363c6e5628 100644 --- a/source/Lib/CommonLib/Contexts.cpp +++ b/source/Lib/CommonLib/Contexts.cpp @@ -728,7 +728,9 @@ std::vector<std::vector<uint8_t>> ContextSetCfg::sm_InitTables(NUMBER_OF_SLICE_T std::vector<std::vector<uint8_t>> ContextSetCfg::sm_InitTables(NUMBER_OF_SLICE_TYPES + 1); #endif -#if JVET_AI0281_CABAC_RETRAIN +#if JVET_AK0135_CABAC_RETRAIN +#include "Contexts_ecm16.0.inl" +#elif JVET_AI0281_CABAC_RETRAIN #include "Contexts_ecm14.0.inl" #elif JVET_AH0176_LOW_DELAY_B_CTX #include "Contexts_ecm13.inl" diff --git a/source/Lib/CommonLib/Contexts_ecm16.0.inl b/source/Lib/CommonLib/Contexts_ecm16.0.inl new file mode 100644 index 0000000000000000000000000000000000000000..1e48e8b4d7783ab2f4504b04a84f493a5af17268 --- /dev/null +++ b/source/Lib/CommonLib/Contexts_ecm16.0.inl @@ -0,0 +1,6815 @@ +#pragma once +#include "CommonDef.h" +#if JVET_AG0196_WINDOWS_OFFSETS_SLICETYPE +// CONTEXTS WSA START +const CtxSet ContextSetCfg::SplitFlag = ContextSetCfg::addCtxSet({ +#if JVET_AI0087_BTCUS_RESTRICTION +// ctx 0 to 9 + { 18, 20, 52, 19, 21, 30, 42, 37, 31, 21, }, + { 11, 20, 37, 19, 6, 30, 5, 22, 23, 13, }, + { 27, 36, 38, 20, 29, 30, 28, 38, 31, 21, }, + { 11, 20, 44, 4, 6, 30, 27, 30, 38, 21, }, + { 5, 6, 7, 5, 10, 13, DWS, 7, 13, 9, }, + { 6, 10, 10, 5, 10, 10, 10, 7, 13, 10, }, + { 9, 9, 9, 9, 9, 9, 6, 9, 9, 5, }, + { 5, 6, 6, 5, 7, 10, 10, 7, 13, 10, }, + { 4, 11, 32, 11, 11, DWE, 4, 11, DWE, 4, }, + { 4, 11, 32, 4, 4, 4, 11, 4, DWE, 4, }, + { 11, 4, DWE, 11, 4, 4, DWE, 11, 11, 4, }, + { 4, 4, DWE, 4, 4, 11, 11, 4, DWE, 11, }, + { 212, 164, 134, 246, 218, 202, 101, 193, 100, 100, }, + { 140, 123, 106, 172, 197, 195, 244, 115, 234, 155, }, + { 179, 164, 209, 171, 249, 249, 117, 115, 131, 101, }, + { 170, 170, 113, 204, 248, 153, 243, 115, 82, 137, }, + { 147, 166, 219, 243, 166, 251, 101, 130, 135, DWO, }, + { 251, 251, 84, 251, 251, 85, 117, 179, 84, 118, }, + { 164, 228, 134, 231, 170, 202, 116, 241, 131, 99, }, + { 137, 139, 107, 172, 218, 154, 164, 115, 130, 137, }, +}); +#else + { 18, 20, 52, 19, 21, 30, 42, 37, 31 }, + { 11, 20, 52, 19, 6, 30, 5, 22, 23 }, + { 27, 36, 38, 20, 29, 30, 28, 38, 31 }, + { 11, 20, 52, 4, 6, 30, 20, 30, 31 }, + { 5, 6, 7, 5, 10, 13, 8, 7, 13 }, + { 6, 10, 10, 5, 10, 13, 10, 7, 13 }, + { 9, 9, 9, 9, 9, 9, 6, 9, 9 }, + { 5, 6, 6, 5, 10, 13, 9, 7, 13 }, + { 4, 11, 25, 11, 11, 18, 11, 11, 11 }, + { 4, 11, 32, 4, 4, 11, 11, 4, 18 }, + { 11, 4, 18, 11, 4, 4, 18, 11, 11 }, + { 4, 4, 18, 4, 11, 18, 11, 4, 11 }, + { 212, 150, 133, 230, 245, 217, 101, 145, 194 }, + { 140, 133, 114, 172, 250, 117, 181, 120, 132 }, + { 211, 230, 209, 188, 250, 234, 101, 115, 115 }, + { 170, 234, 113, 203, 250, 229, 244, 118, 105 }, + { 163, 166, 151, 243, 186, 251, 101, 130, 165 }, + { 251, 251, 84, 251, 251, 91, 116, 147, 84 }, + { 212, 165, 133, 247, 183, 150, 115, 114, 131 }, + { 140, 155, 107, 171, 250, 216, 216, 115, 98 }, +}); +#endif + +const CtxSet ContextSetCfg::SplitQtFlag = ContextSetCfg::addCtxSet({ +// ctx 10 to 15 + { 41, 21, 23, 11, 12, 6, }, + { 11, 14, 23, 11, 12, 21, }, + { 4, 13, 22, 33, 27, 22, }, + { 11, 14, 23, 26, 12, 6, }, + { 6, 7, 13, 12, 6, 5, }, + { 7, 7, 13, 13, 10, 10, }, + { 0, 1, 5, 12, 12, 13, }, + { 7, 3, 13, 12, 6, 5, }, + { 4, 4, 25, 4, 4, 4, }, + { 4, 4, 25, 4, 4, 25, }, + { 4, 4, DWE, 4, DWE, 32, }, + { 4, 4, 25, 4, 4, 11, }, + { 130, 105, 120, 86, 117, 133, }, + { 133, 250, 217, 218, 245, 135, }, + { 114, 117, 118, 90, 101, 115, }, + { DWO, 152, 201, 167, 213, 122, }, + { 116, 116, 133, 91, 184, 197, }, + { 174, 157, 115, 235, 235, 217, }, + { 130, 120, 120, 85, 107, 117, }, + { 117, 155, 168, 135, 148, 121, }, +}); + +const CtxSet ContextSetCfg::SplitHvFlag = ContextSetCfg::addCtxSet({ +// ctx 16 to 20 + { 43, CNU, 44, 34, 45, }, + { 36, CNU, 44, 34, 45, }, + { 43, 50, 44, 27, 52, }, + { 43, 50, 44, 34, 52, }, + { 6, 6, 10, 5, 5, }, + { 10, 7, 10, 6, 6, }, + { 9, 9, 9, 5, 5, }, + { 7, 6, 7, 5, 5, }, + { 4, 4, 11, 4, 4, }, + { 4, 4, 4, 4, 4, }, + { 11, DWE, 11, 11, 4, }, + { 4, 4, 4, 4, 4, }, + { 139, 227, 165, 107, 148, }, + { 123, 180, DWO, 148, 118, }, + { 117, 163, 135, DWO, 163, }, + { 118, 132, 117, 117, 117, }, + { 244, 117, 148, 133, 148, }, + { 163, 118, 227, 117, 133, }, + { 133, 227, 138, 107, 148, }, + { 121, 123, 121, 132, 117, }, +}); + +const CtxSet ContextSetCfg::Split12Flag = ContextSetCfg::addCtxSet({ +// ctx 21 to 24 + { 44, 30, 44, 37, }, + { 44, 37, 29, 37, }, + { 44, 45, 44, 45, }, + { 44, 37, 44, 37, }, + { 12, 10, 12, 13, }, + { 13, 13, 13, 13, }, + { 12, 13, DWS, 13, }, + { 12, 10, 12, 13, }, + { DWE, 4, 11, 4, }, + { DWE, 4, DWE, 4, }, + { DWE, 11, 4, 11, }, + { DWE, 4, 11, 4, }, + { 103, 102, 101, 105, }, + { 91, 85, 101, 83, }, + { 117, 115, 131, 106, }, + { 218, 84, 234, 101, }, + { 134, 99, 123, 99, }, + { 115, 84, 132, 117, }, + { 100, 162, 101, 101, }, + { 107, 98, 135, 90, }, +}); + +const CtxSet ContextSetCfg::SkipFlag = ContextSetCfg::addCtxSet({ +// ctx 25 to 27 + { 49, 59, 53, }, + { 57, 59, 53, }, + { 0, 34, 29, }, + { 56, 51, 60, }, + { 6, 6, 9, }, + { 6, 7, 10, }, + { 4, 9, 10, }, + { 6, 6, 9, }, + { DWE, 11, DWE, }, + { 11, 11, DWE, }, + { 4, 11, 11, }, + { 11, 11, DWE, }, + { 120, 116, 123, }, + { 116, 147, 195, }, + { 131, 120, 134, }, + { 116, 242, 122, }, + { 109, 181, 250, }, + { 118, 132, 250, }, + { 131, 118, 133, }, + { 116, 163, 211, }, +}); + +const CtxSet ContextSetCfg::MergeFlag = ContextSetCfg::addCtxSet({ +// ctx 28 + { 14, }, + { 7, }, + { 5, }, + { 22, }, + { 5, }, + { 5, }, + { 4, }, + { 5, }, + { DWE, }, + { 4, }, + { 4, }, + { DWE, }, + { 131, }, + { 102, }, + { 132, }, + { 101, }, + { 244, }, + { 244, }, + { 131, }, + { 107, }, +}); + + +#if JVET_AG0276_LIC_FLAG_SIGNALING +const CtxSet ContextSetCfg::MergeFlagOppositeLic = ContextSetCfg::addCtxSet +({ +// ctx 29 + { 25, }, + { 25, }, + { CNU, }, + { 10, }, + { 5, }, + { 5, }, + { DWS, }, + { 5, }, + { 11, }, + { 4, }, + { DWE, }, + { 11, }, + { 99, }, + { 147, }, + { 99, }, + { 132, }, + { DWO, }, + { DWO, }, + { 100, }, + { 118, }, + }); +const CtxSet ContextSetCfg::AffineFlagOppositeLic = ContextSetCfg::addCtxSet +({ +// ctx 30 + { 18, }, + { 18, }, + { CNU, }, + { 18, }, + { 5, }, + { 5, }, + { DWS, }, + { 5, }, + { 11, }, + { 4, }, + { DWE, }, + { 4, }, + { 100, }, + { 211, }, + { 100, }, + { 132, }, + { DWO, }, + { DWO, }, + { 101, }, + { 117, }, + }); +const CtxSet ContextSetCfg::TmMergeFlagOppositeLic = ContextSetCfg::addCtxSet +({ +// ctx 31 + { 19, }, + { 11, }, + { CNU, }, + { 42, }, + { 5, }, + { 5, }, + { DWS, }, + { 5, }, + { 4, }, + { 4, }, + { DWE, }, + { 4, }, + { 108, }, + { 117, }, + { 118, }, + { 117, }, + { DWO, }, + { DWO, }, + { 117, }, + { 117, }, + }); +#endif + + +const CtxSet ContextSetCfg::RegularMergeFlag = ContextSetCfg::addCtxSet({ +// ctx 32 to 33 + { 30, 13, }, + { 23, 6, }, + { CNU, CNU, }, + { 30, 13, }, + { 6, 6, }, + { 7, 6, }, + { DWS, DWS, }, + { 6, 6, }, + { 4, DWE, }, + { 4, DWE, }, + { DWE, DWE, }, + { 11, 11, }, + { 163, 107, }, + { 116, 115, }, + { 118, 107, }, + { 117, 115, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 117, 102, }, + { 117, 146, }, +}); + +#if JVET_AG0164_AFFINE_GPM +const CtxSet ContextSetCfg::AffineGPMFlag = ContextSetCfg::addCtxSet +({ +// ctx 34 to 36 + { CNU, CNU, CNU, }, + { CNU, CNU, CNU, }, + { CNU, CNU, CNU, }, + { 19, 6, 7, }, + { DWS, DWS, DWS, }, + { DWS, DWS, DWS, }, + { DWS, DWS, DWS, }, + { 5, 1, 0, }, + { DWE, DWE, DWE, }, + { DWE, DWE, DWE, }, + { DWE, DWE, DWE, }, + { 11, 11, 4, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 116, DWO, 148, }, + { 117, 117, 116, }, +}); + +const CtxSet ContextSetCfg::GpmMergeIdx = ContextSetCfg::addCtxSet +({ +// ctx 37 to 46 + { 50, 29, 37, 37, 37, CNU, CNU, CNU, CNU, CNU, }, + { 36, 44, 37, 37, 37, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 28, 29, 29, 37, 29, CNU, CNU, CNU, CNU, CNU, }, + { 2, 10, 7, 7, 13, DWS, DWS, DWS, DWS, DWS, }, + { 7, 10, 10, 10, 13, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 6, 10, 7, 7, 13, DWS, DWS, DWS, DWS, DWS, }, + { 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { 120, 250, 134, 138, 234, DWO, DWO, DWO, DWO, DWO, }, + { 116, 202, 106, 99, 234, DWO, DWO, DWO, DWO, DWO, }, + { 116, 250, DWO, 120, 234, DWO, DWO, DWO, DWO, DWO, }, + { 106, 136, 106, 100, 234, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 102, 250, 133, 122, 234, DWO, DWO, DWO, DWO, DWO, }, + { 100, 234, 120, 122, 137, DWO, DWO, DWO, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::GpmAffMergeIdx = ContextSetCfg::addCtxSet +({ +// ctx 47 to 56 + { 21, 37, 37, 37, 37, CNU, CNU, CNU, CNU, CNU, }, + { 21, 37, 37, 37, 44, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 21, 22, 45, 37, 37, CNU, CNU, CNU, CNU, CNU, }, + { 6, 6, 6, 6, 13, DWS, DWS, DWS, DWS, DWS, }, + { 7, 7, 6, 6, 13, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 6, 6, 6, 6, 13, DWS, DWS, DWS, DWS, DWS, }, + { 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { 251, 135, 139, 153, 234, DWO, DWO, DWO, DWO, DWO, }, + { 100, 107, 100, 100, 234, DWO, DWO, DWO, DWO, DWO, }, + { 234, 153, 150, 134, 234, DWO, DWO, DWO, DWO, DWO, }, + { 106, 106, 103, 102, 106, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 155, 137, 123, 135, 234, DWO, DWO, DWO, DWO, DWO, }, + { 115, 107, 107, 106, 202, DWO, DWO, DWO, DWO, DWO, }, +}); +#endif + +#if JVET_AG0112_REGRESSION_BASED_GPM_BLENDING +const CtxSet ContextSetCfg::GeoBlendFlag = ContextSetCfg::addCtxSet +({ +// ctx 57 + { 33, }, + { 33, }, + { CNU, }, + { 40, }, + { 5, }, + { 10, }, + { DWS, }, + { 5, }, + { 4, }, + { 11, }, + { DWE, }, + { 4, }, + { 105, }, + { 116, }, + { 161, }, + { 129, }, + { DWO, }, + { DWO, }, + { 106, }, + { 116, }, +}); +#endif + +#if JVET_AG0135_AFFINE_CIIP +#if JVET_AJ0085_SUBBLOCK_MERGE_MODE_EXTENSION +const CtxSet ContextSetCfg::CiipAffineFlag = ContextSetCfg::addCtxSet +({ +// ctx 58 to 63 + { 5, 6, 15, 36, 29, 22, }, + { 12, 20, 6, 20, 5, 5, }, + { CNU, CNU, CNU, CNU, CNU, CNU, }, + { 20, 14, 15, 21, 6, 14, }, + { 5, 1, 1, 4, 4, 1, }, + { 6, 3, 5, 7, 6, 6, }, + { DWS, DWS, DWS, DWS, DWS, DWS, }, + { 5, 1, 1, 4, 1, 2, }, + { 4, 4, 11, DWE, DWE, 11, }, + { 4, 4, 11, DWE, 11, 11, }, + { DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, 11, }, + { 108, DWO, 116, 99, 100, 131, }, + { 195, 118, 116, 135, 125, 141, }, + { 116, 121, 102, 101, 100, 100, }, + { 107, 123, 118, 154, 151, 135, }, + { DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, }, + { 108, 118, 116, 100, 116, 131, }, + { 116, 122, 133, 118, 125, 118, }, +}); +#else +const CtxSet ContextSetCfg::CiipAffineFlag = ContextSetCfg::addCtxSet +({ +// ctx 57 59 + { 12, 6, 15 }, + { 19, 5, 6 }, + { 35, 35, 35 }, + { 12, 14, 15 }, + { 5, 1, 1 }, + { 6, 3, 5 }, + { 8, 8, 8 }, + { 5, 1, 1 }, + { 4, 4, 11 }, + { 4, 4, 11 }, + { 18, 18, 18 }, + { 4, 4, 4 }, + { 105, 118, 116 }, + { 211, 118, 116 }, + { 107, 119, 103 }, + { 107, 122, 148 }, + { 119, 119, 119 }, + { 119, 119, 119 }, + { 107, 118, 116 }, + { 116, 119, 118 }, +}); +#endif +#endif + +const CtxSet ContextSetCfg::MergeIdx = ContextSetCfg::addCtxSet({ +// ctx 64 to 73 + { 33, 29, 36, 44, 29, CNU, CNU, CNU, CNU, CNU, }, + { 4, 29, 44, 44, 29, CNU, CNU, CNU, CNU, CNU, }, + { 42, 43, 36, 51, 43, CNU, CNU, CNU, CNU, CNU, }, + { 18, 29, 36, 44, 29, CNU, CNU, CNU, CNU, CNU, }, + { 5, 5, 7, 7, 13, DWS, DWS, DWS, DWS, DWS, }, + { 7, 6, 7, 7, 13, DWS, DWS, DWS, DWS, DWS, }, + { 5, 5, 10, 13, 12, DWS, DWS, DWS, DWS, DWS, }, + { 5, 5, 7, 7, 13, DWS, DWS, DWS, DWS, DWS, }, + { 11, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 11, 4, DWE, DWE, DWE, DWE, DWE, }, + { 11, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { 116, 118, 122, 117, 234, DWO, DWO, DWO, DWO, DWO, }, + { 108, 108, DWO, 122, 234, DWO, DWO, DWO, DWO, DWO, }, + { 118, 118, 117, 116, 234, DWO, DWO, DWO, DWO, DWO, }, + { 122, 117, 117, 117, 234, DWO, DWO, DWO, DWO, DWO, }, + { 116, 101, 100, 133, 235, DWO, DWO, DWO, DWO, DWO, }, + { 164, 155, 248, 88, 99, DWO, DWO, DWO, DWO, DWO, }, + { 116, 118, 117, 115, 151, DWO, DWO, DWO, DWO, DWO, }, + { 108, 118, 120, 122, 218, DWO, DWO, DWO, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::TmMergeIdx = ContextSetCfg::addCtxSet({ +// ctx 74 to 83 + { 28, 28, 42, 36, 43, CNU, CNU, CNU, CNU, CNU, }, + { 51, 28, 27, 44, 33, CNU, CNU, CNU, CNU, CNU, }, + { 38, 37, 29, 44, 43, CNU, CNU, CNU, CNU, CNU, }, + { 28, 28, 50, 44, 28, CNU, CNU, CNU, CNU, CNU, }, + { 5, DWS, 6, 7, 13, DWS, DWS, DWS, DWS, DWS, }, + { 6, 7, 7, 13, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, 10, 12, 13, 13, DWS, DWS, DWS, DWS, DWS, }, + { 5, 6, 7, 13, 13, DWS, DWS, DWS, DWS, DWS, }, + { 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 4, 4, 4, 32, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 11, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, }, + { 118, DWO, 101, 233, 218, DWO, DWO, DWO, DWO, DWO, }, + { 117, 101, 154, 98, 89, DWO, DWO, DWO, DWO, DWO, }, + { 123, 122, 103, 169, 251, DWO, DWO, DWO, DWO, DWO, }, + { 116, 115, 149, 234, 130, DWO, DWO, DWO, DWO, DWO, }, + { 118, 202, 219, 218, 218, DWO, DWO, DWO, DWO, DWO, }, + { 147, 81, 82, 98, 66, DWO, DWO, DWO, DWO, DWO, }, + { 133, 117, DWO, DWO, 90, DWO, DWO, DWO, DWO, DWO, }, + { 116, 122, 122, 165, 227, DWO, DWO, DWO, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::GPMIntraFlag = ContextSetCfg::addCtxSet({ +// ctx 84 + { 19, }, + { 33, }, + { CNU, }, + { 12, }, + { 2, }, + { 2, }, + { DWS, }, + { 2, }, + { 11, }, + { 4, }, + { DWE, }, + { 11, }, + { 243, }, + { 124, }, + { 196, }, + { 124, }, + { DWO, }, + { DWO, }, + { 243, }, + { 133, }, +}); + +#if JVET_AI0082_GPM_WITH_INTER_IBC +const CtxSet ContextSetCfg::GpmInterIbcFlag = ContextSetCfg::addCtxSet +({ +// ctx 85 + { 44, }, + { 58, }, + { CNU, }, + { 36, }, + { 1, }, + { 2, }, + { DWS, }, + { 2, }, + { DWE, }, + { 4, }, + { DWE, }, + { DWE, }, + { 118, }, + { 117, }, + { 163, }, + { 117, }, + { DWO, }, + { DWO, }, + { 116, }, + { 116, }, + }); + +const CtxSet ContextSetCfg::GpmInterIbcIdx = ContextSetCfg::addCtxSet +({ +// ctx 86 to 88 + { 42, 43, CNU, }, + { 42, 36, CNU, }, + { CNU, CNU, CNU, }, + { 34, 43, CNU, }, + { 6, 9, DWS, }, + { 10, 9, 10, }, + { DWS, DWS, DWS, }, + { 6, 9, DWS, }, + { 4, 4, 4, }, + { 4, 11, DWE, }, + { DWE, DWE, DWE, }, + { 4, 4, 4, }, + { 103, 121, 118, }, + { 136, 104, 118, }, + { 101, DWO, DWO, }, + { 104, 118, 194, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { DWO, DWO, 108, }, + { 120, 117, 122, }, + }); +#endif + +const CtxSet ContextSetCfg::MmvdFlag = ContextSetCfg::addCtxSet({ +// ctx 89 to 92 + { 25, 34, CNU, CNU, }, + { 25, 50, CNU, CNU, }, + { CNU, CNU, CNU, CNU, }, + { 25, 57, CNU, CNU, }, + { 5, 5, DWS, DWS, }, + { 6, 5, DWS, DWS, }, + { DWS, DWS, DWS, DWS, }, + { 5, 5, DWS, DWS, }, + { 11, DWE, DWE, DWE, }, + { 4, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, }, + { 4, DWE, DWE, DWE, }, + { 100, 242, DWO, DWO, }, + { 147, 100, DWO, DWO, }, + { 130, 115, DWO, DWO, }, + { 115, 102, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { 115, 115, DWO, DWO, }, + { 163, 101, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::MmvdMergeIdx = ContextSetCfg::addCtxSet({ +// ctx 93 to 96 + { 43, CNU, CNU, CNU, }, + { 43, 43, CNU, CNU, }, + { CNU, CNU, CNU, CNU, }, + { 28, 43, CNU, CNU, }, + { 10, 9, DWS, DWS, }, + { 10, 10, DWS, DWS, }, + { DWS, DWS, DWS, DWS, }, + { 10, 10, DWS, DWS, }, + { 4, 4, DWE, DWE, }, + { 4, 4, DWE, DWE, }, + { DWE, DWE, DWE, DWE, }, + { 4, 4, DWE, DWE, }, + { 122, 100, DWO, DWO, }, + { 101, 136, DWO, DWO, }, + { 249, 136, DWO, DWO, }, + { 99, 101, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { 250, 121, DWO, DWO, }, + { 86, 104, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::MmvdStepMvpIdx = ContextSetCfg::addCtxSet({ +// ctx 97 to 101 + { 28, 36, 36, 28, CNU, }, + { 36, 21, 36, 28, CNU, }, + { CNU, CNU, CNU, CNU, CNU, }, + { 28, 21, 21, 28, CNU, }, + { 6, 7, 10, 10, 7, }, + { 7, 7, 7, 10, 7, }, + { DWS, DWS, DWS, DWS, DWS, }, + { 6, 7, 7, 10, 7, }, + { 4, 4, 4, 4, 4, }, + { 4, 4, 4, 4, 4, }, + { DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, }, + { 179, 138, 120, 234, 121, }, + { 117, 115, 116, 99, 121, }, + { 132, 118, 117, 99, 106, }, + { 115, 138, 151, 135, 153, }, + { DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, }, + { 123, 105, 106, 102, DWO, }, + { 117, 137, 202, 121, 152, }, +}); + +const CtxSet ContextSetCfg::MmvdStepMvpIdxECM3 = ContextSetCfg::addCtxSet({ +// ctx 102 + { CNU, }, + { CNU, }, + { CNU, }, + { CNU, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, +}); + +const CtxSet ContextSetCfg::GeoMmvdFlag = ContextSetCfg::addCtxSet({ +// ctx 103 + { 33, }, + { 33, }, + { CNU, }, + { 48, }, + { 3, }, + { 7, }, + { DWS, }, + { 6, }, + { 4, }, + { 4, }, + { DWE, }, + { 4, }, + { 115, }, + { 132, }, + { 98, }, + { 106, }, + { DWO, }, + { DWO, }, + { 99, }, + { 162, }, +}); + +const CtxSet ContextSetCfg::GeoMmvdStepMvpIdx = ContextSetCfg::addCtxSet({ +// ctx 104 + { 45, }, + { 60, }, + { CNU, }, + { 30, }, + { 1, }, + { 3, }, + { DWS, }, + { 2, }, + { 4, }, + { 4, }, + { DWE, }, + { 4, }, + { 125, }, + { 117, }, + { 115, }, + { 219, }, + { DWO, }, + { DWO, }, + { 118, }, + { 124, }, +}); + +const CtxSet ContextSetCfg::GeoBldFlag = ContextSetCfg::addCtxSet({ +#if JVET_AH0314_ADAPTIVE_GPM_BLENDING_IMPROV +// ctx 105 to 112 + { 58, 30, 45, 13, 50, 14, 31, 49, }, + { 59, 44, 42, 28, 59, 57, 44, 41, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 50, 45, 45, 13, 58, 44, 31, 34, }, + { 1, 1, 1, 1, 0, 0, 0, 1, }, + { 1, 2, 1, 1, 1, 0, 0, 1, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 1, 2, 1, 2, 1, 2, 0, 1, }, + { 11, 25, 32, 11, 11, 32, 32, 11, }, + { 4, DWE, 4, 11, 4, DWE, 25, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, DWE, DWE, 4, 4, 25, 32, 4, }, + { 243, 116, 115, 125, 180, 116, 116, 118, }, + { 117, 117, 133, 117, 118, 132, 116, 117, }, + { 117, 115, 115, 118, 117, 116, 132, 116, }, + { DWO, 115, 244, 118, 122, 118, 116, 123, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 132, 115, 116, DWO, 243, 115, 148, 118, }, + { 117, 115, 117, 116, 117, 130, 116, 117, }, +#else + { 58, 22, 45, 13 }, + { 60, 36, 58, 36 }, + { 35, 35, 35, 35 }, + { 58, 22, 52, 13 }, + { 1, 1, 1, 1 }, + { 1, 1, 1, 1 }, + { 8, 8, 8, 8 }, + { 1, 2, 1, 1 }, + { 11, 18, 18, 11 }, + { 4, 18, 11, 11 }, + { 18, 18, 18, 18 }, + { 4, 18, 18, 4 }, + { 132, 116, 116, 117 }, + { 118, 116, 132, 118 }, + { 117, 116, 116, 117 }, + { 118, 117, 133, 119 }, + { 119, 119, 119, 119 }, + { 119, 119, 119, 119 }, + { 132, 115, 116, 117 }, + { 117, 115, 117, 117 }, +#endif +}); + +const CtxSet ContextSetCfg::GeoSubModeIdx = ContextSetCfg::addCtxSet({ +// ctx 113 to 117 + { CNU, 36, 44, 29, 29, }, + { 13, 36, 44, 29, 29, }, + { CNU, CNU, CNU, CNU, CNU, }, + { 43, 36, 44, 29, 29, }, + { DWS, 7, 7, 7, DWS, }, + { 7, 7, 7, 6, DWS, }, + { DWS, DWS, DWS, DWS, DWS, }, + { 7, 7, 7, 7, DWS, }, + { 4, 4, 4, 4, 4, }, + { 4, 4, 4, 4, 4, }, + { DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, }, + { 116, 135, 151, 201, 252, }, + { 118, 118, 105, 106, 91, }, + { 122, 122, 136, 133, 200, }, + { 122, 121, 116, 104, 89, }, + { DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, }, + { 116, 133, 136, 137, 232, }, + { 122, 117, 105, 101, 90, }, +}); + +const CtxSet ContextSetCfg::AfMmvdFlag = ContextSetCfg::addCtxSet({ +// ctx 118 + { 18, }, + { 18, }, + { CNU, }, + { 18, }, + { 6, }, + { 6, }, + { DWS, }, + { 6, }, + { DWE, }, + { 4, }, + { DWE, }, + { 4, }, + { 99, }, + { 117, }, + { 146, }, + { 116, }, + { DWO, }, + { DWO, }, + { 99, }, + { 131, }, +}); + +const CtxSet ContextSetCfg::AfMmvdIdx = ContextSetCfg::addCtxSet({ +// ctx 119 to 122 + { 36, 42, 20, CNU, }, + { 21, CNU, 43, CNU, }, + { CNU, CNU, CNU, CNU, }, + { 29, CNU, 43, CNU, }, + { 10, 12, DWS, DWS, }, + { 9, 10, DWS, DWS, }, + { DWS, DWS, DWS, DWS, }, + { 9, 9, DWS, DWS, }, + { 11, 32, DWE, DWE, }, + { DWE, DWE, 4, DWE, }, + { DWE, DWE, DWE, DWE, }, + { 11, 11, 4, DWE, }, + { 177, 82, 83, DWO, }, + { 149, 203, 252, DWO, }, + { 122, 209, 244, DWO, }, + { 100, 178, 121, DWO, }, + { DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { 100, 226, 211, DWO, }, + { 132, 133, 154, DWO, }, +}); + +const CtxSet ContextSetCfg::AfMmvdOffsetStep = ContextSetCfg::addCtxSet({ +// ctx 123 to 128 + { 21, 37, 37, 37, 44, 50, }, + { 28, 45, 29, 37, 52, 58, }, + { CNU, CNU, CNU, CNU, CNU, CNU, }, + { 6, 37, 37, 37, 44, 57, }, + { 5, 7, 6, 6, 10, 5, }, + { 5, 6, 6, 5, 7, 5, }, + { DWS, DWS, DWS, DWS, DWS, DWS, }, + { 5, 7, 6, 7, 7, 5, }, + { 11, DWE, 4, 4, 4, 32, }, + { 4, 4, 4, 4, 4, 25, }, + { DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, DWE, 4, 11, 4, 25, }, + { 196, 153, 170, 212, 250, 99, }, + { 101, 101, 100, 99, 106, 114, }, + { 118, 147, 139, 244, 170, 100, }, + { 116, 117, 105, 108, 250, 114, }, + { DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, }, + { 117, 137, 120, 136, 250, 107, }, + { 118, 106, 103, 100, 116, 130, }, +}); + +const CtxSet ContextSetCfg::AfMmvdOffsetStepECM3 = ContextSetCfg::addCtxSet({ +// ctx 129 + { CNU, }, + { CNU, }, + { CNU, }, + { CNU, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, +}); + +const CtxSet ContextSetCfg::IbcMbvdFlag = ContextSetCfg::addCtxSet({ +// ctx 130 to 131 + { 26, CNU, }, + { 40, CNU, }, + { 43, 52, }, + { 26, CNU, }, + { 5, DWS, }, + { 5, DWS, }, + { DWS, 10, }, + { 5, DWS, }, + { 4, DWE, }, + { 11, DWE, }, + { DWE, 4, }, + { 11, DWE, }, + { 147, DWO, }, + { 116, DWO, }, + { 116, DWO, }, + { 108, DWO, }, + { 100, 163, }, + { 103, 100, }, + { 116, 179, }, + { 107, 200, }, +}); + +const CtxSet ContextSetCfg::IbcMbvdMergeIdx = ContextSetCfg::addCtxSet({ +// ctx 132 + { CNU, }, + { 34, }, + { 43, }, + { CNU, }, + { 6, }, + { 6, }, + { 10, }, + { 6, }, + { 4, }, + { 4, }, + { DWE, }, + { 4, }, + { 115, }, + { 117, }, + { 116, }, + { 107, }, + { 99, }, + { 105, }, + { 106, }, + { 116, }, +}); + +const CtxSet ContextSetCfg::IbcMbvdStepMvpIdx = ContextSetCfg::addCtxSet({ +// ctx 133 to 137 + { 34, 43, 43, CNU, CNU, }, + { 49, 21, 14, CNU, CNU, }, + { CNU, 43, 43, CNU, CNU, }, + { 34, 43, 43, CNU, CNU, }, + { 6, 10, 10, DWS, DWS, }, + { 7, 13, 7, DWS, DWS, }, + { 9, 10, 13, DWS, DWS, }, + { 7, 10, 13, DWS, DWS, }, + { 4, 4, 4, DWE, DWE, }, + { 4, 4, 4, DWE, DWE, }, + { 11, 4, 4, DWE, DWE, }, + { 4, 4, 4, DWE, DWE, }, + { 102, 105, 87, DWO, DWO, }, + { 133, 121, 250, DWO, DWO, }, + { 103, 162, 114, DWO, DWO, }, + { 116, 132, 232, DWO, DWO, }, + { 114, 234, 90, DWO, DWO, }, + { 169, 85, 216, DWO, DWO, }, + { 116, 122, 86, DWO, DWO, }, + { 117, 104, 202, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::TMMergeFlag = ContextSetCfg::addCtxSet({ +// ctx 138 to 139 + { 40, 40, }, + { 18, 17, }, + { CNU, 40, }, + { 25, 0, }, + { 5, 10, }, + { 6, 5, }, + { DWS, 6, }, + { 5, 6, }, + { 11, 25, }, + { 4, 4, }, + { DWE, 4, }, + { 4, 4, }, + { 117, 80, }, + { 117, 146, }, + { 131, 105, }, + { 117, 118, }, + { DWO, 97, }, + { DWO, 165, }, + { 108, 98, }, + { 118, 120, }, +}); + +const CtxSet ContextSetCfg::CiipTMMergeFlag = ContextSetCfg::addCtxSet({ +// ctx 140 + { 27, }, + { 19, }, + { CNU, }, + { 34, }, + { 5, }, + { 6, }, + { DWS, }, + { 5, }, + { 4, }, + { 4, }, + { DWE, }, + { 4, }, + { 123, }, + { 117, }, + { 122, }, + { 118, }, + { DWO, }, + { DWO, }, + { 172, }, + { 102, }, +}); + +const CtxSet ContextSetCfg::PredMode = ContextSetCfg::addCtxSet({ +// ctx 141 to 142 + { 33, 28, }, + { 40, 50, }, + { CNU, CNU, }, + { 33, 36, }, + { 6, 1, }, + { 7, 1, }, + { DWS, DWS, }, + { 6, 1, }, + { DWE, 4, }, + { DWE, 4, }, + { DWE, DWE, }, + { DWE, 11, }, + { 101, 117, }, + { 116, 132, }, + { 100, 117, }, + { DWO, 164, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 106, 117, }, + { 117, 148, }, +}); + +const CtxSet ContextSetCfg::MultiRefLineIdx = ContextSetCfg::addCtxSet({ +// ctx 143 to 149 + { CNU, CNU, CNU, CNU, CNU, 0, 59, }, + { CNU, CNU, CNU, CNU, CNU, 0, 59, }, + { CNU, CNU, CNU, CNU, CNU, 0, 60, }, + { CNU, CNU, CNU, CNU, CNU, 0, 52, }, + { DWS, DWS, DWS, DWS, DWS, 0, 4, }, + { DWS, DWS, DWS, DWS, DWS, 0, 6, }, + { DWS, DWS, DWS, DWS, DWS, 0, DWS, }, + { DWS, DWS, DWS, DWS, DWS, 0, 4, }, + { DWE, DWE, DWE, DWE, DWE, 32, 25, }, + { DWE, DWE, DWE, DWE, DWE, 32, DWE, }, + { DWE, DWE, DWE, DWE, DWE, 32, 32, }, + { DWE, DWE, DWE, DWE, DWE, 32, DWE, }, + { DWO, DWO, DWO, DWO, DWO, 116, 116, }, + { DWO, DWO, DWO, DWO, DWO, 116, 131, }, + { DWO, DWO, DWO, DWO, DWO, 116, 116, }, + { DWO, DWO, DWO, DWO, DWO, 116, 130, }, + { DWO, DWO, DWO, DWO, DWO, 116, 116, }, + { DWO, DWO, DWO, DWO, DWO, 116, 114, }, + { DWO, DWO, DWO, DWO, DWO, 116, 107, }, + { DWO, DWO, DWO, DWO, DWO, 116, 211, }, +}); + +const CtxSet ContextSetCfg::IntraLumaMpmFlag = ContextSetCfg::addCtxSet({ +// ctx 150 + { 28, }, + { 51, }, + { 29, }, + { 36, }, + { DWS, }, + { 5, }, + { 5, }, + { 5, }, + { DWE, }, + { 4, }, + { DWE, }, + { 11, }, + { 100, }, + { 148, }, + { 101, }, + { 148, }, + { 108, }, + { 118, }, + { 102, }, + { 148, }, +}); + +const CtxSet ContextSetCfg::IntraLumaSecondMpmFlag = ContextSetCfg::addCtxSet({ +// ctx 151 + { 37, }, + { 30, }, + { 37, }, + { 37, }, + { 10, }, + { 10, }, + { 6, }, + { 10, }, + { 11, }, + { 4, }, + { 4, }, + { 11, }, + { 179, }, + { 82, }, + { 226, }, + { 114, }, + { 116, }, + { 117, }, + { 117, }, + { 129, }, +}); + +const CtxSet ContextSetCfg::IntraLumaMPMIdx = ContextSetCfg::addCtxSet({ +// ctx 152 to 154 + { CNU, CNU, CNU, }, + { 20, CNU, 43, }, + { 27, CNU, 42, }, + { CNU, CNU, 50, }, + { 7, DWS, 13, }, + { 10, DWS, DWS, }, + { 4, DWS, DWS, }, + { 10, DWS, DWS, }, + { 4, DWE, 32, }, + { 25, DWE, 11, }, + { 4, DWE, 11, }, + { DWE, DWE, 11, }, + { 130, DWO, 120, }, + { 131, DWO, 87, }, + { 97, DWO, 116, }, + { 114, DWO, 101, }, + { 102, DWO, 148, }, + { 123, DWO, 243, }, + { 97, DWO, 132, }, + { 122, DWO, 102, }, +}); + +const CtxSet ContextSetCfg::IntraLumaSecondMpmIdx = ContextSetCfg::addCtxSet({ +// ctx 155 to 159 + { 58, CNU, CNU, CNU, CNU, }, + { 51, CNU, CNU, CNU, CNU, }, + { 59, CNU, CNU, CNU, CNU, }, + { 43, CNU, CNU, CNU, CNU, }, + { 9, 9, 9, DWS, DWS, }, + { 10, 10, 10, DWS, DWS, }, + { 9, 10, 13, DWS, DWS, }, + { 10, 10, 9, DWS, DWS, }, + { 4, 4, 4, DWE, DWE, }, + { 4, 11, 4, DWE, DWE, }, + { 11, 4, 4, DWE, DWE, }, + { 4, 4, 4, DWE, DWE, }, + { 153, 84, 84, DWO, DWO, }, + { 86, 219, 251, DWO, DWO, }, + { 101, 84, 84, DWO, DWO, }, + { 102, 202, 234, DWO, DWO, }, + { 131, 103, 68, DWO, DWO, }, + { 115, 118, 234, DWO, DWO, }, + { 153, 82, 84, DWO, DWO, }, + { 99, 250, 251, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::IntraLumaPlanarFlag = ContextSetCfg::addCtxSet({ +// ctx 160 to 163 + { 14, 14, 26, 28, }, + { 14, 13, 33, 58, }, + { 31, 22, 26, 28, }, + { 14, 6, 41, 51, }, + { 0, 2, 9, 7, }, + { 1, 2, DWS, DWS, }, + { 4, 5, DWS, DWS, }, + { 1, 1, 9, DWS, }, + { 11, DWE, 25, DWE, }, + { DWE, 11, DWE, 32, }, + { 4, DWE, DWE, DWE, }, + { DWE, DWE, DWE, 32, }, + { 118, 115, 81, 99, }, + { 244, 115, 251, 138, }, + { 117, 115, 99, 130, }, + { 131, 130, 244, 194, }, + { 132, 99, 84, 118, }, + { 139, 146, 149, 242, }, + { 118, 117, 83, 91, }, + { 116, 116, 148, 211, }, +}); + +const CtxSet ContextSetCfg::CclmModeFlag = ContextSetCfg::addCtxSet({ +// ctx 164 + { 20, }, + { 42, }, + { 37, }, + { 5, }, + { 1, }, + { 1, }, + { 6, }, + { 1, }, + { DWE, }, + { 11, }, + { 25, }, + { DWE, }, + { 116, }, + { 131, }, + { 116, }, + { 147, }, + { 103, }, + { 114, }, + { 116, }, + { 131, }, +}); + +const CtxSet ContextSetCfg::CclmModeIdx = ContextSetCfg::addCtxSet({ +// ctx 165 + { 42, }, + { 19, }, + { 44, }, + { 42, }, + { 5, }, + { 5, }, + { 5, }, + { 5, }, + { 11, }, + { 11, }, + { 11, }, + { DWE, }, + { 243, }, + { 130, }, + { 163, }, + { 100, }, + { 124, }, + { 99, }, + { 242, }, + { 100, }, +}); + +const CtxSet ContextSetCfg::IntraChromaPredMode = ContextSetCfg::addCtxSet({ +// ctx 166 + { 25, }, + { 25, }, + { 42, }, + { 25, }, + { 5, }, + { 5, }, + { 5, }, + { 5, }, + { DWE, }, + { 11, }, + { 4, }, + { DWE, }, + { 108, }, + { 100, }, + { 101, }, + { 101, }, + { 147, }, + { 116, }, + { 102, }, + { 100, }, +}); + +const CtxSet ContextSetCfg::DimdChromaMode = ContextSetCfg::addCtxSet({ +// ctx 167 + { 41, }, + { 41, }, + { 28, }, + { 41, }, + { DWS, }, + { DWS, }, + { 5, }, + { 5, }, + { DWE, }, + { DWE, }, + { 4, }, + { 11, }, + { 84, }, + { 131, }, + { 85, }, + { 147, }, + { 116, }, + { 108, }, + { 103, }, + { 163, }, +}); + +const CtxSet ContextSetCfg::ChromaFusionMode = ContextSetCfg::addCtxSet({ +// ctx 168 + { 52, }, + { 59, }, + { 26, }, + { 29, }, + { DWS, }, + { DWS, }, + { 4, }, + { DWS, }, + { 32, }, + { 32, }, + { 11, }, + { 32, }, + { 131, }, + { 83, }, + { 148, }, + { 82, }, + { 109, }, + { 132, }, + { 242, }, + { 84, }, +}); + +const CtxSet ContextSetCfg::DbvChromaMode = ContextSetCfg::addCtxSet({ +// ctx 169 + { 17, }, + { 40, }, + { 41, }, + { 17, }, + { 2, }, + { 1, }, + { 1, }, + { 0, }, + { DWE, }, + { DWE, }, + { 4, }, + { 4, }, + { 118, }, + { 146, }, + { 115, }, + { 117, }, + { 116, }, + { 125, }, + { 117, }, + { 117, }, +}); + +const CtxSet ContextSetCfg::MipFlag = ContextSetCfg::addCtxSet({ +// ctx 170 to 173 + { 48, 41, 26, 40, }, + { 48, 56, 49, 48, }, + { 40, 33, 34, 40, }, + { 40, 33, 49, 40, }, + { 9, 9, 10, 9, }, + { 9, 9, DWS, 7, }, + { 9, 12, 9, 6, }, + { 9, 12, 13, 6, }, + { 11, 4, 4, DWE, }, + { 11, 4, 32, 11, }, + { 4, 4, DWE, 4, }, + { 4, 11, 4, 4, }, + { 97, 82, 117, 84, }, + { 134, 235, 218, 117, }, + { 85, 87, 90, 98, }, + { 123, 136, 250, 120, }, + { 116, 219, 100, 113, }, + { 107, 163, 164, 133, }, + { 120, 171, 66, 98, }, + { 132, 102, 106, 123, }, +}); + +const CtxSet ContextSetCfg::TmpFlag = ContextSetCfg::addCtxSet({ +#if JVET_AH0200_INTRA_TMP_BV_REORDER +// ctx 174 to 181 + { 25, 19, 29, 25, 43, 21, 41, 34, }, + { 25, 19, 14, 25, 13, 5, 49, 27, }, + { 25, 27, 44, 33, 21, 13, 48, 42, }, + { 33, 27, 37, 18, 28, 13, 41, 49, }, + { 2, 1, 1, 1, 1, 10, 9, 9, }, + { 5, 1, 0, 5, 1, 9, DWS, 9, }, + { 6, 5, 1, 2, 1, DWS, 4, DWS, }, + { 5, 1, 1, 1, 1, 9, 9, 9, }, + { 11, 11, 4, 11, 11, 25, 25, 32, }, + { 11, 11, 4, DWE, 11, 25, 25, 25, }, + { DWE, DWE, 4, DWE, DWE, DWE, 11, 25, }, + { DWE, 11, 4, 11, 11, 25, 25, 32, }, + { 118, 138, 125, 117, 227, 249, 83, 99, }, + { 131, 147, 116, 131, 117, 84, 163, 117, }, + { 103, 138, 140, 108, 132, 155, 82, 99, }, + { 242, 131, 132, 114, 118, 83, 218, 123, }, + { 117, 108, 124, 115, 131, 250, 100, 115, }, + { 130, 115, 116, 130, 118, 85, 135, 117, }, + { 117, 134, 165, 117, 132, 251, 83, 102, }, + { 162, 131, 116, 131, 117, 83, 243, 117, }, +#else + { 25, 19, 29, 25, 43, 21, 41 }, + { 9, 19, 60, 9, 13, 5, 49 }, + { 25, 34, 28, 25, 21, 13, 48 }, + { 25, 19, 29, 25, 28, 13, 41 }, + { 2, 1, 1, 2, 1, 10, 9 }, + { 5, 1, 0, 5, 1, 9, 8 }, + { 6, 5, 1, 2, 1, 8, 4 }, + { 5, 1, 1, 2, 1, 9, 9 }, + { 11, 11, 4, 11, 11, 25, 25 }, + { 11, 4, 11, 11, 11, 25, 25 }, + { 18, 18, 4, 18, 18, 18, 11 }, + { 11, 11, 4, 11, 11, 25, 25 }, + { 117, 122, 124, 116, 227, 249, 83 }, + { 131, 116, 116, 130, 117, 84, 163 }, + { 104, 133, 121, 102, 132, 155, 82 }, + { 242, 195, 132, 114, 118, 83, 218 }, + { 102, 102, 125, 115, 131, 250, 100 }, + { 146, 115, 163, 130, 118, 85, 135 }, + { 101, 121, 124, 116, 132, 251, 83 }, + { 242, 116, 116, 130, 117, 83, 243 }, +#endif +}); + +const CtxSet ContextSetCfg::TmpIdx = ContextSetCfg::addCtxSet({ +// ctx 182 to 184 + { 20, 36, 36, }, + { 5, 51, 43, }, + { 28, 36, 36, }, + { 28, 36, 36, }, + { 5, 10, 13, }, + { 5, 9, 9, }, + { 5, 10, 13, }, + { 5, 9, 13, }, + { 4, 11, 4, }, + { 4, DWE, DWE, }, + { 4, 11, 4, }, + { 4, 4, 4, }, + { 121, 134, 218, }, + { 147, 113, 74, }, + { DWO, 154, 251, }, + { 116, 98, 83, }, + { 118, 138, 234, }, + { 108, 129, 72, }, + { 118, 122, 218, }, + { 211, 114, 72, }, +}); + +const CtxSet ContextSetCfg::TmpFusion = ContextSetCfg::addCtxSet({ +// ctx 185 to 190 + { 34, 43, 29, 33, 20, 57, }, + { 27, 13, 6, 33, 42, 42, }, + { 49, 36, 30, 25, 13, 34, }, + { 49, CNU, 29, 48, 13, 57, }, + { 5, 4, 7, 5, 4, 4, }, + { 7, 7, 2, 2, 4, 6, }, + { 4, 6, 7, 2, 4, DWS, }, + { 5, 5, 9, 6, 4, 4, }, + { 25, 4, 4, DWE, 25, 4, }, + { 32, DWE, 4, 4, 32, DWE, }, + { DWE, DWE, 11, 4, 11, DWE, }, + { 25, DWE, 4, DWE, 25, 11, }, + { 104, 213, 147, 98, 109, 102, }, + { 118, 116, 113, 147, 131, 103, }, + { 98, 112, 117, 114, 123, 98, }, + { 131, 122, 123, 179, 115, 133, }, + { 123, 122, 100, 118, 116, 86, }, + { 117, 115, 218, 243, 196, 117, }, + { 106, 133, 167, 97, 106, 116, }, + { 132, 105, 178, 130, 131, 196, }, +}); + +#if JVET_AG0136_INTRA_TMP_LIC +const CtxSet ContextSetCfg::TmpLic = ContextSetCfg::addCtxSet +({ +// ctx 191 + { CNU, }, + { CNU, }, + { 20, }, + { 43, }, + { 5, }, + { 5, }, + { 5, }, + { 1, }, + { 25, }, + { DWE, }, + { 25, }, + { 4, }, + { 108, }, + { 178, }, + { 118, }, + { 162, }, + { 115, }, + { 115, }, + { 118, }, + { 132, }, + }); + +const CtxSet ContextSetCfg::ItmpLicIndex = ContextSetCfg::addCtxSet +({ +// ctx 192 to 193 + { 19, 36, }, + { 18, 13, }, + { 19, 36, }, + { 12, 51, }, + { DWS, 6, }, + { 7, 7, }, + { 5, 5, }, + { 10, 7, }, + { 32, DWE, }, + { 32, 25, }, + { DWE, DWE, }, + { 32, 25, }, + { 116, 226, }, + { 130, 161, }, + { 135, 133, }, + { 113, 98, }, + { 117, 131, }, + { 131, 242, }, + { 160, 130, }, + { 99, 120, }, + }); +#endif +const CtxSet ContextSetCfg::MMLMFlag = ContextSetCfg::addCtxSet({ +// ctx 194 + { 28, }, + { 20, }, + { 11, }, + { 43, }, + { 5, }, + { 5, }, + { 5, }, + { 5, }, + { 25, }, + { 11, }, + { 11, }, + { DWE, }, + { 101, }, + { 150, }, + { 130, }, + { 244, }, + { 102, }, + { 243, }, + { 101, }, + { 124, }, +}); + +const CtxSet ContextSetCfg::DeltaQP = ContextSetCfg::addCtxSet({ +// ctx 195 to 196 + { CNU, CNU, }, + { CNU, CNU, }, + { CNU, CNU, }, + { CNU, CNU, }, + { DWS, DWS, }, + { DWS, DWS, }, + { DWS, DWS, }, + { DWS, DWS, }, + { DWE, DWE, }, + { DWE, DWE, }, + { DWE, DWE, }, + { DWE, DWE, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::InterDir = ContextSetCfg::addCtxSet({ +// ctx 197 to 204 + { 7, 26, 11, 18, 25, 25, 17, CNU, }, + { 7, 6, 4, 11, 18, 3, 25, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 29, 4, 11, 18, 25, 25, 2, CNU, }, + { 0, 0, 0, 1, 4, DWS, DWS, DWS, }, + { 0, 0, 2, 2, 5, 10, 9, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 12, 3, 0, 1, 4, 9, DWS, DWS, }, + { 25, 25, 11, 4, 4, 32, 32, DWE, }, + { 25, 25, DWE, 11, 11, 32, 32, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 32, 4, 4, 4, 32, 32, DWE, }, + { 116, 118, 117, 116, 101, 84, 98, DWO, }, + { 122, 116, 148, 148, 164, 146, 131, DWO, }, + { 116, 116, 118, 116, 105, 84, 81, DWO, }, + { 133, 118, 146, 147, 243, 135, 184, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 65, 113, 117, 116, 101, 88, 82, DWO, }, + { 138, 123, 133, 196, 133, 146, 149, DWO, }, +}); + +const CtxSet ContextSetCfg::RefPic = ContextSetCfg::addCtxSet({ +// ctx 205 to 206 + { CNU, CNU, }, + { CNU, CNU, }, + { CNU, CNU, }, + { CNU, CNU, }, + { DWS, DWS, }, + { DWS, DWS, }, + { DWS, DWS, }, + { DWS, DWS, }, + { DWE, DWE, }, + { DWE, DWE, }, + { DWE, DWE, }, + { DWE, DWE, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::RefPicLC = ContextSetCfg::addCtxSet({ +// ctx 207 to 209 + { 41, 34, 27, }, + { 27, 43, 36, }, + { CNU, CNU, CNU, }, + { 27, 44, 29, }, + { 5, 5, 5, }, + { 5, 9, 9, }, + { DWS, DWS, DWS, }, + { 5, 6, 9, }, + { 4, 4, 4, }, + { 4, DWE, 11, }, + { DWE, DWE, DWE, }, + { 4, 4, 4, }, + { 124, 138, 252, }, + { 118, 108, 124, }, + { 108, 130, 245, }, + { 118, 123, 251, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 117, 118, 251, }, + { 132, 116, 251, }, +}); +#if JVET_AJ0085_SUBBLOCK_MERGE_MODE_EXTENSION +const CtxSet ContextSetCfg::SubblockMergeFlag = ContextSetCfg::addCtxSet({ +// ctx 210 to 215 + { 25, 34, 28, 42, CNU, 28, }, + { 40, 34, 43, 42, 42, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, }, + { 25, 27, 22, 50, 36, 37, }, + { 6, 5, 4, 5, 5, 4, }, + { 6, 5, 5, 6, 6, 5, }, + { DWS, DWS, DWS, DWS, DWS, DWS, }, + { 6, 5, 6, 5, 5, 5, }, + { 4, 4, DWE, DWE, DWE, DWE, }, + { 11, 4, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, DWE, DWE, DWE, DWE, }, + { 116, 103, 109, 100, 102, 117, }, + { 116, 132, 117, 133, 123, 148, }, + { 117, 117, DWO, 106, 116, 117, }, + { 117, 117, 117, 132, 123, 121, }, + { DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, }, + { 131, 117, 116, 116, 116, DWO, }, + { 131, 117, 117, 124, 123, 117, }, +}); +#else +const CtxSet ContextSetCfg::SubblockMergeFlag = ContextSetCfg::addCtxSet({ +// ctx 202 204 + { 25, 34, 21 }, + { 40, 34, 36 }, + { 35, 35, 35 }, + { 25, 20, 37 }, + { 6, 5, 4 }, + { 6, 5, 5 }, + { 8, 8, 8 }, + { 6, 5, 5 }, + { 4, 4, 18 }, + { 11, 4, 18 }, + { 18, 18, 18 }, + { 4, 4, 18 }, + { 131, 116, 117 }, + { 131, 132, 118 }, + { 117, 117, 119 }, + { 117, 132, 117 }, + { 119, 119, 119 }, + { 119, 119, 119 }, + { 131, 117, 118 }, + { 131, 117, 118 }, +}); +#endif + +const CtxSet ContextSetCfg::BMMergeFlag = ContextSetCfg::addCtxSet({ +// ctx 216 to 219 + { 56, 50, 58, 28, }, + { 57, 50, 58, 28, }, + { CNU, CNU, CNU, CNU, }, + { 56, 50, 58, 28, }, + { 5, 5, 4, 5, }, + { 6, 5, 9, 5, }, + { DWS, DWS, DWS, DWS, }, + { 5, 5, 4, 5, }, + { DWE, 4, 4, 11, }, + { DWE, 4, 4, 4, }, + { DWE, DWE, DWE, DWE, }, + { DWE, 11, 4, 11, }, + { 121, 151, 253, 106, }, + { 115, 115, 100, 108, }, + { 121, 140, 235, 108, }, + { 115, 101, 85, 107, }, + { DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { 124, 164, 141, 116, }, + { 117, 163, 101, 116, }, +}); + +const CtxSet ContextSetCfg::affBMFlag = ContextSetCfg::addCtxSet({ +// ctx 220 to 221 + { 40, 43, }, + { 40, 43, }, + { CNU, CNU, }, + { 40, 50, }, + { 5, 1, }, + { 6, 4, }, + { DWS, DWS, }, + { 5, 1, }, + { DWE, 4, }, + { 4, 4, }, + { DWE, DWE, }, + { DWE, 4, }, + { 101, 117, }, + { 133, 118, }, + { 113, 109, }, + { DWO, 102, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 99, 120, }, + { 121, 117, }, +}); + +const CtxSet ContextSetCfg::rribcFlipType = ContextSetCfg::addCtxSet({ +// ctx 222 to 225 + { 39, 39, 39, CNU, }, + { 39, 39, 0, CNU, }, + { 39, 39, 39, CNU, }, + { 39, 39, 39, CNU, }, + { 0, 0, 0, DWS, }, + { 0, 0, 0, DWS, }, + { 0, 0, 0, DWS, }, + { 0, 0, 0, DWS, }, + { 32, 32, 32, DWE, }, + { 32, 32, 32, DWE, }, + { 32, 32, 32, DWE, }, + { 32, 32, 32, DWE, }, + { 116, 116, 116, DWO, }, + { 116, 116, 116, DWO, }, + { 116, 116, 116, DWO, }, + { 116, 116, 116, DWO, }, + { 116, 116, 116, DWO, }, + { 116, 116, 116, DWO, }, + { 116, 116, 116, DWO, }, + { 116, 116, 116, DWO, }, +}); + +const CtxSet ContextSetCfg::bvOneZeroComp = ContextSetCfg::addCtxSet({ +// ctx 226 to 229 + { 34, CNU, 28, 27, }, + { 27, 34, 0, 27, }, + { 42, 50, 43, 19, }, + { 41, 42, 50, 27, }, + { 1, 7, DWS, 5, }, + { 5, 7, 4, 3, }, + { 5, 12, DWS, 5, }, + { 1, 6, 0, 5, }, + { 4, 4, DWE, 11, }, + { 11, 4, DWE, 4, }, + { DWE, 25, DWE, 11, }, + { 4, 4, 32, 11, }, + { 116, 113, 179, 115, }, + { 118, 118, 82, 163, }, + { 115, 103, 235, 121, }, + { 108, 97, 99, 116, }, + { 146, 82, 146, 102, }, + { 108, 88, 184, 147, }, + { 117, 99, 122, 107, }, + { 118, 210, 116, 131, }, +}); + +const CtxSet ContextSetCfg::AffineFlag = ContextSetCfg::addCtxSet({ +// ctx 230 to 232 + { 33, 12, 13, }, + { 26, 19, 20, }, + { CNU, CNU, CNU, }, + { 33, 27, 21, }, + { 6, 7, 1, }, + { 6, 3, 1, }, + { DWS, DWS, DWS, }, + { 5, 3, 2, }, + { 4, 11, 4, }, + { 4, 4, 4, }, + { DWE, DWE, DWE, }, + { 4, 4, 4, }, + { 242, 241, 137, }, + { 132, 244, 248, }, + { 117, 123, 123, }, + { 123, 163, 244, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 117, 116, 124, }, + { 148, 132, 134, }, +}); + +const CtxSet ContextSetCfg::AffineType = ContextSetCfg::addCtxSet({ +// ctx 233 + { 20, }, + { 26, }, + { CNU, }, + { 19, }, + { 0, }, + { 5, }, + { DWS, }, + { 1, }, + { 4, }, + { DWE, }, + { DWE, }, + { 4, }, + { 121, }, + { 149, }, + { 108, }, + { 147, }, + { DWO, }, + { DWO, }, + { 118, }, + { 180, }, +}); + +const CtxSet ContextSetCfg::AffMergeIdx = ContextSetCfg::addCtxSet({ +// ctx 234 to 236 + { 37, 29, 30, }, + { 15, 14, 30, }, + { CNU, CNU, CNU, }, + { 14, 14, 30, }, + { 1, 5, 10, }, + { 1, 5, 9, }, + { DWS, DWS, DWS, }, + { 1, 5, 9, }, + { 4, 11, 4, }, + { 4, 4, 4, }, + { DWE, DWE, DWE, }, + { DWE, 4, 4, }, + { 132, 117, 147, }, + { 117, 105, 85, }, + { 132, 132, 107, }, + { 132, 106, 91, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 125, 147, 132, }, + { 125, 101, 91, }, +}); + +const CtxSet ContextSetCfg::LICFlag = ContextSetCfg::addCtxSet({ +#if JVET_AG0276_LIC_SLOPE_ADJUST +// ctx 237 to 239 + { 18, 18, 11, }, + { 18, 33, 11, }, + { CNU, CNU, CNU, }, + { 26, 26, 34, }, + { 4, 4, 0, }, + { 5, 4, 4, }, + { DWS, DWS, DWS, }, + { 4, 4, 4, }, + { 11, DWE, 11, }, + { 4, 11, 11, }, + { DWE, DWE, DWE, }, + { 4, 25, 32, }, + { 104, 102, 116, }, + { 148, 243, 245, }, + { 102, 100, 99, }, + { 132, 244, 135, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 101, 100, 99, }, + { 133, 123, 135, }, +#else + { 11, }, + { 11, }, + { 11, }, + { 11, }, + { 4, }, + { 5, }, + { 6, }, + { 4, }, + { 4, }, + { 4, }, + { 4, }, + { 4, }, + { 102, }, + { 133, }, + { 101, }, + { 133, }, + { 106, }, + { 211, }, + { 102, }, + { 133, }, +#endif +}); + +#if JVET_AG0276_LIC_SLOPE_ADJUST +const CtxSet ContextSetCfg::LicDelta = ContextSetCfg::addCtxSet +({ +// ctx 240 to 241 + { CNU, 51, }, + { CNU, 59, }, + { CNU, CNU, }, + { 43, 59, }, + { 9, 0, }, + { 4, 0, }, + { DWS, DWS, }, + { DWS, 0, }, + { 25, 11, }, + { 11, 11, }, + { DWE, DWE, }, + { 25, 11, }, + { 98, 149, }, + { 162, 132, }, + { 124, 118, }, + { 243, 132, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 121, 198, }, + { 114, 116, }, + }); +#endif + +const CtxSet ContextSetCfg::BcwIdx = ContextSetCfg::addCtxSet({ +// ctx 242 + { 5, }, + { 5, }, + { CNU, }, + { 12, }, + { 1, }, + { 5, }, + { DWS, }, + { 3, }, + { 11, }, + { DWE, }, + { DWE, }, + { DWE, }, + { 132, }, + { 117, }, + { 179, }, + { 105, }, + { DWO, }, + { DWO, }, + { 168, }, + { 114, }, +}); + +const CtxSet ContextSetCfg::Mvd = ContextSetCfg::addCtxSet({ +// ctx 243 to 244 + { 44, 37, }, + { 44, 58, }, + { CNU, CNU, }, + { 44, 22, }, + { 2, 2, }, + { 3, 2, }, + { DWS, DWS, }, + { 2, 2, }, + { 4, 4, }, + { 4, 4, }, + { DWE, DWE, }, + { 4, 4, }, + { 252, 116, }, + { 236, 116, }, + { 251, 116, }, + { 203, 115, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 252, 115, }, + { 252, 115, }, +}); + +const CtxSet ContextSetCfg::Bvd = ContextSetCfg::addCtxSet({ +// ctx 245 to 256 + { 38, 38, 38, 37, 29, 28, 21, 38, 29, 28, 27, 27, }, + { 31, 46, 31, 22, 29, 44, CNU, 53, 30, 5, 12, 21, }, + { 38, 38, 38, 30, 37, 36, 29, 45, 37, 37, 28, 42, }, + { 38, 38, 38, 37, 21, CNU, 28, 46, 30, 13, CNU, CNU, }, + { 5, 9, 5, 5, 2, 5, 1, 6, 1, 0, 0, 1, }, + { 6, 9, 7, 5, 2, 5, 2, 6, 1, 0, 1, 1, }, + { 6, 9, 10, 7, 7, 2, 1, 6, 6, 1, 2, 2, }, + { 5, 6, 5, 5, 2, 4, 1, 6, 1, 0, 0, 0, }, + { DWE, 11, 4, 4, 4, 4, 11, 32, 4, 4, 4, 11, }, + { 11, 4, 4, 4, 4, 11, 11, DWE, 11, 4, 4, 11, }, + { 25, DWE, 25, DWE, DWE, 11, 11, 25, 25, DWE, 4, DWE, }, + { 11, 4, 4, 4, 4, 11, 4, DWE, 4, 4, 4, 4, }, + { 131, 147, 133, 180, 134, 148, 117, 115, 118, 126, 124, 139, }, + { 106, 82, 102, 100, 116, 100, 118, 114, 132, 117, 148, 131, }, + { 114, 132, 122, 117, 148, 131, 131, 130, 117, 121, 133, 196, }, + { 99, 117, 101, 100, 117, 103, 117, 131, 118, 117, 116, 118, }, + { 241, 117, 116, 122, 120, 179, 118, 117, 114, 125, 132, 133, }, + { 107, 83, 87, 104, 105, 117, 120, 102, 98, 117, 131, 130, }, + { 115, 123, 124, 118, 133, 180, 132, 130, 117, 121, 120, 120, }, + { 100, 98, 104, 101, 117, 101, 117, 131, 132, 117, 117, 117, }, +}); + +const CtxSet ContextSetCfg::MvsdIdxMVDMSB = ContextSetCfg::addCtxSet({ +// ctx 257 to 288 + { 42, 34, 41, 41, 33, 33, 57, 34, 41, 41, 48, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 42, 49, 49, 41, 26, 26, 49, 34, 41, 41, 48, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 42, 34, 41, 41, 33, 26, 11, 34, 41, 49, 33, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 13, 13, 13, 9, 9, 7, 13, 13, 13, 13, 10, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 13, 13, 13, 10, 10, 6, 6, 13, 13, 12, 7, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 12, 12, 13, 9, 10, 6, 13, 13, 10, 9, 13, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 4, 4, 25, 11, 4, 4, 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 11, 4, 4, 11, 4, 4, 4, DWE, 4, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 11, 4, 4, 11, 11, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 86, 68, 179, 114, 129, 98, 66, 101, 70, 101, 81, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 104, 170, 99, 121, 132, 99, 150, 87, 118, 103, 130, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 104, 86, 82, 98, 82, 114, 97, 105, 89, 67, 154, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 100, 233, 102, 106, 103, 130, 218, 103, 170, 230, 105, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 85, 85, 225, 98, 97, 114, 145, 87, 87, 81, 65, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 89, 107, 90, 117, 101, 130, 69, 102, 148, 251, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::MvsdIdxBVDMSB = ContextSetCfg::addCtxSet({ +// ctx 289 to 304 + { 34, 41, 57, 41, 42, 41, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 27, 41, 2, 40, 13, 34, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 34, 41, 34, 41, 42, 34, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 34, 41, 18, 33, 42, 34, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 13, 9, 7, 12, 13, 13, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 13, 9, 0, 12, 13, 13, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 13, 10, 13, 13, 13, 13, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 13, 9, 12, 13, 10, 13, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 4, 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, DWE, 11, 4, 4, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, 11, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 218, 83, 181, 81, 67, 85, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 84, 100, 102, 235, 234, 117, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 70, 85, 252, 233, 84, 88, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 122, 100, 117, 163, 117, 104, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 234, 84, 122, 106, 170, 114, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 87, 99, 185, 102, 106, 218, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 106, 84, 186, 202, 83, 67, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 89, 100, 114, 100, 250, 186, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::MvsdIdx = ContextSetCfg::addCtxSet({ +// ctx 305 to 308 + { 34, 33, 34, 33, }, + { 41, 48, 41, 33, }, + { CNU, CNU, CNU, CNU, }, + { 34, 33, 34, 33, }, + { 13, 10, 13, 10, }, + { 13, 10, 13, 10, }, + { DWS, DWS, DWS, DWS, }, + { 13, 10, 13, 12, }, + { 11, 4, 4, 4, }, + { 4, 4, 4, 4, }, + { DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 11, }, + { 66, 82, 66, 98, }, + { DWO, 102, 104, 114, }, + { 89, 82, 83, 81, }, + { 90, 100, 115, 101, }, + { DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { 67, 83, 67, 82, }, + { 115, 100, 103, 99, }, +}); + +const CtxSet ContextSetCfg::MvsdIdxIBC = ContextSetCfg::addCtxSet({ +// ctx 309 to 310 + { 41, 33, }, + { 41, 26, }, + { 34, 41, }, + { 26, 41, }, + { 13, 10, }, + { 13, 10, }, + { 13, 13, }, + { 13, 10, }, + { 4, 4, }, + { DWE, 4, }, + { 4, 4, }, + { 4, 4, }, + { 200, 90, }, + { 89, 100, }, + { 148, 83, }, + { 116, 100, }, + { 234, 82, }, + { 88, 115, }, + { 74, 82, }, + { 105, 104, }, +}); + +const CtxSet ContextSetCfg::MultiHypothesisFlag = ContextSetCfg::addCtxSet({ +// ctx 311 to 313 + { 10, CNU, 51, }, + { 10, 42, 43, }, + { CNU, CNU, CNU, }, + { 17, CNU, 52, }, + { 1, 1, 1, }, + { 2, 5, 2, }, + { DWS, DWS, DWS, }, + { 1, 1, 1, }, + { 11, 4, 11, }, + { 4, 4, 4, }, + { DWE, DWE, DWE, }, + { 4, 4, 4, }, + { 116, 117, 116, }, + { 243, 148, 147, }, + { 115, 118, 118, }, + { 242, 101, 116, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 116, 118, 116, }, + { 132, 120, 117, }, +}); + +const CtxSet ContextSetCfg::MHRefPic = ContextSetCfg::addCtxSet({ +// ctx 314 to 315 + { 43, 41, }, + { 28, 26, }, + { CNU, CNU, }, + { 59, 22, }, + { 0, 0, }, + { 0, 0, }, + { DWS, DWS, }, + { 0, 0, }, + { DWE, DWE, }, + { 4, 4, }, + { DWE, DWE, }, + { 4, 4, }, + { 148, 117, }, + { 116, 116, }, + { 142, 141, }, + { 126, 117, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 133, 123, }, + { DWO, 118, }, +}); + +const CtxSet ContextSetCfg::MHWeight = ContextSetCfg::addCtxSet({ +// ctx 316 to 317 + { 43, CNU, }, + { 59, CNU, }, + { CNU, CNU, }, + { 59, CNU, }, + { 0, DWS, }, + { 0, DWS, }, + { DWS, DWS, }, + { 0, DWS, }, + { DWE, DWE, }, + { 4, DWE, }, + { DWE, DWE, }, + { 4, DWE, }, + { 120, DWO, }, + { 149, DWO, }, + { 140, DWO, }, + { 166, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 141, DWO, }, + { 230, DWO, }, +}); + +const CtxSet ContextSetCfg::BDPCMMode = ContextSetCfg::addCtxSet({ +// ctx 318 to 321 + { 25, 28, 0, 42, }, + { 25, 59, 9, 58, }, + { 11, 50, 0, 42, }, + { 17, 44, 0, 50, }, + { 1, 0, 1, 0, }, + { 2, 0, 0, 0, }, + { 1, 1, DWS, 0, }, + { 2, 0, 1, 0, }, + { 4, 32, 25, 32, }, + { 4, 4, 4, 32, }, + { DWE, 25, 4, 4, }, + { 4, 4, 11, 32, }, + { 117, DWO, 115, 116, }, + { 228, 117, 153, 116, }, + { 115, 117, 116, 116, }, + { 147, 132, 136, 117, }, + { 120, 118, 82, 139, }, + { 125, 131, 124, 116, }, + { 120, 244, 115, 116, }, + { 122, 117, 141, 116, }, +}); + +const CtxSet ContextSetCfg::QtRootCbf = ContextSetCfg::addCtxSet({ +// ctx 322 + { 5, }, + { 5, }, + { 6, }, + { 13, }, + { 1, }, + { 2, }, + { 1, }, + { 1, }, + { 4, }, + { 4, }, + { 11, }, + { 4, }, + { 117, }, + { 118, }, + { 117, }, + { 117, }, + { 132, }, + { 117, }, + { 117, }, + { 118, }, +}); + +const CtxSet ContextSetCfg::ACTFlag = ContextSetCfg::addCtxSet({ +// ctx 323 + { CNU, }, + { CNU, }, + { CNU, }, + { CNU, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, +}); + +const CtxSet ContextSetCfg::QtCbf[3] = { + ContextSetCfg::addCtxSet({ +// ctx 324 to 327 + { 30, 38, 5, 7, }, + { 15, 38, 5, 7, }, + { 7, 19, 4, 7, }, + { 15, 54, 5, 7, }, + { 5, 0, 5, 5, }, + { 5, 0, 6, 6, }, + { 5, 1, 5, 5, }, + { 5, 0, 5, 5, }, + { DWE, 32, 4, 11, }, + { 11, 25, 4, 11, }, + { DWE, DWE, 11, 11, }, + { DWE, 25, 4, 4, }, + { 131, 134, 99, 131, }, + { 106, 116, 149, 132, }, + { 147, 120, 98, 114, }, + { 101, 116, 244, 137, }, + { 131, 116, 100, 99, }, + { 116, 131, 195, 252, }, + { 131, 124, 100, 131, }, + { 108, 116, 212, 252, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 328 to 329 + { 25, 45, }, + { 17, 61, }, + { 4, 7, }, + { 25, 30, }, + { 5, 0, }, + { 5, 0, }, + { 5, 2, }, + { 5, 0, }, + { DWE, DWE, }, + { DWE, 32, }, + { DWE, 4, }, + { DWE, 25, }, + { 99, 116, }, + { 130, 253, }, + { 101, 116, }, + { 242, 134, }, + { 101, 114, }, + { 131, 252, }, + { 101, 116, }, + { 242, 122, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 330 to 332 + { 17, 36, 14, }, + { 1, 5, 61, }, + { 33, 13, 37, }, + { 17, 21, 22, }, + { 3, 1, 0, }, + { 2, 1, 3, }, + { 2, 2, 2, }, + { 3, 1, 0, }, + { DWE, 11, DWE, }, + { DWE, 11, 32, }, + { 11, DWE, DWE, }, + { DWE, 4, DWE, }, + { 114, 116, 116, }, + { 115, 116, 238, }, + { 118, 117, 113, }, + { 118, 117, DWO, }, + { 116, 118, 147, }, + { 120, 120, 114, }, + { 115, 132, 116, }, + { 116, 117, 158, }, + }), +}; + +const CtxSet ContextSetCfg::SigCoeffGroup[2] = { + ContextSetCfg::addCtxSet({ +// ctx 333 to 334 + { 25, 38, }, + { 25, 52, }, + { 18, 31, }, + { 25, 30, }, + { DWS, 5, }, + { DWS, 5, }, + { 4, 5, }, + { 5, 5, }, + { 25, DWE, }, + { 25, DWE, }, + { 11, DWE, }, + { 11, DWE, }, + { 92, 243, }, + { 103, 164, }, + { 92, 133, }, + { 101, 132, }, + { 104, 179, }, + { 116, 116, }, + { 130, 133, }, + { 227, 148, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 335 to 336 + { 1, 38, }, + { 17, 38, }, + { 25, 30, }, + { 9, 60, }, + { 12, DWS, }, + { DWS, 6, }, + { 5, 9, }, + { 5, 0, }, + { 25, 25, }, + { 32, 11, }, + { 11, 25, }, + { 11, 4, }, + { 68, 234, }, + { 164, 196, }, + { 82, 247, }, + { 148, 235, }, + { 211, 229, }, + { 179, 132, }, + { 98, 247, }, + { 166, 253, }, + }), +}; + +#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING +const CtxSet ContextSetCfg::SigFlagL[] = +{ + ContextSetCfg::addCtxSet + ({ +// ctx 337 to 354 + { 19, 26, 27, 28, 21, 21, 42, 27, 28, 29, 37, 30, CNU, 44, 37, 30, 30, 38, }, + { 26, 41, 34, 20, 13, 36, 57, 42, CNU, 21, 37, 30, 57, 37, 51, 22, 38, 38, }, + { 34, 26, 19, 28, 13, 21, 50, 27, 28, 14, 22, 30, 43, 52, 37, 38, 38, 38, }, + { 11, 26, 27, 28, 21, 29, 27, 27, 28, 29, 37, 30, 58, 44, 52, 30, 30, 38, }, + { 12, 10, 10, 13, 13, 12, DWS, 13, 13, 10, 10, 13, DWS, 10, 9, 10, 9, 13, }, + { 13, 10, 10, 13, 12, 5, DWS, 13, 10, 10, 13, 13, 9, 9, 12, 10, 13, 13, }, + { 12, 9, 10, 10, 13, 13, 12, 13, 13, 13, 13, 13, 12, 9, 9, 13, 13, 13, }, + { 13, 10, 10, 13, 13, 13, 9, 13, 10, 13, 13, 13, DWS, 10, 12, 12, 12, 13, }, + { 32, 4, 4, 4, 4, 4, DWE, 4, 4, 4, 4, 4, 32, 4, 4, 4, 4, 11, }, + { 25, 4, 4, 25, 4, 4, 11, 4, 4, 4, 4, 4, 25, 4, 11, 11, 11, 4, }, + { DWE, 4, 4, 4, 4, 11, DWE, 4, 4, 4, 4, 4, 32, 4, 4, 4, 4, DWE, }, + { DWE, 4, 11, 11, 4, 4, 11, 11, 4, DWE, 4, 4, 25, 4, DWE, 11, 4, 11, }, + { 235, 83, 85, 87, 101, 235, 252, 83, 118, 116, 200, 166, 153, 250, 132, 118, 250, 234, }, + { 87, 234, 250, 200, 90, 66, 90, 234, 218, 170, 89, 86, 101, 89, 232, 138, 83, 80, }, + { 101, 82, 88, 87, 201, 252, 195, 71, 102, 114, 102, 105, 83, 102, 100, 105, 100, 167, }, + { 186, 218, 153, 202, 67, 99, 197, 234, 151, 250, 184, 134, 251, 135, 133, 250, 217, 67, }, + { 235, 88, 100, 87, 184, 234, 235, 83, 132, 115, 118, 153, 235, 100, 120, 86, 118, 234, }, + { 132, 203, 138, 250, 84, 66, 132, 234, 234, 234, 135, 87, 113, 219, 152, 234, 153, 65, }, + { 218, 82, 84, 83, 121, 234, 147, 83, 102, 99, 138, 136, 99, 226, 100, 88, 166, 217, }, + { 104, 234, 250, 170, 169, 69, 132, 234, 250, 234, 99, 102, 140, 120, 170, 235, 84, 224, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 355 to 366 + { 11, 42, 27, 5, 29, 13, 4, 52, 45, 38, 38, 31, }, + { 4, 27, 34, 28, 13, 51, 19, 36, 14, 7, 38, 46, }, + { 42, 34, 20, 21, 29, 37, 43, 53, 53, 38, 38, 46, }, + { 4, 42, CNU, 21, 37, 60, 27, 44, 53, 46, 38, 31, }, + { 13, 13, 13, 13, 9, 4, DWS, 6, DWS, DWS, 10, 13, }, + { 12, 13, 13, 10, 13, 0, 12, DWS, DWS, DWS, 12, 6, }, + { DWS, 13, 9, 12, 13, DWS, 9, 9, 12, DWS, 13, DWS, }, + { 3, 10, 9, 9, 12, 7, 1, 9, 12, 12, DWS, 12, }, + { DWE, 4, 4, DWE, 11, 4, 4, 4, 11, 25, 32, 32, }, + { DWE, 11, 11, 25, 32, 4, 4, 11, 11, DWE, 32, DWE, }, + { 4, 4, 4, 11, 4, 11, 32, 4, 11, 4, DWE, 4, }, + { 25, 4, 11, DWE, DWE, 11, 11, 11, 32, DWE, 4, 11, }, + { 212, 100, 216, 177, 84, 187, 87, 101, 123, 195, 234, 145, }, + { 217, 217, 234, 147, 123, 115, 108, 251, 133, 139, 150, 186, }, + { 100, 67, 104, 85, 170, 229, 85, 86, 245, 163, 168, 234, }, + { 234, 234, 234, 233, 200, 116, 234, 252, 248, 251, 97, 151, }, + { 234, 74, 100, 114, 104, 251, 195, 104, 116, 132, 181, 252, }, + { 118, 234, 251, 235, 122, 83, 251, 203, 235, 252, 82, 82, }, + { 114, 88, 167, 99, 84, 200, 147, 130, 226, 100, 188, 116, }, + { 234, 250, 251, 148, 86, 147, 115, 251, 200, 202, 98, 153, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 367 to 384 + { 29, 21, 45, 46, 46, 46, 30, 54, 61, 39, 39, 39, 6, 39, 39, 39, 39, 39, }, + { 51, 44, 22, 46, 46, 54, 52, 54, 54, 39, 39, 39, 39, 39, 39, 39, 39, 39, }, + { 44, 21, 45, 54, 54, 54, 37, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, }, + { 29, 21, 45, 46, 46, 54, 30, 54, 61, 39, 39, 39, 62, 39, 39, 39, 39, 39, }, + { 9, 13, 13, 10, DWS, DWS, DWS, DWS, DWS, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { 13, 13, 12, 13, 9, 0, 10, DWS, DWS, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, 12, 13, 12, 13, 4, 9, DWS, DWS, 4, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, 12, 13, 9, 5, DWS, 10, DWS, DWS, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { 32, DWE, 11, 4, 11, 11, 25, 25, 25, 32, 32, 25, 32, 32, 32, 32, 32, 32, }, + { 32, DWE, 11, 11, 4, 4, 25, 25, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 4, 4, 4, 4, 25, 4, 11, 25, 25, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { DWE, 4, DWE, 4, 4, 4, 25, 25, 25, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 251, 100, 118, 151, 252, 249, 252, 252, 252, 222, 254, 233, 254, 116, 251, 235, 220, 252, }, + { 97, 217, 234, 135, 82, 82, 84, 242, 98, 116, 116, 116, 116, 116, 116, 116, 116, 116, }, + { 234, 114, 116, 149, 201, 220, 250, 252, 199, 202, 253, 148, 116, 238, 236, 116, 238, 237, }, + { 98, 217, 219, 234, 81, 116, 98, 152, 147, 116, 132, 116, 116, 116, 116, 116, 116, 116, }, + { 252, 91, 115, 117, 234, 253, 251, 252, 252, 234, 254, 234, 238, 251, 235, 238, 252, 253, }, + { 104, 235, 234, 234, 67, 99, 100, 226, 98, 99, 116, 116, 116, 116, 116, 116, 116, 116, }, + { 252, 132, 116, 123, 250, 219, 249, 252, 187, 203, 252, 232, 253, 116, 116, 116, 132, 116, }, + { 89, 235, 234, 201, 98, 82, 85, 242, 130, 116, 116, 116, 116, 116, 116, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 385 to 396 + { 37, 29, 38, 31, 39, 39, 39, 39, 39, 39, 39, 39, }, + { CNU, 52, 53, 62, 62, 39, 39, 39, 39, 39, 39, 39, }, + { 30, 46, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, }, + { 29, 29, 38, 31, 62, 39, 39, 39, 39, 39, 39, 39, }, + { DWS, 13, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, }, + { 12, 13, 4, 0, DWS, 0, 0, 0, 0, 0, 0, 0, }, + { 0, 12, 12, 4, 0, 0, 0, 0, 0, 0, 0, 0, }, + { 12, 9, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, }, + { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 32, 32, 25, 25, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 4, DWE, DWE, 32, 25, 25, 32, 32, 32, 32, 32, 32, }, + { 32, 25, 4, 4, 11, 32, 32, 32, 32, 32, 32, 32, }, + { 252, 234, 238, 250, 251, 234, 116, 238, 235, 116, 235, 251, }, + { 82, 234, 116, 116, 148, 132, 116, 116, 116, 116, 116, 116, }, + { 235, 228, 237, 254, 172, 116, 251, 237, 116, 253, 116, 116, }, + { 81, 234, 131, 180, 82, 116, 116, 116, 116, 116, 116, 116, }, + { 254, 198, 235, 155, 253, 250, 116, 253, 254, 254, 238, 252, }, + { 116, 235, 102, 99, 116, 116, 116, 116, 116, 116, 116, 116, }, + { 233, 155, 254, 150, 115, 238, 116, 252, 238, 235, 235, 251, }, + { 182, 249, 116, 100, 232, 116, 116, 116, 116, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 397 to 414 + { 44, 54, 39, 39, 39, 39, 46, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 20, 39, 54, 39, 39, 39, 45, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 28, 39, 39, 39, 39, 39, 52, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 44, 54, 39, 39, 39, 39, 38, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 10, DWS, DWS, 12, 0, 6, 10, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { 12, DWS, DWS, 13, 7, 0, 13, 4, 4, 0, 1, 1, 0, 0, 0, 0, 0, 0, }, + { 10, DWS, 12, 12, 12, 13, 13, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { 12, DWS, DWS, 13, 1, 0, 6, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWE, 25, 25, 32, 11, DWE, 25, DWE, 32, 32, 32, 32, 4, 32, 32, 32, 32, 32, }, + { DWE, 25, DWE, 32, 32, 25, 32, DWE, 32, 32, 32, 32, 4, 32, 32, 32, 32, 32, }, + { 25, 25, 32, 25, 25, 11, 25, 32, 32, 32, 32, 32, 25, 32, 32, 32, 32, 32, }, + { DWE, DWE, 32, 32, 25, 11, 32, DWE, 25, 32, 32, 32, 4, 32, 32, 32, 32, 32, }, + { 250, 252, 218, 235, 254, 251, 249, 253, 183, 190, 236, 174, 116, 116, 235, 238, 252, 235, }, + { 80, 252, 244, 81, 182, 97, 80, 99, 99, 116, 116, 116, 116, 116, 116, 116, 116, 116, }, + { 235, 252, 252, 233, 250, 238, 234, 253, 203, 254, 253, 253, 116, 116, 253, 116, 116, 116, }, + { 146, 236, 201, 192, 130, 118, 64, 163, 99, 116, 115, 115, 116, 116, 116, 116, 116, 116, }, + { 233, 252, 234, 213, 185, 151, 234, 222, 253, 237, 188, 254, 116, 116, 254, 116, 251, 253, }, + { 117, 252, 179, 114, 69, 194, 85, 116, 99, 116, 116, 116, 116, 116, 116, 116, 116, 116, }, + { 234, 252, 233, 200, 252, 254, 251, 251, 253, 254, 237, 254, 116, 116, 116, 116, 116, 117, }, + { 114, 252, 243, 82, 115, 118, 97, 179, 100, 116, 116, 116, 116, 116, 116, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 415 to 426 + { CNU, 38, 54, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 6, 60, 39, 39, 39, 39, 4, 39, 39, 39, 39, 39, }, + { 13, 39, 39, 39, 39, 39, 3, 39, 39, 39, 39, 39, }, + { 5, 30, 54, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { DWS, DWS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { 13, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { 13, DWS, 4, 0, 0, 0, 12, 0, 0, 0, 0, 0, }, + { 12, 9, 4, 0, 5, 1, 0, 0, 0, 0, 0, 0, }, + { 4, 32, 32, 32, 25, 32, 32, 32, 32, 32, 32, 32, }, + { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 4, DWE, 32, 25, 32, 32, 4, 32, 32, 32, 32, 32, }, + { 4, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 234, 252, 254, 150, 116, 238, 116, 235, 235, 116, 116, 116, }, + { 226, 249, 116, 164, 116, 116, 116, 116, 116, 116, 116, 116, }, + { 202, 235, 184, 254, 235, 116, 116, 238, 116, 235, 116, 116, }, + { 112, 216, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, }, + { 232, 252, 237, 254, 185, 254, 139, 251, 252, 253, 253, 253, }, + { 214, 234, 99, 116, 116, 116, 65, 116, 116, 116, 116, 116, }, + { 135, 248, 252, 251, 250, 250, 116, 252, 251, 135, 235, 251, }, + { 200, 250, 115, 132, 162, 115, 116, 116, 116, 116, 116, 148, }, + }), +}; +#else +const CtxSet ContextSetCfg::SigFlagL[6] = { + ContextSetCfg::addCtxSet({ + { 10, 26, 27, 21, 25, 27, 28, 37, 34, 44, 44, 38 }, + { 10, 41, 42, 21, 19, 42, 28, 37, 27, 37, 44, 38 }, + { 26, 26, 19, 28, 34, 27, 28, 22, 43, 52, 37, 38 }, + { 10, 26, 27, 21, 25, 27, 28, 37, 34, 44, 44, 38 }, + { 12, 10, 10, 10, 8, 10, 10, 10, 8, 10, 8, 9 }, + { 12, 10, 9, 13, 8, 10, 10, 10, 8, 10, 8, 10 }, + { 12, 9, 9, 10, 8, 13, 13, 13, 9, 9, 9, 10 }, + { 12, 10, 10, 10, 8, 10, 10, 10, 8, 10, 8, 9 }, + { 25, 4, 11, 11, 25, 4, 11, 4, 25, 18, 11, 4 }, + { 25, 4, 4, 18, 25, 4, 4, 4, 25, 18, 11, 11 }, + { 25, 4, 4, 4, 4, 4, 11, 11, 18, 4, 4, 4 }, + { 25, 4, 11, 11, 25, 4, 11, 4, 25, 18, 11, 4 }, + { 231, 100, 114, 100, 251, 147, 152, 122, 201, 170, 186, 119 }, + { 102, 138, 138, 233, 100, 137, 122, 138, 101, 99, 100, 106 }, + { 234, 119, 227, 89, 252, 118, 199, 122, 252, 135, 251, 137 }, + { 84, 137, 121, 234, 114, 132, 227, 122, 83, 104, 115, 90 }, + { 131, 101, 117, 116, 252, 85, 211, 101, 131, 163, 132, 121 }, + { 148, 152, 118, 118, 132, 186, 164, 234, 182, 235, 135, 122 }, + { 231, 100, 114, 100, 251, 147, 152, 122, 201, 170, 186, 119 }, + { 102, 138, 138, 233, 100, 137, 122, 138, 101, 99, 100, 106 }, + }), + ContextSetCfg::addCtxSet({ + { 18, 42, 35, 21, 34, 52, 53, 38 }, + { 11, 27, 20, 21, 19, 52, 30, 38 }, + { 26, 34, 20, 21, 43, 53, 53, 38 }, + { 18, 42, 35, 21, 34, 52, 53, 38 }, + { 8, 13, 9, 13, 6, 5, 8, 10 }, + { 13, 13, 12, 12, 5, 5, 8, 8 }, + { 12, 13, 9, 13, 8, 8, 9, 9 }, + { 8, 13, 9, 13, 6, 5, 8, 10 }, + { 11, 18, 4, 25, 18, 11, 18, 25 }, + { 18, 11, 11, 25, 4, 4, 18, 25 }, + { 25, 11, 4, 11, 25, 4, 4, 4 }, + { 11, 18, 4, 25, 18, 11, 18, 25 }, + { 251, 215, 123, 99, 138, 132, 117, 146 }, + { 118, 120, 171, 186, 131, 117, 139, 116 }, + { 233, 115, 101, 84, 140, 132, 117, 147 }, + { 106, 133, 235, 235, 138, 124, 153, 252 }, + { 235, 86, 104, 163, 118, 164, 132, 132 }, + { 107, 149, 251, 147, 252, 108, 251, 154 }, + { 251, 215, 123, 99, 138, 132, 117, 146 }, + { 118, 120, 171, 186, 131, 117, 139, 116 }, + }), + ContextSetCfg::addCtxSet({ + { 35, 37, 45, 46, 28, 54, 61, 39, 43, 39, 39, 39 }, + { 27, 30, 38, 46, 51, 54, 54, 39, 22, 39, 39, 39 }, + { 20, 37, 45, 54, 36, 39, 39, 39, 38, 39, 39, 39 }, + { 35, 37, 45, 46, 28, 54, 61, 39, 43, 39, 39, 39 }, + { 12, 13, 13, 8, 10, 8, 8, 4, 0, 0, 0, 0 }, + { 12, 13, 12, 8, 7, 8, 8, 5, 0, 0, 0, 0 }, + { 8, 12, 13, 12, 13, 8, 8, 4, 0, 0, 0, 0 }, + { 12, 13, 13, 8, 10, 8, 8, 4, 0, 0, 0, 0 }, + { 25, 11, 18, 11, 25, 25, 25, 25, 18, 25, 25, 25 }, + { 25, 25, 25, 4, 25, 25, 25, 25, 25, 25, 25, 25 }, + { 11, 11, 25, 11, 25, 25, 25, 25, 25, 25, 25, 25 }, + { 25, 11, 18, 11, 25, 25, 25, 25, 18, 25, 25, 25 }, + { 235, 234, 232, 152, 250, 252, 235, 173, 212, 238, 116, 116 }, + { 162, 234, 162, 101, 112, 147, 99, 99, 116, 116, 116, 116 }, + { 235, 153, 195, 135, 250, 252, 220, 150, 230, 116, 238, 235 }, + { 82, 234, 235, 121, 97, 136, 115, 98, 116, 116, 116, 116 }, + { 187, 149, 228, 213, 234, 252, 231, 154, 133, 116, 123, 238 }, + { 228, 235, 181, 187, 98, 242, 242, 99, 148, 116, 116, 116 }, + { 235, 234, 232, 152, 250, 252, 235, 173, 212, 238, 116, 116 }, + { 162, 234, 162, 101, 112, 147, 99, 99, 116, 116, 116, 116 }, + }), + ContextSetCfg::addCtxSet({ + { 34, 37, 38, 31, 6, 39, 39, 39 }, + { 34, 38, 53, 54, 38, 39, 39, 39 }, + { 13, 46, 38, 39, 54, 39, 39, 39 }, + { 34, 37, 38, 31, 6, 39, 39, 39 }, + { 8, 12, 8, 4, 0, 0, 0, 0 }, + { 10, 12, 8, 4, 12, 0, 0, 0 }, + { 8, 12, 13, 4, 0, 0, 0, 0 }, + { 8, 12, 8, 4, 0, 0, 0, 0 }, + { 25, 25, 18, 18, 25, 25, 25, 25 }, + { 18, 18, 25, 25, 25, 25, 25, 25 }, + { 25, 18, 25, 25, 25, 25, 25, 25 }, + { 25, 25, 18, 18, 25, 25, 25, 25 }, + { 235, 235, 252, 151, 164, 252, 116, 238 }, + { 115, 214, 83, 99, 132, 116, 116, 116 }, + { 202, 235, 252, 221, 235, 235, 116, 116 }, + { 129, 235, 83, 100, 65, 116, 116, 116 }, + { 252, 235, 186, 246, 148, 253, 254, 133 }, + { 242, 235, 101, 102, 132, 116, 116, 116 }, + { 235, 235, 252, 151, 164, 252, 116, 238 }, + { 115, 214, 83, 99, 132, 116, 116, 116 }, + }), + ContextSetCfg::addCtxSet({ + { 35, 54, 39, 39, 35, 39, 39, 39, 0, 39, 39, 39 }, + { 43, 39, 54, 39, 35, 39, 39, 39, 35, 39, 39, 39 }, + { 19, 39, 39, 39, 43, 39, 39, 39, 0, 39, 39, 39 }, + { 35, 54, 39, 39, 35, 39, 39, 39, 0, 39, 39, 39 }, + { 12, 9, 8, 8, 13, 4, 4, 4, 0, 0, 0, 0 }, + { 12, 8, 8, 12, 13, 4, 4, 4, 8, 0, 0, 0 }, + { 5, 8, 12, 12, 13, 0, 0, 0, 0, 0, 0, 0 }, + { 12, 9, 8, 8, 13, 4, 4, 4, 0, 0, 0, 0 }, + { 25, 25, 25, 18, 4, 25, 25, 25, 4, 25, 25, 25 }, + { 25, 25, 11, 25, 25, 18, 25, 25, 18, 25, 25, 25 }, + { 18, 25, 25, 25, 18, 25, 18, 18, 25, 25, 25, 25 }, + { 25, 25, 25, 18, 4, 25, 25, 25, 4, 25, 25, 25 }, + { 197, 251, 252, 218, 233, 188, 205, 221, 116, 116, 235, 252 }, + { 114, 250, 118, 179, 146, 99, 99, 99, 116, 116, 116, 116 }, + { 235, 235, 236, 202, 234, 253, 215, 215, 119, 116, 235, 235 }, + { 68, 251, 251, 162, 65, 115, 99, 99, 119, 116, 116, 116 }, + { 119, 252, 235, 155, 184, 249, 174, 173, 116, 235, 135, 254 }, + { 123, 251, 227, 114, 209, 116, 116, 116, 116, 116, 132, 116 }, + { 197, 251, 252, 218, 233, 188, 205, 221, 116, 116, 235, 252 }, + { 114, 250, 118, 179, 146, 99, 99, 99, 116, 116, 116, 116 }, + }), + ContextSetCfg::addCtxSet({ + { 19, 30, 54, 39, 42, 39, 39, 39 }, + { 27, 38, 62, 39, 33, 39, 39, 39 }, + { 20, 39, 39, 39, 61, 39, 39, 39 }, + { 19, 30, 54, 39, 42, 39, 39, 39 }, + { 10, 8, 4, 0, 0, 0, 0, 0 }, + { 10, 8, 0, 0, 1, 0, 0, 0 }, + { 9, 8, 8, 0, 1, 0, 0, 0 }, + { 10, 8, 4, 0, 0, 0, 0, 0 }, + { 25, 18, 25, 25, 25, 25, 25, 25 }, + { 18, 25, 25, 25, 11, 25, 25, 25 }, + { 18, 18, 25, 4, 25, 25, 25, 25 }, + { 25, 18, 25, 25, 25, 25, 25, 25 }, + { 216, 236, 253, 253, 212, 116, 253, 238 }, + { 192, 233, 100, 148, 116, 116, 116, 116 }, + { 248, 252, 254, 254, 115, 116, 238, 235 }, + { 100, 203, 117, 116, 221, 116, 116, 116 }, + { 123, 252, 204, 217, 115, 148, 116, 134 }, + { 210, 246, 162, 116, 251, 116, 116, 132 }, + { 216, 236, 253, 253, 212, 116, 253, 238 }, + { 192, 233, 100, 148, 116, 116, 116, 116 }, + }), +}; +#endif + +const CtxSet ContextSetCfg::ParFlagL[2] = { + ContextSetCfg::addCtxSet({ +// ctx 427 to 447 + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 33, 0, 17, 18, 0, 0, 25, 33, 26, 34, 19, 25, 34, 42, 42, CNU, 26, 27, CNU, 42, CNU, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 10, 13, 13, 0, 0, 0, 13, 13, 13, 13, 13, 12, 13, 13, 13, 13, 12, 13, 13, 12, 13, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 25, 25, 11, 25, 4, 4, 4, 4, 4, 4, 4, 11, 4, 4, 4, 4, DWE, DWE, 4, 4, 4, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 66, 64, 195, 116, 116, 116, 66, 84, 75, 104, 87, 106, 86, 117, 122, 105, 122, 234, 100, 90, 122, }, + { 181, 183, 252, 116, 116, 116, 167, 235, 235, 170, 234, 227, 234, 136, 151, 234, 101, 106, 218, 235, 122, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 448 to 458 + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 33, 25, 26, 19, 42, 27, 33, 50, CNU, CNU, CNU, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 13, 13, 12, 12, 13, 12, 12, 12, 10, 13, 10, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 25, 4, DWE, 25, DWE, 25, 4, 11, 11, 25, 11, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 64, 122, 85, 99, 99, 117, 219, 106, 243, 180, 249, }, + { 234, 117, 234, 187, 203, 123, 86, 104, 168, 165, 88, }, + }), +}; + +#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING +const CtxSet ContextSetCfg::GtxFlagL[] = +{ + ContextSetCfg::addCtxSet + ({ +// ctx 459 to 487 + { 25, 0, 0, 0, CNU, CNU, CNU, CNU, 2, 10, 26, 34, 4, 12, 28, 18, 34, 27, 20, 28, 36, 29, 27, 20, 21, 29, 22, 45, 30, }, + { 2, 0, 0, CNU, CNU, CNU, CNU, CNU, 25, 2, 18, 11, 27, 27, 20, 25, 26, 27, 50, 36, 28, 29, 34, 42, 43, 36, 37, 37, 45, }, + { 17, 40, 0, 1, 0, 0, 0, CNU, 2, 10, 26, 11, 27, 27, 20, 18, 26, 27, CNU, 13, 28, 29, 27, 28, 36, 29, 22, 22, 30, }, + { 25, 57, 0, 0, CNU, 39, CNU, CNU, 2, 18, 26, 34, 4, 12, 28, 18, 34, 12, 20, 28, 36, 29, 27, 28, 21, 29, 22, 45, 30, }, + { 4, 0, 0, 0, DWS, DWS, DWS, DWS, 10, 13, 12, 12, 13, 13, 13, 13, 13, 9, 10, 9, 10, 10, 10, DWS, 10, 10, DWS, 13, 9, }, + { DWS, 0, 0, DWS, DWS, DWS, DWS, DWS, 13, 13, 12, 13, 13, DWS, 13, 12, 12, 12, 12, 13, 9, 10, 9, 9, 9, DWS, DWS, 13, 13, }, + { 5, 0, 0, 13, 0, 0, 0, DWS, 12, 13, 13, 12, 12, 13, 10, 10, 12, 9, 9, 13, 9, 13, 6, DWS, 9, 12, 9, 10, 9, }, + { 12, 0, 0, 0, DWS, 0, DWS, DWS, 13, 13, 10, 13, 13, 13, 13, 13, 13, 13, 12, 12, 13, 10, 13, 10, 12, 13, 13, 13, 13, }, + { 4, 4, 4, 4, DWE, DWE, DWE, DWE, 4, DWE, 4, 4, 11, 4, 4, DWE, 11, 4, 4, 4, 4, 4, DWE, DWE, DWE, DWE, 4, 4, 4, }, + { 4, 4, 4, DWE, DWE, DWE, DWE, DWE, 4, DWE, 4, 11, 4, 4, 4, 11, 11, 11, 11, 4, 4, 4, 11, DWE, DWE, 11, 25, 25, 25, }, + { 4, 25, 4, 4, 4, 4, 4, DWE, 11, DWE, 11, 4, 11, DWE, 11, 4, 11, 4, 4, 4, 4, 11, 4, 4, 11, DWE, 4, 4, 4, }, + { 11, 32, 4, 4, DWE, 4, DWE, DWE, DWE, 11, 4, 4, 4, 4, 11, DWE, DWE, 25, 11, 4, 11, 4, 32, 25, 32, 32, 32, 25, 11, }, + { 99, 116, 116, 116, DWO, DWO, DWO, DWO, 99, 234, 170, 219, 197, 169, 150, 234, 218, 219, 234, 251, 250, 234, 182, 252, 136, 250, 196, 106, 233, }, + { 106, 116, 116, 116, DWO, DWO, DWO, DWO, 243, 114, 91, 116, 218, 152, 73, 100, 194, 101, 100, 90, 90, 82, 98, 91, 98, 88, 118, 170, 82, }, + { 188, 116, 116, DWO, DWO, DWO, DWO, DWO, 85, 218, 154, 217, 229, 187, 186, 235, 215, 211, 118, 115, 249, 185, 117, 122, 179, 148, 116, 116, 148, }, + { 99, 116, 116, DWO, DWO, DWO, DWO, DWO, 216, 131, 101, 114, 89, 87, 71, 85, 90, 107, 182, 217, 88, 90, 115, 146, 194, 195, 140, 130, 89, }, + { 252, 116, 116, 134, 116, 116, 116, DWO, 163, 234, 218, 235, 233, 217, 250, 250, 235, 251, 251, 132, 251, 234, 187, 138, 235, 151, 118, 121, 249, }, + { 101, 116, 116, 234, 116, 116, 116, DWO, 133, 99, 101, 91, 101, 83, 84, 103, 84, 101, 100, 163, 84, 68, 107, 88, 84, 83, 117, 100, 82, }, + { 106, 116, 116, 116, 116, 116, 116, DWO, 162, 82, 154, 184, 227, 103, 133, 138, 117, 121, 123, 235, 230, 217, 192, 115, 114, 179, 102, 129, 201, }, + { 216, 116, 116, 116, 116, 116, 116, DWO, 226, 185, 120, 131, 218, 102, 83, 131, 99, 121, 116, 84, 87, 82, 130, 116, 194, 113, 202, 234, 192, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 488 to 502 + { 41, 18, 3, 11, 42, 59, 52, 6, 2, 27, 12, 44, 53, 22, 54, }, + { 9, 48, 10, CNU, 26, 12, 10, 28, 10, 3, 12, 13, 53, 38, 38, }, + { 10, 10, 26, 27, CNU, 28, 28, 29, 27, 28, 29, 29, 22, 22, 38, }, + { 49, 2, 11, 19, 20, 20, 21, 6, 3, CNU, 20, 37, 37, 14, 46, }, + { 5, 10, 9, 1, 7, 2, 7, 3, 10, 12, 10, 9, 10, 6, 12, }, + { 13, 9, 12, 0, 12, 13, 0, 10, 12, 12, 3, 3, 13, DWS, DWS, }, + { 12, 13, 10, 13, 13, 13, 13, 13, 13, 9, 10, 10, 12, 13, DWS, }, + { DWS, 5, 13, 9, 10, 12, 12, 2, 10, DWS, 13, 2, 4, 10, 10, }, + { 11, DWE, 11, 4, 4, 4, 32, DWE, DWE, 25, 25, 4, 32, DWE, 4, }, + { 25, 32, 4, 4, DWE, 4, 4, 4, 25, 32, 4, 4, 32, 32, 25, }, + { 11, 11, 4, 11, 25, 11, DWE, DWE, DWE, 11, 11, DWE, DWE, 32, 4, }, + { 4, 4, 4, 32, 11, 4, 4, 4, DWE, 11, 32, 11, 4, 32, 11, }, + { 108, 85, 130, 140, 103, 131, 115, 250, 233, 233, 181, 200, 227, 209, 85, }, + { 131, 138, 162, 117, 226, 153, 250, 113, 129, 146, 96, 83, 176, 100, 183, }, + { 183, 180, 146, 116, 165, 96, 253, 218, 135, 133, 121, 164, 96, 82, 218, }, + { 224, 91, 148, 164, 66, 70, 235, 96, 118, 102, 201, 231, 177, 118, 82, }, + { 235, 98, 250, 226, 234, 163, 114, 216, 200, 180, 209, 132, 132, 213, 187, }, + { 226, 122, 100, 234, 116, 116, 90, 72, 84, 99, 195, 86, 201, 99, 83, }, + { 151, 251, 74, 181, 97, 75, 67, 116, 208, 148, 234, 148, 139, 200, 105, }, + { 103, 179, 199, 99, 244, 187, 87, 115, 179, 105, 99, 212, 115, 80, 80, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 503 to 531 + { 1, 0, 1, 57, 0, 0, 0, 0, 25, 34, 27, 20, 13, 36, 29, 26, 20, 36, 29, 37, 22, 30, CNU, 36, 37, 45, 38, 38, 38, }, + { 1, 0, 9, 0, 0, 0, 0, CNU, 25, 26, 27, 20, 28, 13, 21, 33, 27, 43, 36, 29, 37, 45, 49, CNU, 44, 37, 37, 38, 38, }, + { 25, 0, 17, 41, 58, 26, 39, 39, 25, 11, 27, 20, 13, 21, 21, 26, 20, 21, 21, 37, 22, 22, 28, 29, 45, 30, 38, 38, 23, }, + { 9, 0, 9, 10, 0, 2, 4, CNU, 25, 34, 27, 28, 13, 21, 29, 26, CNU, 28, 21, 29, 22, 30, 27, 13, 37, 45, 38, 38, 38, }, + { 9, 12, 10, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 13, 13, 13, 7, 9, 9, 12, 13, 12, 10, }, + { 9, 5, 13, 13, 0, 0, 0, DWS, 13, 13, 13, 13, 10, 12, 10, 10, 13, 13, 13, 13, 13, 13, DWS, DWS, 10, 9, 12, 13, 13, }, + { 9, 12, 12, 2, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 10, 13, 12, 13, 9, 10, 10, 10, 12, 13, 13, }, + { 9, 7, 6, 0, 0, 0, 0, DWS, 13, 13, 13, 13, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9, 12, 12, 13, 13, 13, 12, }, + { 4, 4, 4, 25, DWE, 25, 4, 4, 4, 4, 4, 4, 4, 4, 4, DWE, 11, 11, 4, 11, 4, 4, DWE, 11, 11, 11, DWE, 11, 4, }, + { 4, 32, 4, 25, 4, 4, 4, DWE, 11, 11, DWE, 11, 4, 4, 4, 11, DWE, DWE, DWE, DWE, 11, 4, 4, 11, 25, 11, 25, 32, 4, }, + { DWE, 4, 4, 4, 32, 32, 4, 4, 11, 11, 4, 4, 11, 11, 4, DWE, 11, 4, 4, 4, 4, 4, 11, 4, 11, 4, 4, 11, 4, }, + { 4, 4, 4, 4, 4, 32, 4, DWE, 11, DWE, 11, DWE, 4, 11, 4, DWE, 25, 25, DWE, 11, 11, 4, DWE, DWE, 32, 25, 32, 32, 4, }, + { 81, 182, 249, 116, 116, 116, 116, 116, 84, 84, 134, 152, 130, 105, 120, 234, 200, 163, 116, 102, 115, 117, 116, 195, 101, 99, 84, 84, 184, }, + { 185, 202, 161, 222, 116, 116, 116, 116, 234, 234, 170, 186, 233, 170, DWO, 234, 234, 234, 250, 234, 234, 234, 120, 102, 170, 235, 234, 219, 83, }, + { 81, 98, 67, 183, 116, 116, 116, DWO, 66, 114, 89, 88, 106, 99, 233, 102, 146, 210, 106, 102, 84, 131, 100, 132, 102, 100, 100, 98, 195, }, + { 251, 252, 177, 183, 116, 116, 116, DWO, 234, 167, 218, 233, 168, 231, 99, 250, 234, 234, 234, 234, 233, 185, 148, 148, 202, 251, 148, 200, 101, }, + { 81, 186, 187, 162, 116, 117, 116, 116, 86, 118, 201, 117, 85, 85, 218, 234, 233, 196, 234, 115, 86, 151, 131, 146, 99, 130, 75, 84, 106, }, + { 249, 235, 195, 236, 253, 116, 116, 116, 234, 234, 151, 202, 234, 234, 83, 234, 234, 235, 250, 234, 235, 85, 117, 152, 250, 250, 235, 218, 218, }, + { 81, 98, 250, 116, 116, 116, 116, 116, 67, 98, 115, 84, 102, 87, 132, 130, 130, 147, 120, 104, 194, 103, 99, 146, 145, 113, 86, 90, 201, }, + { 234, 250, 210, 117, 116, 116, 116, 116, 234, 234, 201, 218, 250, 185, 185, 234, 234, 234, 215, 218, 234, 234, 107, 131, 233, 234, 234, 234, 86, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 532 to 546 + { 9, 25, 27, 28, 13, 60, 45, 7, 28, 45, 38, 46, 38, 54, 62, }, + { 9, 25, 11, 11, 13, 5, 14, 14, 19, 5, 7, 53, 15, 38, 31, }, + { 40, 33, 27, 20, 13, 21, 29, 37, 36, 37, 45, 30, 38, 38, 46, }, + { 9, 33, CNU, 28, 5, 37, 21, 14, 36, 45, 38, 23, 46, 62, 54, }, + { 12, 12, 13, DWS, 5, 0, 1, 12, DWS, DWS, 4, 7, DWS, 5, 9, }, + { 9, 12, 12, 10, 7, 4, 3, 13, 5, 10, DWS, 3, 3, 0, 13, }, + { 13, 12, 12, 12, 9, 12, 13, 9, DWS, 12, DWS, 9, 13, 13, 12, }, + { 12, 12, 13, 9, DWS, 13, DWS, DWS, 9, 7, 1, 13, DWS, 3, 12, }, + { 4, 11, 32, 25, 25, 11, 4, 32, 11, 25, DWE, DWE, 32, 32, 32, }, + { 4, 11, 32, 25, 32, 4, DWE, DWE, 4, 32, 25, 32, 32, 11, 11, }, + { DWE, 4, 11, DWE, 4, 11, 4, 4, 4, 25, 11, 4, DWE, DWE, 4, }, + { 4, DWE, 32, DWE, DWE, 25, 11, 4, 25, 4, 4, 11, 11, DWE, 4, }, + { 71, 235, 210, 115, 131, 212, 131, 161, 165, 102, 132, 146, 136, 153, 107, }, + { 106, 234, 150, 153, 203, 237, 253, 234, 115, 117, 170, 136, 165, 230, 82, }, + { 81, 67, 97, 226, 98, 202, 243, 113, 115, 97, 130, 210, 129, 118, 192, }, + { 182, 235, 183, 131, 250, 253, 251, 232, 124, 162, 137, 139, 249, 250, 118, }, + { 64, 235, 179, 227, 131, 102, DWO, 219, 116, 177, 116, 115, 98, 114, 183, }, + { 217, 235, 235, 235, 235, 170, 167, 82, 101, 235, 216, 218, 150, 218, 81, }, + { 68, 101, 128, 116, 166, 178, 252, 251, 98, 99, 117, 114, 85, 232, 235, }, + { 133, 235, 218, 171, 137, 197, 137, 82, 139, DWO, 123, 135, 194, 214, 67, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 547 to 575 + { 25, 1, 1, 0, 0, 0, CNU, CNU, 25, 18, 19, 27, 12, 28, 36, 33, 27, 28, 36, 21, 29, 37, 27, 36, 37, 37, 30, 30, 38, }, + { 25, 0, 0, 0, 0, CNU, 0, CNU, 25, 18, 26, 42, 12, 20, 28, 18, 34, 42, 28, 36, 29, 37, 41, CNU, 36, 44, 37, 30, 38, }, + { 25, 0, 17, CNU, 59, 40, 25, 0, 25, 3, 11, 12, 12, 5, 13, 26, 27, 28, 21, 21, 29, 22, 20, 29, 37, 22, 30, 38, 23, }, + { 25, 1, 1, 40, 0, 49, 0, CNU, 25, 18, 11, 27, 20, 28, 36, 33, 27, 28, 36, 21, 29, 37, 27, 28, 37, 45, 30, 22, 38, }, + { 6, 13, 13, 0, 0, 0, DWS, DWS, 13, 13, 13, 13, 13, 13, 13, 13, 10, 13, 13, 13, 13, 13, 9, 9, 10, 9, 12, 13, 13, }, + { DWS, 0, 0, 0, 0, DWS, 0, DWS, 13, 13, 13, 13, 13, 13, 10, 10, 10, 13, 10, 13, 13, 13, 12, 10, 12, 9, 12, 12, 12, }, + { 9, DWS, 0, 0, 0, 0, 0, 0, 13, 12, 13, 9, 13, 13, 13, 9, 10, 10, 10, 13, 13, 13, 9, 9, 10, 13, 13, 13, 12, }, + { 6, 5, 13, 13, 0, 0, 0, DWS, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 13, 13, 13, 13, }, + { 4, 4, 32, 4, 4, 4, DWE, DWE, 4, 4, 11, 4, 4, 4, 4, 4, 4, 11, 4, 4, 4, 4, 11, 11, DWE, 4, 11, 11, 4, }, + { 25, 25, 4, 4, 4, DWE, 4, DWE, DWE, DWE, 11, DWE, DWE, 4, 4, 25, DWE, 32, DWE, DWE, DWE, 4, 25, 32, 32, 25, 32, 32, 11, }, + { 11, 32, 11, 32, 4, 25, 25, 4, 11, 11, 4, 4, 11, DWE, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 11, DWE, DWE, DWE, 4, }, + { DWE, 4, 4, 4, 4, 4, 4, DWE, DWE, 11, 11, DWE, DWE, 11, 4, DWE, 32, 32, DWE, DWE, DWE, 4, 32, 32, 32, 32, 32, 32, 11, }, + { 97, 217, 83, 116, 116, 116, DWO, DWO, 65, 88, 72, 84, 102, 83, 229, 100, 99, 83, 146, 148, 132, 218, 242, 194, 98, 131, 86, 88, 118, }, + { 251, 202, 200, 116, 116, 116, DWO, DWO, 233, 234, 234, 184, 234, 233, 89, 102, 250, 234, 201, 233, 234, 84, 147, 134, 250, 166, 219, 216, 89, }, + { 82, 116, 116, 116, 116, DWO, 116, DWO, 64, 71, 89, 83, 87, 86, 249, 84, 100, 104, 99, 130, 99, 179, 83, 99, 145, 115, 99, 99, 179, }, + { 252, 116, 116, 116, 116, DWO, 116, DWO, 234, 234, 218, 218, 234, 218, 88, 169, 234, 186, 250, 234, 168, 118, 123, 186, 228, 187, DWO, 217, 233, }, + { 82, 201, 116, 116, 116, 116, 116, 116, 66, 68, 85, 84, 115, 83, 105, 85, 100, 87, 86, 116, 100, 101, 87, 91, 99, 99, 114, 83, 116, }, + { 235, 163, 154, 252, 206, 116, 116, 116, 218, 235, 202, 251, 234, 234, 102, 155, 250, 250, 250, 234, 218, 234, 139, 250, 250, 234, 234, 234, 235, }, + { 97, 243, 64, 217, 116, 116, 116, 116, 66, 83, 86, 90, 83, 83, 228, 82, 90, 89, 98, 131, 102, 228, 81, 87, 113, 112, 98, 194, 195, }, + { 152, 115, 218, 201, 116, 116, 116, 116, 233, 233, 234, 234, 233, 199, 87, 120, 202, 218, 234, 234, 234, 83, 116, 131, 235, 218, 234, 99, 138, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 576 to 590 + { 17, 33, 11, 27, 59, 6, 52, 14, 26, 36, 29, 53, 46, 15, 46, }, + { 10, 25, 11, 11, 4, 52, 60, 5, 18, 12, 44, 30, 54, 37, 62, }, + { 40, 33, 19, 12, 20, 5, 21, 37, 20, 29, 37, 22, 30, 30, 38, }, + { 17, 33, 11, 4, 59, 20, 37, 45, 11, 36, 29, 53, 61, 38, 46, }, + { 9, DWS, DWS, 6, 5, 0, 1, DWS, DWS, DWS, 4, DWS, 4, 5, 6, }, + { 4, 9, 4, 6, 9, 0, 3, 3, DWS, 6, 1, 0, 0, 0, 12, }, + { 12, 12, 13, 9, 13, 13, DWS, 12, 9, 12, 4, 9, 13, 13, 12, }, + { 10, 13, DWS, 9, 13, 4, 13, 12, 12, 13, 5, 3, 0, 10, DWS, }, + { 4, 4, 11, DWE, 32, 11, 11, 32, 4, DWE, 4, 32, 4, DWE, 32, }, + { 4, DWE, 11, 4, 4, 4, DWE, 4, 11, 11, 4, DWE, 4, DWE, 25, }, + { 4, 11, 25, 11, DWE, 25, 11, 4, 11, 25, 4, 11, DWE, 4, 4, }, + { 4, 11, 4, 4, 32, 4, 32, 11, 32, 32, 4, 11, 4, 32, 32, }, + { 234, 89, 99, 146, 115, 212, 195, 244, 83, 210, 133, 242, 133, 98, 210, }, + { 132, DWO, 137, 251, 135, 254, 235, 101, 188, 120, 187, 198, 234, 234, 168, }, + { 99, 83, 131, 194, 242, 116, 225, 114, 83, 193, 149, 181, 212, 116, 131, }, + { 135, 135, 231, 116, 195, 222, 118, 148, 167, 247, 219, 121, 233, 246, 161, }, + { 234, 66, 67, 98, 99, 129, 163, 165, 83, 97, 117, 195, 84, 114, 219, }, + { 147, 185, 234, 251, 234, 234, 220, 68, 251, 235, 187, 233, 234, 147, 81, }, + { 117, 193, 88, 83, 90, 200, 230, 170, 75, 192, 227, 171, 254, 210, 248, }, + { 131, 147, 233, 154, 213, DWO, 133, 113, 184, 117, 124, 193, 196, 166, 82, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 591 to 619 + { 56, CNU, CNU, CNU, CNU, CNU, CNU, CNU, 18, 26, 11, 19, 19, 4, 20, 26, 19, CNU, CNU, 28, 36, 29, 28, 36, 29, 29, 22, 22, 30, }, + { 50, CNU, CNU, CNU, CNU, CNU, CNU, CNU, 41, 41, 26, 34, 19, 11, 12, 26, 34, 27, CNU, 28, 28, 29, 42, 51, 43, 59, 44, 52, 45, }, + { 26, 0, CNU, 0, CNU, CNU, CNU, CNU, 41, 26, 26, 11, 4, 4, 20, 11, 19, 12, 20, 28, 13, 29, CNU, 36, 29, 29, 22, 22, 30, }, + { 50, 0, 0, CNU, CNU, 0, CNU, CNU, 18, 26, 11, 19, 19, 27, 20, 26, 19, CNU, CNU, 13, 36, 29, 43, 36, 29, 29, 22, 22, 30, }, + { 3, DWS, DWS, DWS, DWS, DWS, DWS, DWS, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 13, 13, 13, 3, 10, 9, 13, 12, 13, 13, }, + { 4, DWS, DWS, DWS, DWS, DWS, DWS, DWS, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 13, 9, 13, 13, 13, 13, }, + { 12, 0, DWS, 0, DWS, DWS, DWS, DWS, 12, 12, 12, 13, 12, 13, 13, 10, 13, 13, 13, 13, 13, 13, 9, 10, 10, 9, 13, 13, 13, }, + { 13, 0, 0, DWS, DWS, 0, DWS, DWS, 13, 13, 13, 12, 13, 13, 13, 13, 12, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, }, + { 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, DWE, 11, DWE, 4, }, + { 4, DWE, DWE, DWE, DWE, DWE, DWE, DWE, 25, 4, 4, 4, 4, 4, 11, 11, 11, 11, DWE, 11, DWE, 4, 4, DWE, DWE, 32, 32, 32, DWE, }, + { 32, 4, DWE, 4, DWE, DWE, DWE, DWE, DWE, 11, 11, 11, 11, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 11, 4, }, + { 4, 4, 4, DWE, DWE, 4, DWE, DWE, 25, 11, 4, 4, 11, 11, 4, 11, 11, DWE, 4, DWE, DWE, 4, 25, 32, 32, 32, 32, DWE, 4, }, + { 113, DWO, DWO, DWO, DWO, DWO, DWO, DWO, 65, 68, 74, 102, 200, 102, 218, 234, 201, 105, 235, 218, 218, 218, 117, DWO, 117, 200, 148, 215, 218, }, + { 219, DWO, DWO, DWO, DWO, DWO, DWO, DWO, 219, 170, 218, 234, 234, 234, 234, 87, 101, 218, 107, 218, 234, 105, 202, 167, 187, 101, 233, 218, 83, }, + { 171, DWO, DWO, DWO, DWO, DWO, DWO, DWO, 83, 69, 98, 218, 138, 153, 233, 103, 163, 118, 118, 148, 232, 234, 137, 99, 212, 135, 131, 138, 121, }, + { 100, DWO, DWO, DWO, DWO, DWO, DWO, DWO, 217, 217, 217, 234, 217, 218, 101, 153, 200, 217, 234, 234, 234, 218, 118, 202, 201, 234, 234, 234, 234, }, + { 203, 116, DWO, 116, DWO, DWO, DWO, DWO, 230, 132, 202, 216, 84, 100, 234, 84, 199, 102, 185, 217, 149, 234, 136, 134, 132, 249, 211, 135, 234, }, + { 231, 116, DWO, 116, DWO, DWO, DWO, DWO, 115, DWO, 102, 202, 235, 234, 234, 137, DWO, 218, 234, 218, 234, 122, 100, 117, 200, 103, 218, 233, 82, }, + { 186, 116, 116, DWO, DWO, 116, 116, DWO, 69, 67, 98, 74, 234, 234, 234, 168, 117, 103, 235, 122, 233, 234, 82, 103, 102, 179, 122, 133, 218, }, + { 154, 116, 116, DWO, DWO, 116, 116, DWO, 234, 165, 182, 234, 234, 234, 183, 210, 133, 186, 154, 234, 234, 152, 199, 216, 217, 234, 217, 202, 91, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 620 to 634 + { 33, 10, 11, 42, 27, 3, CNU, 44, 49, 42, 12, 28, 13, 13, 22, }, + { 9, 10, 2, 3, 4, 11, 59, 6, 41, 26, CNU, 19, 28, 59, 14, }, + { 11, 18, 11, 11, CNU, 20, 5, 21, 20, 13, 21, 29, 14, 22, 30, }, + { 25, 26, 34, 3, 4, 4, CNU, 13, 11, 12, 20, 13, 29, 52, 22, }, + { 0, 3, 13, 13, 10, 3, 13, DWS, DWS, DWS, 12, 9, 12, 13, 13, }, + { 13, 4, 13, 12, 0, 12, 7, 13, 12, 7, 13, 13, 12, 13, 13, }, + { 7, 13, 13, 7, 10, 13, 13, 12, 10, 10, 12, 10, 12, 10, 13, }, + { 13, 12, 10, 6, 13, 9, 13, 12, 5, DWS, DWS, DWS, 13, 13, 13, }, + { 11, 4, 32, DWE, 11, 11, 4, 25, DWE, 32, 32, 32, 32, 11, 25, }, + { 32, 32, 32, 32, DWE, 25, 4, 4, 32, 4, 25, 25, 4, 4, 25, }, + { 4, 11, 11, 4, 4, 25, 25, 11, 11, 11, 4, 4, 11, 11, 11, }, + { 4, 4, 32, 4, 32, 4, 4, 11, 11, 25, 32, 25, 4, 25, 32, }, + { 232, 246, 212, 112, 102, 235, 122, 220, 168, 252, 218, 166, 218, 234, 234, }, + { 132, 120, 182, 216, 122, DWO, DWO, 114, 131, 227, 179, 234, 217, 100, 164, }, + { 164, 99, 200, 219, 117, 219, 217, 200, 184, 102, 145, 234, 114, 233, 186, }, + { 182, 237, 67, 202, 219, 104, 201, 185, 87, 249, 217, 182, 186, 185, 176, }, + { 96, 136, 115, 248, 234, 152, 224, 217, 99, 134, 235, 250, 149, 146, 234, }, + { 145, 211, 118, 104, 166, 215, 234, 85, 250, 231, 131, 130, 133, 217, 97, }, + { 234, 65, 250, 232, 169, 87, 182, 235, 162, 242, 248, 195, 202, 234, 233, }, + { 186, 235, 132, 116, 201, 100, 86, 152, 212, 108, 236, 252, 216, 234, 145, }, + }), +}; +#else +const CtxSet ContextSetCfg::GtxFlagL[4] = { + ContextSetCfg::addCtxSet({ + { 17, 0, 0, 0, 0, 0, 0, 17, 25, 25, 26, 9, 25, 18, 26, 12, 18, 26, 12, 20, 37 }, + { 1, 0, 0, 0, 0, 35, 0, 9, 25, 25, 18, 9, 25, 33, 26, 20, 18, 26, 12, 20, 22 }, + { 1, 0, 0, 0, 0, 0, 1, 17, 17, 25, 18, 17, 25, 18, 26, 12, 33, 19, 20, 28, 14 }, + { 17, 0, 0, 0, 0, 0, 0, 17, 25, 25, 26, 9, 25, 18, 26, 12, 18, 26, 12, 20, 37 }, + { 4, 0, 0, 0, 0, 0, 12, 9, 13, 13, 6, 12, 10, 9, 9, 6, 9, 8, 5, 8, 9 }, + { 4, 0, 0, 0, 0, 8, 13, 12, 13, 13, 5, 13, 10, 9, 10, 9, 9, 4, 8, 8, 9 }, + { 4, 0, 0, 0, 0, 0, 12, 8, 12, 13, 6, 9, 10, 9, 10, 9, 6, 9, 10, 10, 9 }, + { 4, 0, 0, 0, 0, 0, 12, 9, 13, 13, 6, 12, 10, 9, 9, 6, 9, 8, 5, 8, 9 }, + { 18, 25, 25, 25, 4, 4, 11, 11, 18, 11, 11, 4, 4, 11, 4, 4, 18, 25, 11, 11, 4 }, + { 4, 25, 25, 25, 4, 18, 18, 4, 11, 25, 4, 4, 4, 4, 11, 4, 18, 4, 25, 18, 4 }, + { 4, 25, 25, 25, 4, 4, 25, 4, 4, 18, 4, 4, 4, 4, 4, 4, 4, 18, 18, 18, 4 }, + { 18, 25, 25, 25, 4, 4, 11, 11, 18, 11, 11, 4, 4, 11, 4, 4, 18, 25, 11, 11, 4 }, + { 99, 116, 116, 116, 116, 116, 66, 81, 65, 147, 100, 87, 121, 148, 132, 122, 118, 252, 155, 220, 118 }, + { 149, 116, 116, 116, 116, 116, 181, 215, 184, 103, 133, 132, 105, 118, 103, 104, 104, 100, 101, 86, 122 }, + { 99, 116, 116, 116, 116, 119, 66, 68, 66, 83, 100, 103, 138, 235, 242, 100, 235, 253, 252, 252, 123 }, + { 168, 116, 116, 116, 116, 119, 135, 151, 234, 234, 121, 103, 106, 132, 134, 100, 100, 101, 101, 115, 101 }, + { 99, 116, 116, 116, 116, 116, 65, 83, 99, 89, 123, 82, 90, 102, 194, 147, 107, 117, 103, 104, 118 }, + { 171, 116, 116, 116, 116, 116, 154, 156, 229, 117, 116, 149, 122, 136, 133, 102, 119, 116, 122, 121, 117 }, + { 99, 116, 116, 116, 116, 116, 66, 81, 65, 147, 100, 87, 121, 148, 132, 122, 118, 252, 155, 220, 118 }, + { 149, 116, 116, 116, 116, 116, 181, 215, 184, 103, 133, 132, 105, 118, 103, 104, 104, 100, 101, 86, 122 }, + }), + ContextSetCfg::addCtxSet({ + { 17, 9, 25, 25, 41, 4, 17, 33, 34, 36, 45 }, + { 1, 1, 17, 10, 18, 4, 17, 33, 19, 43, 14 }, + { 0, 1, 25, 33, 18, 19, 18, 19, 20, 28, 14 }, + { 17, 9, 25, 25, 41, 4, 17, 33, 34, 36, 45 }, + { 4, 9, 12, 8, 9, 4, 5, 5, 10, 6, 12 }, + { 5, 9, 12, 8, 12, 5, 5, 10, 5, 3, 7 }, + { 13, 12, 12, 8, 10, 5, 5, 5, 9, 8, 8 }, + { 4, 9, 12, 8, 9, 4, 5, 5, 10, 6, 12 }, + { 25, 18, 25, 18, 25, 11, 4, 4, 18, 11, 25 }, + { 4, 11, 25, 25, 25, 4, 4, 18, 11, 4, 4 }, + { 4, 25, 25, 18, 18, 4, 4, 4, 25, 18, 4 }, + { 25, 18, 25, 18, 25, 11, 4, 4, 18, 11, 25 }, + { 99, 82, 65, 150, 226, 116, 98, 99, 210, 100, 115 }, + { 122, 148, 232, 107, 155, 103, 134, 124, 250, 203, 234 }, + { 98, 83, 81, 82, 225, 132, 98, 85, 100, 116, 119 }, + { 252, 120, 120, 234, 164, 101, 185, 137, 203, 138, 129 }, + { 183, 66, 65, 102, 98, 122, 99, 101, 114, 101, 116 }, + { 122, 148, 154, 120, 150, 103, 119, 119, 155, 120, 200 }, + { 99, 82, 65, 150, 226, 116, 98, 99, 210, 100, 115 }, + { 122, 148, 232, 107, 155, 103, 134, 124, 250, 203, 234 }, + }), + ContextSetCfg::addCtxSet({ + { 9, 17, 2, 10, 19, 0, 25, 34, 27, 28, 29, 26, 20, 36, 29, 22, 35, 29, 37, 45, 38 }, + { 1, 1, 17, 0, 20, 0, 25, 34, 27, 28, 29, 19, 28, 36, 29, 22, 20, 36, 30, 45, 38 }, + { 25, 0, 25, 33, 2, 2, 25, 11, 27, 20, 21, 26, 20, 36, 21, 22, 28, 29, 45, 30, 23 }, + { 9, 17, 2, 10, 19, 0, 25, 34, 27, 28, 29, 26, 20, 36, 29, 22, 35, 29, 37, 45, 38 }, + { 9, 4, 7, 2, 0, 0, 13, 13, 13, 13, 10, 13, 10, 13, 10, 10, 6, 9, 9, 12, 13 }, + { 9, 4, 7, 13, 0, 0, 13, 13, 13, 12, 13, 13, 10, 13, 10, 10, 9, 8, 9, 8, 13 }, + { 9, 12, 10, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9, 10, 10, 10, 13 }, + { 9, 4, 7, 2, 0, 0, 13, 13, 13, 13, 10, 13, 10, 13, 10, 10, 6, 9, 9, 12, 13 }, + { 4, 11, 25, 25, 25, 4, 4, 11, 11, 11, 4, 18, 4, 11, 4, 4, 18, 11, 11, 11, 11 }, + { 4, 11, 25, 25, 4, 4, 4, 4, 11, 18, 18, 18, 4, 4, 4, 4, 25, 18, 4, 4, 11 }, + { 18, 4, 25, 11, 4, 25, 11, 11, 4, 4, 4, 18, 11, 11, 4, 4, 11, 11, 11, 4, 4 }, + { 4, 11, 25, 25, 25, 4, 4, 11, 11, 11, 4, 18, 4, 11, 4, 4, 18, 11, 11, 11, 11 }, + { 84, 99, 97, 114, 116, 116, 105, 106, 152, 90, 99, 234, 250, 197, 163, 133, 155, 245, 154, 166, 169 }, + { 148, 253, 208, 220, 116, 116, 200, 234, 197, 217, 234, 201, 149, 234, 250, 103, 107, 100, 85, 115, 70 }, + { 87, 99, 103, 64, 116, 116, 105, 102, 131, 90, 87, 234, 250, 182, 136, 122, 250, 235, 214, 202, 153 }, + { 180, 136, 216, 185, 116, 116, 234, 234, 234, 235, 234, 234, 234, 216, 186, 106, 99, 89, 115, 87, 72 }, + { 82, 97, 80, 215, 122, 116, 90, 117, 148, 227, 131, 234, 213, 227, 196, 106, 131, 117, 115, 116, 117 }, + { 137, 198, 217, 201, 168, 116, 234, 233, 197, 202, 234, 234, 234, 234, 202, 154, 117, 120, 234, 234, 185 }, + { 84, 99, 97, 114, 116, 116, 105, 106, 152, 90, 99, 234, 250, 197, 163, 133, 155, 245, 154, 166, 169 }, + { 148, 253, 208, 220, 116, 116, 200, 234, 197, 217, 234, 201, 149, 234, 250, 103, 107, 100, 85, 115, 70 }, + }), + ContextSetCfg::addCtxSet({ + { 9, 18, 27, 36, 13, 37, 43, 45, 53, 46, 46 }, + { 9, 25, 27, 20, 13, 14, 20, 22, 30, 30, 23 }, + { 40, 33, 27, 20, 13, 29, 36, 37, 45, 30, 46 }, + { 9, 18, 27, 36, 13, 37, 43, 45, 53, 46, 46 }, + { 9, 12, 12, 8, 12, 8, 9, 8, 5, 10, 9 }, + { 12, 13, 12, 8, 5, 13, 5, 9, 4, 0, 13 }, + { 13, 13, 12, 12, 9, 10, 8, 12, 8, 12, 13 }, + { 9, 12, 12, 8, 12, 8, 9, 8, 5, 10, 9 }, + { 4, 18, 25, 18, 25, 25, 25, 11, 11, 18, 18 }, + { 4, 18, 25, 25, 25, 18, 11, 25, 18, 4, 18 }, + { 25, 11, 11, 25, 11, 11, 4, 25, 4, 25, 18 }, + { 4, 18, 25, 18, 25, 25, 25, 11, 11, 18, 18 }, + { 103, 83, 131, 147, 210, 211, 117, 243, 119, 178, 212 }, + { 132, 134, 148, 252, 186, 108, 115, 252, 115, 250, 81 }, + { 87, 228, 225, 114, 146, 101, 135, 225, 148, 136, 231 }, + { 148, 151, 235, 251, 220, 150, 116, 181, 107, 132, 210 }, + { 64, 211, 179, 131, 100, 137, 102, 130, 148, 162, 120 }, + { 134, 234, 235, 138, 251, 100, 108, 235, 103, 182, 104 }, + { 103, 83, 131, 147, 210, 211, 117, 243, 119, 178, 212 }, + { 132, 134, 148, 252, 186, 108, 115, 252, 115, 250, 81 }, + }), +}; +#endif + +#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING +const CtxSet ContextSetCfg::SigFlag[] = +{ + ContextSetCfg::addCtxSet + ({ +// ctx 635 to 652 + { 17, 41, 27, 44, 37, 30, 9, 42, 43, 37, 45, 38, 33, 59, 44, 45, 30, 38, }, + { 17, 41, 57, 28, 37, 30, 40, 49, 50, 29, 45, 30, 48, 59, 58, 22, 30, 38, }, + { 25, 19, 20, 14, 22, 30, 18, 28, 29, 30, 30, 38, 26, 45, 30, 38, 38, 38, }, + { 17, 41, 42, 36, 37, 30, 9, 42, 43, 37, 45, 30, 33, 59, 51, 45, 30, 38, }, + { 13, 9, 9, 9, 13, 10, 9, 9, 10, 10, 10, 10, DWS, 9, 9, 9, 10, 9, }, + { 13, 9, 9, 9, 10, 12, 9, 10, 10, 10, 10, 13, DWS, 9, 9, 9, 10, 10, }, + { 13, 9, 9, 10, 13, 10, 9, 9, 9, 13, 13, 13, DWS, 9, 10, 10, 10, 9, }, + { 13, 9, 9, 10, 10, 10, 9, 10, 10, 10, 10, 9, DWS, 9, 9, 9, 10, 9, }, + { 4, 4, DWE, 4, 4, 4, 11, 4, DWE, 4, 4, 4, 11, DWE, DWE, 4, 11, 4, }, + { 4, 4, DWE, 11, 4, 11, DWE, DWE, DWE, 4, 4, 11, DWE, DWE, DWE, 4, 4, 11, }, + { 11, 11, DWE, 4, 4, 4, DWE, 4, 4, 11, 4, 4, 11, DWE, 11, 4, 4, 4, }, + { 4, 4, DWE, 11, 4, 4, 11, DWE, DWE, 4, 4, 4, 11, DWE, DWE, 4, 4, 4, }, + { 82, 134, 121, 117, 232, 168, 201, 148, 121, 116, 151, 154, 244, 179, 147, 107, 246, 200, }, + { 196, 132, 116, DWO, 83, 85, 116, 243, 106, 122, 90, 83, 132, 106, 116, 118, 85, 82, }, + { 67, 103, 116, 147, 153, 136, 91, 106, 114, 104, 133, 184, 106, 226, 116, 105, 135, 201, }, + { 182, 244, 117, 117, 106, 84, 123, 117, 115, 122, 104, 73, DWO, 120, 117, 118, 98, 82, }, + { 98, 117, 118, 194, DWO, 154, 87, 243, 211, 115, 135, 185, 211, 116, 146, 118, 135, 251, }, + { 148, 133, 117, 169, 118, 89, 123, 121, 121, 218, 90, 69, DWO, 117, 250, 122, 90, 82, }, + { 67, 107, 116, 146, 167, 182, 101, 106, 102, 100, 150, 251, 103, 210, 131, 116, 168, 250, }, + { 136, 228, 117, 122, 100, 83, 117, 120, 116, 250, 103, 83, DWO, 120, 117, 151, 85, 82, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 653 to 664 + { 25, CNU, 51, 37, 22, 15, 33, 45, 45, 30, 38, 31, }, + { 18, 19, 28, 14, 14, 7, 33, 45, 29, 14, 7, 62, }, + { 25, CNU, 28, 29, 37, 30, 26, 53, 53, 46, 46, 46, }, + { 25, CNU, 59, 52, 37, 22, 41, 45, 45, 30, 46, 31, }, + { 12, 13, 9, 12, 12, DWS, 4, 1, DWS, 5, DWS, DWS, }, + { 13, 13, 13, 13, 12, DWS, 5, 4, DWS, 10, 12, 13, }, + { 12, 12, 9, 9, 12, 9, 4, 5, DWS, DWS, 12, DWS, }, + { 9, 4, 5, 6, 3, 0, 4, 1, DWS, 5, DWS, 12, }, + { 25, 25, DWE, 32, 32, 25, 11, 4, DWE, 4, 32, 32, }, + { 25, DWE, DWE, 32, 32, 32, 4, 4, 11, 25, 25, DWE, }, + { DWE, DWE, 11, 4, 11, 4, 4, 4, 11, 11, DWE, 4, }, + { 25, 4, 11, 4, 4, 4, 4, 4, DWE, 4, 4, 32, }, + { 68, 103, 123, 117, 139, 252, 132, 148, 100, 163, 105, 116, }, + { 227, 225, 131, 193, 81, 83, 104, 124, 123, 220, 114, 82, }, + { 67, 104, 162, 118, 90, 198, 100, 164, 116, 120, 72, 212, }, + { 132, 226, 179, 178, 97, 82, DWO, 107, DWO, 116, 165, 164, }, + { 98, 100, 131, 131, 133, 132, 131, 132, 179, 243, 163, 203, }, + { 163, 148, 133, 235, 101, 235, 124, 117, 252, 236, 171, 82, }, + { 82, 107, 131, 122, 148, 120, 100, 118, 131, 107, 244, 82, }, + { 132, 150, 181, 213, 136, 116, 118, 125, 121, 105, 250, 198, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 665 to 682 + { 26, 45, 53, 46, 46, 46, 26, 54, 61, 39, 39, 39, 25, 39, 39, 39, 39, 39, }, + { 26, 38, 38, 46, 46, 46, 48, 54, 54, 39, 39, 39, 40, 39, 39, 39, 39, 39, }, + { 26, 38, 46, 54, 54, 54, 18, 39, 39, 39, 39, 39, 28, 39, 39, 39, 39, 39, }, + { 26, 45, 53, 46, 46, 46, 26, 54, 61, 39, 39, 39, 41, 39, 39, 39, 39, 39, }, + { DWS, 13, 12, DWS, DWS, DWS, DWS, DWS, DWS, 0, 0, 4, 0, 0, 0, 0, 0, 0, }, + { 9, 13, 13, DWS, DWS, DWS, DWS, DWS, DWS, 0, 4, 4, 0, 0, 0, 0, 0, 0, }, + { 12, 13, 12, DWS, DWS, DWS, DWS, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, }, + { 9, 13, 12, DWS, DWS, DWS, DWS, DWS, DWS, 1, 4, 0, 0, 0, 0, 0, 0, 0, }, + { 4, 4, DWE, DWE, DWE, DWE, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 4, 11, DWE, 11, 4, DWE, DWE, 25, 32, 32, 25, 25, 32, 32, 32, 32, 32, 32, }, + { DWE, 4, DWE, 4, 4, 4, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 4, 4, DWE, DWE, DWE, DWE, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 117, 234, 235, 252, 252, 218, 131, 232, 250, 220, 253, 253, 116, 237, 116, 116, 251, 251, }, + { 120, 234, DWO, 84, 82, 82, 102, 114, 82, 116, 116, 100, 132, 116, 116, 116, 116, 116, }, + { DWO, 234, 232, 252, 236, 251, 211, 246, 251, 205, 235, 231, 116, 116, 237, 116, 116, 235, }, + { 123, 234, 229, 90, 82, 82, 103, 228, 226, 116, 99, 99, 148, 116, 116, 116, 116, 116, }, + { 148, 234, 234, 252, 252, 252, 100, 234, 254, 205, 217, 238, 115, 251, 238, 252, 253, 254, }, + { 118, 218, 123, 84, 83, 82, 104, 115, 116, 116, 116, 116, 131, 116, 116, 116, 116, 116, }, + { 211, 234, 232, 236, 252, 235, 101, 252, 204, 236, 243, 164, 116, 237, 116, 116, 116, 235, }, + { 120, 234, 152, 84, 82, 82, 108, 179, 114, 115, 99, 116, 132, 116, 116, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 683 to 694 + { 25, 30, 38, 31, 31, 31, 3, 39, 39, 39, 39, 39, }, + { 26, 38, 53, 62, 54, 39, 20, 39, 39, 39, 39, 39, }, + { 18, 46, 38, 39, 39, 39, 59, 39, 39, 39, 39, 39, }, + { 25, 30, 38, 31, 31, 62, 4, 39, 39, 39, 39, 39, }, + { DWS, 12, 12, DWS, DWS, 4, 0, 0, 0, 0, 0, 1, }, + { DWS, 12, 12, DWS, 1, 12, 0, 0, 0, 0, 0, DWS, }, + { DWS, 12, 12, 4, 4, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, 13, 13, 9, DWS, 2, 0, 0, 0, 0, 4, 0, }, + { 11, 11, 11, 11, 4, DWE, 32, 32, 32, 32, 4, 32, }, + { DWE, 4, 32, 25, 11, 11, 32, 32, 32, 32, 32, 25, }, + { DWE, 11, DWE, 4, 25, 4, 32, 32, 32, 32, 32, 32, }, + { 25, DWE, DWE, DWE, 11, DWE, 32, 32, 32, 32, 32, 32, }, + { 243, 235, 235, 252, 123, 253, 116, 198, 151, 116, 238, 234, }, + { 244, DWO, 114, 82, 146, 99, 116, 116, 116, 116, 212, 115, }, + { 100, 235, 217, 220, 169, 235, 116, 252, 238, 237, 116, 82, }, + { 117, 233, 68, 83, 115, 65, 117, 116, 149, 116, 116, 114, }, + { 226, 235, 235, 189, 139, 254, 116, 182, 253, 153, 252, 136, }, + { 117, 219, 177, 99, 99, 212, 228, 116, 116, 116, 116, 116, }, + { 101, 227, 163, 251, 252, 252, 116, 254, 253, 237, 237, 116, }, + { 131, 234, 132, 120, 82, 210, 136, 116, 116, 116, 99, 116, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 695 to 712 + { 26, 62, 39, 39, 39, 39, 34, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 19, 39, 54, 39, 39, 39, 19, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 18, 39, 39, 39, 39, 39, 11, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 26, 62, 39, 39, 39, 39, 34, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { DWS, DWS, DWS, 12, 12, 13, DWS, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, DWS, DWS, 12, 13, 12, DWS, 4, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, }, + { DWS, DWS, 12, 12, 12, 12, DWS, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, }, + { DWS, DWS, DWS, 12, 13, 12, DWS, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWE, 32, 32, 32, 25, 25, 25, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { DWE, 32, 32, 32, 32, 32, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { DWE, 25, 25, 25, 25, 25, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { DWE, 32, 32, 32, 25, 25, DWE, 25, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 116, 252, 251, 235, 218, 184, 162, 251, 253, 254, 216, 254, 116, 116, 116, 237, 117, 238, }, + { 118, 82, 82, 65, 65, 67, 116, 99, 99, 116, 116, 116, 253, 116, 116, 116, 116, 116, }, + { 124, 252, 252, 203, 229, 235, 163, 253, 234, 234, 254, 252, 116, 116, 116, 164, 116, 235, }, + { 124, 82, 82, 65, 80, 65, 108, 99, 99, 116, 116, 99, 253, 116, 116, 116, 116, 116, }, + { 140, 252, 235, 235, 235, 234, 131, 234, 251, 236, 254, 237, 116, 116, 238, 252, 254, 254, }, + { 117, 98, 65, 68, 73, 72, 117, 116, 116, 116, 116, 99, 253, 116, 116, 116, 116, 116, }, + { 118, 252, 251, 235, 163, 170, 131, 253, 237, 149, 252, 254, 116, 116, 116, 116, 116, 116, }, + { 121, 82, 82, 65, 65, 65, 117, 99, 99, 116, 116, 116, 252, 116, 116, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 713 to 724 + { 25, 38, 54, 39, 39, 39, 10, 39, 39, 39, 39, 39, }, + { 18, 38, 54, 62, 62, 39, 10, 39, 39, 39, 39, 39, }, + { 18, 39, 39, 39, 39, 39, 2, 39, 39, 39, 39, 39, }, + { 18, 38, 54, 39, 31, 62, 10, 39, 39, 39, 39, 39, }, + { DWS, 12, 12, 12, DWS, 13, 0, 0, 0, 0, 0, 0, }, + { DWS, 12, 12, DWS, 5, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, DWS, DWS, 4, 0, 0, 0, 0, 0, 0, 0, 0, }, + { 4, 12, 13, 12, 0, 3, 0, 0, 0, 0, 0, 4, }, + { DWE, 25, 25, DWE, 4, 4, 25, 32, 32, 32, 32, 32, }, + { 25, 25, 25, 32, DWE, 32, 25, 32, 32, 32, 32, 32, }, + { 25, 32, 32, DWE, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 25, DWE, 4, 25, 32, 4, 32, 32, 32, 32, 32, 32, }, + { 100, 235, 235, 235, 203, 90, 118, 252, 253, 196, 116, 235, }, + { 120, 234, 114, 102, 86, 86, 116, 116, 132, 116, 116, 149, }, + { 98, 234, 215, 250, 252, 116, 116, 238, 251, 235, 116, 116, }, + { 120, 232, 98, 115, 98, 116, 120, 116, 116, 116, 116, 116, }, + { 162, 202, 236, 253, 254, 254, 116, 251, 253, 148, 253, 238, }, + { 116, 147, 82, 99, 116, 148, 172, 116, 116, 116, 116, 116, }, + { 100, 218, 234, 219, 253, 226, 116, 252, 220, 116, 236, 251, }, + { 122, 235, 147, 231, 116, 117, 116, 116, 116, 116, 116, 115, }, + }), +}; +#else +const CtxSet ContextSetCfg::SigFlag[6] = { + ContextSetCfg::addCtxSet({ + { 17, 41, 42, 29, 9, 42, 28, 37, 33, 59, 51, 45 }, + { 17, 41, 42, 29, 25, 42, 43, 37, 33, 59, 51, 30 }, + { 25, 19, 20, 14, 33, 28, 29, 30, 26, 45, 30, 38 }, + { 17, 41, 42, 29, 9, 42, 28, 37, 33, 59, 51, 45 }, + { 13, 9, 9, 10, 9, 10, 9, 10, 8, 9, 9, 9 }, + { 13, 9, 9, 10, 9, 10, 10, 10, 8, 9, 9, 9 }, + { 13, 9, 9, 10, 10, 9, 9, 13, 8, 9, 10, 10 }, + { 13, 9, 9, 10, 9, 10, 9, 10, 8, 9, 9, 9 }, + { 11, 11, 18, 18, 11, 18, 18, 11, 11, 18, 18, 11 }, + { 11, 11, 18, 18, 18, 18, 18, 11, 11, 18, 18, 4 }, + { 18, 11, 18, 11, 18, 11, 11, 11, 11, 18, 18, 11 }, + { 11, 11, 18, 18, 11, 18, 18, 11, 11, 18, 18, 11 }, + { 73, 118, 117, 117, 105, 106, 116, 122, 108, 147, 117, 117 }, + { 134, 228, 117, 119, 117, 121, 117, 116, 212, 119, 118, 103 }, + { 73, 107, 131, 116, 107, 115, 115, 120, 148, 147, 117, 132 }, + { 134, 244, 117, 117, 119, 122, 116, 117, 180, 118, 117, 116 }, + { 89, 117, 117, 147, 99, 116, 179, 118, 164, 131, 115, 133 }, + { 195, 133, 117, 131, 119, 134, 122, 122, 196, 139, 250, 99 }, + { 73, 118, 117, 117, 105, 106, 116, 122, 108, 147, 117, 117 }, + { 134, 228, 117, 119, 117, 121, 117, 116, 212, 119, 118, 103 }, + }), + ContextSetCfg::addCtxSet({ + { 25, 27, 43, 37, 33, 60, 60, 38 }, + { 18, 27, 28, 22, 34, 45, 45, 38 }, + { 25, 35, 28, 37, 26, 53, 53, 46 }, + { 25, 27, 43, 37, 33, 60, 60, 38 }, + { 8, 13, 9, 12, 5, 4, 8, 8 }, + { 12, 13, 13, 12, 6, 5, 8, 8 }, + { 12, 12, 9, 9, 4, 5, 8, 8 }, + { 8, 13, 9, 12, 5, 4, 8, 8 }, + { 4, 25, 11, 18, 18, 11, 18, 18 }, + { 11, 18, 18, 4, 11, 11, 18, 18 }, + { 18, 18, 11, 4, 4, 4, 4, 4 }, + { 4, 25, 11, 18, 18, 11, 18, 18 }, + { 89, 101, 116, 122, 131, 148, 211, 117 }, + { 149, 115, 118, 100, 118, 117, 119, 137 }, + { 82, 105, 118, 151, 115, 243, 117, 117 }, + { 118, 120, 117, 103, 122, 108, 121, 236 }, + { 130, 100, 227, 179, 109, 164, 116, 133 }, + { 195, 148, 123, 135, 120, 107, 252, 236 }, + { 89, 101, 116, 122, 131, 148, 211, 117 }, + { 149, 115, 118, 100, 118, 117, 119, 137 }, + }), + ContextSetCfg::addCtxSet({ + { 26, 45, 53, 46, 26, 54, 61, 39, 34, 39, 39, 39 }, + { 26, 38, 38, 46, 34, 54, 54, 39, 5, 39, 39, 39 }, + { 26, 38, 46, 54, 26, 39, 39, 39, 20, 39, 39, 39 }, + { 26, 45, 53, 46, 26, 54, 61, 39, 34, 39, 39, 39 }, + { 9, 13, 12, 8, 8, 8, 8, 4, 0, 0, 0, 0 }, + { 9, 13, 12, 8, 8, 8, 8, 4, 0, 0, 0, 0 }, + { 9, 13, 12, 8, 8, 4, 4, 0, 4, 0, 0, 0 }, + { 9, 13, 12, 8, 8, 8, 8, 4, 0, 0, 0, 0 }, + { 11, 4, 18, 18, 18, 25, 25, 18, 18, 25, 25, 25 }, + { 4, 11, 25, 11, 18, 25, 25, 25, 25, 25, 25, 25 }, + { 11, 4, 18, 4, 18, 18, 25, 18, 25, 25, 25, 25 }, + { 11, 4, 18, 18, 18, 25, 25, 18, 18, 25, 25, 25 }, + { 117, 234, 201, 218, 116, 247, 184, 170, 116, 238, 238, 253 }, + { 123, 234, 123, 84, 117, 163, 178, 99, 148, 116, 116, 116 }, + { 132, 234, 234, 236, 116, 246, 170, 198, 116, 237, 237, 237 }, + { 133, 234, 137, 85, 117, 243, 131, 99, 244, 116, 116, 116 }, + { 118, 234, 235, 252, 116, 220, 188, 173, 147, 238, 237, 124 }, + { 123, 234, 228, 85, 117, 196, 99, 116, 243, 116, 116, 116 }, + { 117, 234, 201, 218, 116, 247, 184, 170, 116, 238, 238, 253 }, + { 123, 234, 123, 84, 117, 163, 178, 99, 148, 116, 116, 116 }, + }), + ContextSetCfg::addCtxSet({ + { 33, 45, 38, 31, 11, 39, 39, 39 }, + { 26, 38, 53, 54, 29, 39, 39, 39 }, + { 18, 46, 38, 39, 59, 39, 39, 39 }, + { 33, 45, 38, 31, 11, 39, 39, 39 }, + { 8, 12, 12, 12, 0, 0, 0, 0 }, + { 8, 12, 12, 8, 0, 0, 0, 0 }, + { 8, 12, 12, 8, 0, 0, 0, 0 }, + { 8, 12, 12, 12, 0, 0, 0, 0 }, + { 18, 18, 18, 25, 25, 25, 25, 25 }, + { 11, 4, 18, 4, 25, 25, 25, 25 }, + { 18, 11, 18, 25, 25, 25, 25, 25 }, + { 18, 18, 18, 25, 25, 25, 25, 25 }, + { 100, 235, 235, 170, 132, 248, 254, 138 }, + { 117, 187, 179, 85, 135, 116, 132, 116 }, + { 227, 235, 235, 183, 132, 236, 238, 142 }, + { 117, 235, 98, 90, 138, 116, 116, 116 }, + { 132, 235, 235, 216, 116, 254, 253, 157 }, + { 107, 235, 98, 101, 228, 116, 116, 116 }, + { 100, 235, 235, 170, 132, 248, 254, 138 }, + { 117, 187, 179, 85, 135, 116, 132, 116 }, + }), + ContextSetCfg::addCtxSet({ + { 26, 54, 39, 39, 26, 39, 39, 39, 0, 39, 39, 39 }, + { 19, 39, 54, 39, 19, 39, 39, 39, 40, 39, 39, 39 }, + { 18, 39, 39, 39, 11, 39, 39, 39, 0, 39, 39, 39 }, + { 26, 54, 39, 39, 26, 39, 39, 39, 0, 39, 39, 39 }, + { 8, 8, 8, 12, 8, 4, 4, 4, 0, 0, 0, 0 }, + { 8, 8, 8, 12, 8, 4, 4, 4, 0, 0, 0, 0 }, + { 8, 8, 12, 12, 8, 0, 0, 4, 0, 0, 0, 0 }, + { 8, 8, 8, 12, 8, 4, 4, 4, 0, 0, 0, 0 }, + { 18, 25, 25, 25, 18, 25, 25, 25, 25, 25, 25, 25 }, + { 18, 25, 25, 25, 18, 18, 25, 25, 25, 25, 25, 25 }, + { 18, 25, 25, 25, 18, 25, 25, 25, 25, 25, 25, 25 }, + { 18, 25, 25, 25, 18, 25, 25, 25, 25, 25, 25, 25 }, + { 117, 252, 252, 235, 116, 253, 153, 246, 116, 116, 116, 124 }, + { 119, 98, 86, 82, 117, 99, 99, 99, 141, 116, 116, 116 }, + { 118, 234, 252, 235, 116, 253, 229, 188, 116, 116, 116, 235 }, + { 121, 98, 92, 82, 117, 99, 99, 99, 197, 116, 116, 116 }, + { 124, 252, 235, 235, 132, 249, 189, 172, 116, 235, 235, 253 }, + { 118, 130, 98, 75, 116, 116, 116, 99, 139, 116, 116, 116 }, + { 117, 252, 252, 235, 116, 253, 153, 246, 116, 116, 116, 124 }, + { 119, 98, 86, 82, 117, 99, 99, 99, 141, 116, 116, 116 }, + }), + ContextSetCfg::addCtxSet({ + { 18, 38, 54, 39, 18, 39, 39, 39 }, + { 26, 38, 62, 39, 18, 39, 39, 39 }, + { 26, 39, 39, 39, 18, 39, 39, 39 }, + { 18, 38, 54, 39, 18, 39, 39, 39 }, + { 8, 12, 8, 12, 0, 0, 0, 0 }, + { 8, 8, 12, 13, 0, 0, 0, 0 }, + { 8, 8, 8, 4, 0, 0, 0, 0 }, + { 8, 12, 8, 12, 0, 0, 0, 0 }, + { 25, 25, 25, 25, 25, 25, 25, 25 }, + { 11, 4, 25, 25, 25, 25, 25, 25 }, + { 25, 25, 25, 11, 25, 25, 25, 25 }, + { 25, 25, 25, 25, 25, 25, 25, 25 }, + { 100, 235, 167, 151, 116, 253, 238, 253 }, + { 118, 235, 152, 203, 118, 116, 132, 116 }, + { 242, 252, 185, 180, 116, 212, 213, 252 }, + { 118, 188, 138, 122, 135, 132, 116, 116 }, + { 131, 252, 252, 234, 116, 238, 237, 157 }, + { 116, 246, 99, 100, 158, 116, 132, 116 }, + { 100, 235, 167, 151, 116, 253, 238, 253 }, + { 118, 235, 152, 203, 118, 116, 132, 116 }, + }), +}; +#endif + +const CtxSet ContextSetCfg::ParFlag[2] = { + ContextSetCfg::addCtxSet({ +// ctx 725 to 745 + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 33, 40, 33, 26, 34, 42, 25, 33, 34, 34, 27, 25, 34, 42, 42, CNU, 33, 27, CNU, 42, CNU, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 13, 13, 13, 13, 9, 13, 13, 12, 13, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 11, DWE, DWE, DWE, 4, 4, 11, 11, 11, 4, 4, 4, DWE, 11, 4, 4, 4, 25, 11, 4, 4, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 90, 88, 91, 89, 105, 106, 88, 104, 89, 185, 106, 235, 106, DWO, 104, 122, 101, 122, 117, 105, 138, }, + { 180, 132, DWO, 116, 118, 122, 148, 122, 234, 120, 185, 100, 148, 122, 232, 136, 227, 227, 168, 198, 120, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 746 to 756 + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 33, 33, 26, 34, 42, 27, 33, 34, CNU, 27, CNU, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 5, 12, 12, 12, 12, 13, 10, DWS, 10, DWS, 13, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 25, DWE, 11, 4, 4, 11, 25, DWE, 11, 4, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 124, 235, 102, 179, 100, 200, 72, 129, 115, 211, 234, }, + { 196, 117, DWO, 106, 246, 104, 138, 232, 153, 252, 87, }, + }), +}; + +#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING +const CtxSet ContextSetCfg::GtxFlag[] = +{ + ContextSetCfg::addCtxSet + ({ +// ctx 757 to 785 + { 34, 41, 41, 42, 42, 19, CNU, 36, 33, 18, 34, 42, 43, 36, 52, 18, 34, 27, 43, 36, 44, 37, 26, 19, 20, 28, 29, 37, 30, }, + { 33, 41, 10, 57, 3, 27, 11, 28, 25, 10, 26, 42, CNU, 20, 13, 25, 26, 19, 12, 20, 20, 29, 18, 19, 20, 5, 29, 44, 30, }, + { 27, 33, 26, 34, 19, 27, CNU, 36, 10, 26, 19, 27, 20, 28, 29, 11, 27, 20, 28, 21, 21, 22, 27, 28, 21, 44, 22, 22, 38, }, + { 34, 33, 49, 34, 19, CNU, 43, 36, 10, 18, 34, 27, 43, 28, 29, 18, 19, 12, 28, 36, 44, 37, 11, 27, 20, 28, 29, 37, 38, }, + { 0, 5, 6, 10, 7, 6, 7, 10, 10, 13, 12, 12, 6, 12, 6, 12, DWS, DWS, DWS, 5, DWS, 9, 6, 6, DWS, DWS, DWS, 12, 12, }, + { 1, 6, 4, 7, 7, 3, 7, 5, 13, 13, 13, 10, 7, 7, 7, 9, DWS, DWS, 12, 12, 10, DWS, 6, 7, DWS, DWS, 10, 9, 12, }, + { 4, 9, 9, 9, 9, 9, 10, 9, 13, 13, 9, 9, 10, 10, 6, 13, 9, 9, 10, 9, 10, 9, 7, 9, 9, 9, 10, 10, 9, }, + { 0, 4, 4, 9, 4, 3, 3, 4, 10, 9, 13, 13, 7, 12, 6, 10, DWS, 6, 12, 5, 9, 6, 6, 6, DWS, 9, 9, 12, 10, }, + { 4, 4, 11, 25, 11, 4, 4, 32, 11, DWE, 4, DWE, 4, 4, 4, DWE, 4, 11, 11, 4, 4, 4, 4, 4, 4, 11, 4, 25, 11, }, + { DWE, 11, 4, 25, 25, 4, 4, 11, DWE, 11, 11, 4, 4, 4, 11, 11, 4, DWE, 32, DWE, DWE, 11, 4, 4, 4, 4, 11, 32, 32, }, + { 11, 4, 4, 4, 4, 4, 4, DWE, 25, DWE, 4, 4, 4, 4, 4, DWE, 4, 4, DWE, 4, 4, 4, 4, DWE, 4, 11, 11, 4, 4, }, + { 11, 11, 4, 25, 4, 4, 4, 11, DWE, 4, DWE, 11, 4, 4, 11, 11, 11, 11, 32, 4, 11, DWE, 4, 4, 11, DWE, 4, 32, DWE, }, + { 117, 198, 250, 98, 170, DWO, 146, 120, 233, 234, 233, 235, 122, 90, 122, 235, 123, 181, 133, 123, 118, 148, 135, 251, 166, 252, 121, 130, 120, }, + { 133, 132, 146, 193, 130, 116, 129, 99, 114, 90, 99, 85, 117, 154, 104, 114, 116, 131, 131, 108, 105, 130, 131, 101, 90, 86, 116, 180, 161, }, + { 125, 180, 157, 135, 198, 115, 120, 187, 231, 152, 151, 122, DWO, 116, 134, 171, 103, 118, 104, 105, 134, 108, 122, 136, 104, 213, 146, 162, DWO, }, + { 131, 131, 244, 118, 98, 195, 116, 146, 98, 114, 115, 130, 134, 122, 129, 146, 100, 131, 209, 98, 97, 99, 116, 106, 106, 86, 100, 118, 82, }, + { 147, 132, 84, 107, 104, DWO, 118, 131, 234, 232, 186, 235, 149, 212, 123, 99, 197, 199, 250, 122, 230, DWO, 117, 251, 133, 251, 133, 195, 153, }, + { 149, 115, 117, 103, 105, 101, 100, 115, 113, 99, 101, 100, 99, 101, 107, 106, 131, 100, 99, 102, 85, 89, 117, 88, 100, 83, 104, 130, 83, }, + { 117, 200, 205, 116, 138, 211, 122, 125, 117, 200, 102, 195, 183, 86, 123, 116, 101, 116, 101, 117, 101, 134, 104, 105, 244, 116, 147, 209, DWO, }, + { 132, 102, 211, 129, 116, 136, 120, 243, 129, 101, 114, 100, 118, 152, 178, 114, 107, 121, 209, 108, 115, 99, 117, 120, 106, 99, 100, 214, 101, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 786 to 800 + { 27, 26, 11, 11, 12, 4, 44, 22, 26, 19, CNU, 6, 45, 30, 54, }, + { 11, 2, 3, 3, 13, 6, 6, 52, 25, 11, 12, 4, 22, 38, 39, }, + { 12, 18, 34, 27, 28, 13, 5, 37, 27, 12, 28, 21, 37, 45, 46, }, + { 11, 3, 3, 3, 43, 12, 20, 28, 18, 19, 4, 29, 60, 61, 46, }, + { 3, 4, 7, 5, 0, 0, 0, 1, 3, 5, 2, 6, 0, 0, 0, }, + { 6, 12, 0, 0, 0, 0, 7, 7, 4, DWS, 4, 4, 0, 2, 0, }, + { 4, 12, DWS, DWS, DWS, DWS, DWS, 9, DWS, 9, 10, 10, 13, 12, 12, }, + { 2, 5, 3, 1, 0, 0, 3, 0, DWS, 3, 1, 4, 0, 0, 3, }, + { 32, 4, DWE, DWE, 11, 4, 11, 11, DWE, 32, 11, 32, 4, 4, DWE, }, + { DWE, 25, 4, DWE, 25, 11, 25, 25, 11, 32, 25, 32, 32, 11, 32, }, + { DWE, 32, DWE, 11, 11, DWE, 11, 4, 11, 11, 11, 11, DWE, 11, 4, }, + { 4, 4, 11, DWE, 4, DWE, 11, DWE, 32, 4, DWE, 4, 4, 4, 4, }, + { 121, 140, 208, 135, 117, 244, 165, 213, 139, 151, 114, 115, 196, 117, DWO, }, + { 113, 102, 144, 114, 148, 116, 116, 121, 129, 114, 210, 98, 116, 132, 116, }, + { 114, 203, 212, 212, 116, 116, 250, 218, 201, 248, 116, 249, 251, 252, 254, }, + { 129, 74, 149, 116, 116, 132, 100, 120, 100, 98, 108, 115, 116, 211, 164, }, + { 101, 235, 252, 184, 116, 131, 132, 132, 82, 83, 145, 85, 101, 84, 91, }, + { 120, 85, 102, 90, 132, 202, 140, 84, 252, 251, 212, 250, 226, 231, 198, }, + { 251, 121, 243, 122, 132, 116, 234, 253, 186, 117, 115, 252, 181, 250, 116, }, + { 242, 211, 117, 132, 228, 132, 201, 116, 83, 147, 147, 99, 116, 116, 115, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 801 to 829 + { 17, 17, 26, 19, CNU, 28, 36, 29, 25, 19, 20, 36, 29, 29, 45, 33, CNU, 36, 29, 37, 37, 30, 42, 36, 37, 45, 38, 38, 38, }, + { 9, 17, 18, 34, 19, 4, 4, 36, 25, 34, CNU, 20, 21, 21, 37, 33, 27, 20, 21, 21, 37, 22, 41, 28, 29, 29, 45, 22, 38, }, + { 25, 25, 19, 27, 20, 36, 21, 29, 18, 12, 28, 21, 29, 37, 22, 34, 28, 29, 29, 22, 22, 30, 28, 29, 45, 30, 23, 38, 23, }, + { 17, 17, 26, 19, CNU, 20, 36, 29, 25, 19, 20, 28, 21, 21, 45, 33, CNU, 36, 29, 37, 37, 30, 34, 21, 37, 45, 30, 38, 38, }, + { 9, DWS, 9, 9, 13, 10, 13, 10, 9, 9, 13, 13, 10, 13, 13, 9, 9, 10, 10, 12, 12, 13, 6, 9, 10, 13, 12, 13, 13, }, + { 9, DWS, 6, 10, 13, 12, 12, 9, 9, 10, 13, 13, 10, 13, 13, 10, 10, 10, 10, 13, 13, 13, 10, 9, 10, 10, 13, 12, 13, }, + { 9, 9, 6, 10, 10, 10, 13, 9, 13, 10, 13, 13, 13, 13, 13, 9, 10, 9, 10, 13, 13, 13, 9, 10, 10, 10, 12, 12, 13, }, + { 9, DWS, 6, 9, 12, 12, 13, 6, 9, 10, 12, 13, 10, 13, 13, 10, 10, 10, 10, 13, 13, 12, 6, 9, 10, 13, 12, DWS, 12, }, + { 11, 4, 11, 4, DWE, 4, 4, DWE, 4, 4, 11, 11, 4, 4, 4, 11, 11, 11, 11, 11, 4, 11, 11, 4, DWE, DWE, 25, 25, DWE, }, + { 11, 4, 4, DWE, 25, 32, 25, 25, 11, 11, 11, 4, 4, 4, 11, DWE, DWE, 11, 11, 11, 4, 25, DWE, 4, 11, 11, DWE, 32, 25, }, + { DWE, DWE, 4, 4, 4, 4, 4, 11, DWE, 11, 11, 11, 11, 4, 11, 4, 11, 4, 4, 11, 4, 11, 11, DWE, 11, 4, DWE, DWE, 11, }, + { 11, 4, 4, 4, DWE, 4, DWE, 4, 11, 11, 4, 4, 4, 4, DWE, DWE, DWE, 11, 11, DWE, 11, 25, 11, 11, DWE, DWE, 25, 4, 25, }, + { 83, 89, 103, 164, 120, 117, 121, 132, 90, 118, 131, 100, 100, 131, 147, 147, 116, 101, 146, 88, 148, 131, 107, 115, 103, 161, 90, 98, 179, }, + { 195, 104, 106, 243, 100, 120, 88, 102, 106, 107, 116, 185, 250, 185, 147, 163, 105, 118, 216, 170, 133, 114, 118, 105, 133, 234, 235, 234, 84, }, + { 82, 84, 107, 118, 184, 155, 235, 251, 85, 100, 130, 88, 99, 115, 106, 98, 104, 103, 103, 99, 90, 118, 99, 102, 114, 178, 99, 116, 146, }, + { 131, 165, 123, 118, 99, 129, 82, 145, 179, 116, 105, 164, 250, 122, 100, 115, 115, 242, 136, 118, 135, 89, 103, 102, 152, 122, 167, 225, 83, }, + { 82, 99, 107, 147, 117, 105, 88, 121, 98, 131, 179, 115, 115, 90, 117, 243, 243, 101, 148, 84, 194, 133, 100, 138, 121, 101, 89, 100, 134, }, + { 243, 116, 121, 102, 116, 122, 234, 116, 106, 122, 120, 234, 234, 234, 106, 117, 116, 235, DWO, 234, 234, 83, 117, 106, 101, 250, 235, 235, 72, }, + { 81, 85, 104, 243, 99, 166, 120, 217, 88, 100, 100, 115, 99, 115, 106, 99, 103, 241, 114, 99, 88, 107, 107, 115, 100, 193, 99, 100, 131, }, + { 131, 118, 133, 107, 118, 115, 90, 194, 211, 116, 118, 180, 154, 122, 195, 116, 122, 245, 250, 200, 196, 114, 117, 120, 244, 216, 168, 249, 83, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 830 to 844 + { 25, 33, 27, 36, 36, 37, 37, 38, 50, 29, 30, 38, 23, 46, 46, }, + { 1, 25, 26, 12, 6, 21, 45, 7, 42, 28, 6, 22, 14, 31, 31, }, + { 40, 33, CNU, 28, 13, 29, 29, 22, 43, 37, 45, 38, 46, 46, 46, }, + { 17, 33, 27, 36, 13, 52, 60, 21, 50, 36, 53, 38, 38, 46, 54, }, + { 2, 9, 5, 4, 4, 4, 1, 5, 4, 5, 1, 6, 2, 3, 0, }, + { 6, 13, 6, 4, 1, 0, 4, DWS, 5, 9, 4, 5, 0, 3, 2, }, + { 12, 12, 9, 12, 12, DWS, 12, 9, DWS, 9, DWS, 12, 12, 6, 10, }, + { 5, 12, 5, 3, 3, 0, 3, 0, 4, 4, 4, 5, 0, 3, DWS, }, + { 11, 11, 11, 11, 25, DWE, 11, 11, 11, DWE, 11, 32, DWE, 4, 32, }, + { 4, DWE, DWE, 25, DWE, 25, 25, 32, 4, 32, 25, 32, 32, 32, DWE, }, + { DWE, 11, 11, 25, 25, 4, 11, 4, 11, DWE, 4, DWE, 32, 4, 4, }, + { 11, 25, 11, DWE, DWE, 4, DWE, 4, 11, 4, 4, DWE, 4, 4, 4, }, + { 121, 90, 118, 117, 157, 148, 139, 228, 116, 114, 117, 98, 115, 178, 134, }, + { 147, 243, 243, 181, 121, 243, 211, DWO, 212, 133, 149, 134, 216, 198, 116, }, + { 99, 70, 136, 157, 198, 126, 253, 249, 100, 100, 118, 116, 126, 116, 132, }, + { 147, 146, 241, 243, 245, 148, 115, 210, 148, 116, 104, 98, 116, 248, 115, }, + { 75, 163, 226, 130, 130, 132, 179, 147, 99, 84, 102, 98, 84, 105, 181, }, + { 115, 100, 117, DWO, 201, 252, 169, 251, 140, 251, 118, 235, 235, 235, 96, }, + { 103, 98, 115, 132, 123, 133, 244, 125, 101, 116, 163, 99, 116, 115, 84, }, + { 132, 106, 243, 195, 181, 117, 195, 180, 118, 164, 102, 179, 125, 249, 245, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 845 to 873 + { 18, 25, 41, 26, 50, 27, 27, 13, 25, 26, 27, CNU, 36, 36, 29, 33, 19, 43, 36, 29, 37, 45, 26, 20, 21, 37, 22, 22, 38, }, + { 25, 25, 10, 18, 34, 4, 4, 28, 25, 18, 11, 4, 12, 28, 44, 33, 11, 27, 20, 36, 13, 37, 26, 27, 28, 36, 14, 22, 30, }, + { 26, 25, 26, 34, 27, 20, 28, 21, 18, 19, 12, 28, 13, 21, 14, 26, 20, 21, 29, 22, 22, 30, 20, 29, 45, 30, 38, 38, 23, }, + { 11, 25, 18, 26, 50, CNU, 43, 36, 25, 26, 19, CNU, 28, 36, 29, 18, 19, 43, 28, 21, 29, 45, 11, 20, 21, 37, 22, 22, 38, }, + { 5, DWS, 9, 10, 9, 10, 9, 9, 10, 13, 10, 13, 10, 10, 9, 9, 9, 10, 13, 13, 9, 9, 7, 13, 10, 13, 12, 13, 13, }, + { 5, 9, 9, 10, 9, 10, 1, 4, 10, 10, 10, 13, 10, 10, 10, 9, 9, 10, 10, 13, 10, 10, 10, 10, 9, 9, 12, 12, 13, }, + { DWS, 9, 6, 10, 10, 10, 13, 9, 13, 10, 12, 12, 9, 10, 9, 10, 10, 9, 9, 13, 13, 13, 9, 10, 9, 9, 12, 12, 13, }, + { 5, 9, 9, 13, 12, 9, 6, DWS, 10, 13, 10, 13, 10, 10, 9, 9, 9, 10, 12, 12, 10, 9, 7, 12, 9, 12, 12, 12, 13, }, + { DWE, 11, DWE, DWE, 11, 11, 4, DWE, 4, 11, 4, DWE, 4, 4, 4, 4, 11, DWE, 25, 25, 4, 11, 4, 25, DWE, 25, 25, 25, DWE, }, + { 11, DWE, DWE, 25, DWE, 25, 4, 4, 4, 4, 4, DWE, 4, 4, 11, 11, 11, DWE, DWE, DWE, 11, DWE, 11, 11, DWE, 4, 32, 32, 32, }, + { 32, 4, 4, 4, 4, 4, 4, DWE, DWE, 4, 11, 11, 4, 4, 4, 4, 11, 4, 4, 25, DWE, 11, 11, 11, 4, 4, DWE, 4, 11, }, + { 25, DWE, DWE, 25, 11, DWE, 4, DWE, 4, DWE, 11, DWE, 11, 4, 4, 4, 4, DWE, 32, DWE, 11, DWE, 4, 32, DWE, DWE, 32, DWE, 32, }, + { 101, 102, 107, 117, 115, 117, 171, 148, 89, 114, 114, 104, 114, 118, 117, 99, 117, 103, 98, 88, 88, 117, 99, 90, 100, 89, 114, 99, 106, }, + { 147, 116, 107, 102, 107, 114, 89, 130, 131, 163, 179, 100, 249, 118, 115, 147, 101, 116, 103, 136, 202, 101, 122, 116, 132, 233, 187, 103, 130, }, + { 100, 91, 101, 148, 100, 241, 121, 204, 82, 88, 98, 85, 114, 90, 103, 85, 101, 116, 105, 90, 101, 116, 82, 177, 178, 212, 193, 225, 132, }, + { 242, 242, 226, 192, 104, 121, 123, 211, 117, 117, 117, 121, 212, 218, 130, 147, 115, 209, 130, 132, DWO, 113, 122, 115, 138, 115, 123, 100, 81, }, + { 85, 85, 100, 146, 100, 114, 114, 117, 68, 114, 115, 115, 102, 100, 107, 106, 104, 115, 115, 83, 129, 131, 84, 99, 115, 100, 114, 99, 117, }, + { 116, 163, 123, 146, 115, 134, 135, 117, 133, 167, DWO, 138, 170, 250, 117, 116, 133, 251, 251, 234, 234, 100, 251, 250, 251, 251, 234, 235, 102, }, + { 104, 104, 242, 196, 84, 101, 170, 180, 82, 82, 209, 85, 177, 87, 102, 84, 115, 98, 99, 210, 225, 121, 98, 129, 114, 114, 98, 226, 130, }, + { 194, 146, 210, 98, 107, 179, 104, 114, 147, 116, 122, 103, 133, 151, 242, 195, 163, 120, 194, 102, 132, 162, 147, 116, 136, 185, 122, 187, 89, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 874 to 888 + { 41, 33, 11, 4, 28, 21, 13, 30, 26, 42, 37, 45, 15, 30, 54, }, + { 56, 17, 3, 4, 5, 6, 37, 14, 25, 11, 5, 15, 14, 38, 62, }, + { 26, 33, 19, 20, 13, 13, 13, 14, 19, 28, 29, 30, 53, 38, 46, }, + { 41, 33, 11, CNU, 44, 44, 52, 14, 26, 27, 29, 60, 38, 53, 54, }, + { 1, 4, 1, 4, 1, 0, 0, 1, 9, 5, 5, 5, 0, 3, 1, }, + { 2, 6, 1, 0, 0, 0, 7, DWS, 6, 9, 10, 3, 0, DWS, 1, }, + { DWS, DWS, DWS, 9, DWS, 4, 9, DWS, DWS, DWS, 5, 5, 9, DWS, 10, }, + { 2, 5, 2, 0, 1, 3, 1, 0, 9, 4, 6, 0, 0, 1, 7, }, + { DWE, 4, 4, DWE, 4, 4, DWE, 4, 32, 32, DWE, 25, 4, DWE, 32, }, + { DWE, 4, DWE, 4, 11, DWE, DWE, 32, 4, 32, 32, 25, 4, 32, DWE, }, + { DWE, 4, 11, 25, DWE, 4, DWE, 4, 4, DWE, 4, 4, 4, 11, 4, }, + { 4, 11, 11, 4, 4, DWE, 4, DWE, 25, 32, DWE, 11, 4, 4, 4, }, + { 117, 102, 122, 116, 132, 244, 214, 213, 82, 99, 99, 100, 116, 200, 131, }, + { 131, 118, 118, 179, 132, 122, 117, 133, 145, 116, 244, 123, 173, 241, 115, }, + { 123, 101, 139, 133, 244, 247, 250, 252, 171, 129, 121, 113, 123, 100, 125, }, + { 146, 107, 122, 148, 164, 198, 180, 130, 163, 194, 81, 131, 116, 86, 115, }, + { 83, 102, 227, 209, 99, 118, 146, 116, 98, 114, 101, 131, 84, 100, 118, }, + { 147, 212, 122, 137, 252, 153, 149, 170, 252, 252, 252, 251, 235, 247, 97, }, + { 120, 106, 117, 245, 116, 130, DWO, 141, 82, 100, 99, 244, 116, 228, 121, }, + { 115, 117, 133, 118, 136, 138, 131, 148, 121, 120, 137, 118, 118, 244, 198, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 889 to 917 + { 43, 42, 57, 58, 58, 58, CNU, 13, 34, 19, 42, 27, CNU, 43, 44, 27, 27, CNU, 43, 36, 36, 37, 27, 27, 28, 28, 21, 21, 30, }, + { 18, 34, 3, 4, 42, 26, 51, 59, 18, 3, 11, 11, 50, 27, 28, 34, 11, 19, 4, 20, 28, 21, 26, 19, 20, 20, 36, 13, 22, }, + { 44, 26, 34, 19, 27, CNU, CNU, 13, 11, 19, 27, 27, 20, 28, 29, CNU, 12, 20, 28, 21, 29, 22, 43, 36, 29, 44, 22, 30, 38, }, + { 12, 34, 42, 42, 42, 58, 27, 28, 19, 19, 19, 19, CNU, 43, 28, 27, 27, 20, 28, 36, 13, 14, 12, 27, 28, 28, 21, 29, 30, }, + { 0, 1, 10, 5, DWS, 4, 7, 4, 3, 9, 9, DWS, 12, 12, 6, 5, 9, DWS, 13, 12, 12, 9, 1, DWS, 10, 13, 13, 13, 9, }, + { 0, DWS, 4, 5, DWS, 0, 0, 4, 1, 5, 10, 10, 13, 12, DWS, 6, 6, DWS, 13, 10, DWS, 6, 2, 6, 9, 10, 12, 13, 12, }, + { 1, 2, 6, 6, 10, 10, 10, 10, 4, 13, 13, 13, 12, 13, 10, 10, 10, 10, 10, 13, 10, 10, 3, 10, 10, 13, 12, 12, 13, }, + { 0, 4, 4, 0, 4, 1, 0, 4, 2, 5, 5, 9, 13, 13, 5, 9, 9, 12, 13, 12, DWS, DWS, 3, DWS, 9, 13, 10, 13, 12, }, + { 4, 11, 25, DWE, DWE, 4, 4, 11, 4, 11, 4, 4, 11, 11, 4, 11, 11, 11, 32, DWE, DWE, 11, 4, 4, 11, DWE, DWE, 11, 4, }, + { DWE, DWE, DWE, 32, 32, 11, DWE, 11, 4, 4, 11, 4, 11, DWE, 25, 4, 4, DWE, 32, DWE, 32, 11, 4, 4, 4, 11, DWE, 11, DWE, }, + { 4, 4, 4, 4, 11, 4, 4, 25, 4, DWE, DWE, 11, 11, 11, DWE, 25, 4, 11, 11, DWE, 4, 4, 4, 4, 4, DWE, 4, DWE, 11, }, + { DWE, 4, DWE, 4, 11, 4, 11, DWE, 11, 4, 4, 4, 11, 11, DWE, DWE, 11, 25, 32, 32, 32, 25, 11, 11, 11, DWE, 25, DWE, 25, }, + { 126, 118, 244, 108, 107, 136, 232, 232, 117, 98, 152, 235, 218, 218, 155, 101, 195, 183, 198, 235, 185, 155, 116, 138, 98, 215, 182, 234, 201, }, + { 117, 232, 131, 235, 216, 182, 250, 213, 163, 213, 228, 135, 185, 218, 228, 136, 148, 198, 179, 235, 187, 121, 228, 148, 250, 231, 218, 234, 234, }, + { 254, 219, 189, 180, 248, 254, 218, 229, 124, 108, 104, 169, 234, 235, 188, 120, 149, 252, 234, 250, 236, 219, DWO, 152, 122, 234, 235, 234, 218, }, + { 148, 213, 227, 138, 226, 132, 117, 102, 134, 164, 116, 120, 230, 235, 181, 116, 131, 164, 120, 186, 244, 243, 243, 163, 165, 152, 235, 233, 103, }, + { 117, 120, 104, 103, 100, 115, 137, 154, 107, 84, 116, 234, 235, 153, 152, 87, 117, 249, 249, 217, 122, 181, 123, 117, 131, 202, 123, 100, 215, }, + { 121, 117, 243, 184, 151, 250, 250, 196, 149, 163, 138, 115, 235, 234, 167, 250, 166, 134, DWO, 234, 250, 148, 116, 217, 234, 105, 219, 235, 83, }, + { 253, 253, 249, 139, 252, 138, 254, 154, DWO, 100, 108, 200, 216, 199, 236, 91, 100, 102, 226, 135, 154, 188, 115, 118, 88, 230, 152, 217, 203, }, + { 117, 123, 121, 134, 227, 132, 133, 132, 227, 134, 135, 132, 234, 186, 163, 135, 120, 235, 231, 216, 245, DWO, 148, 244, 234, 233, 249, 234, 235, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 918 to 932 + { 51, 27, 27, 4, 4, 58, 20, 44, 42, 42, 4, 27, 28, 29, 61, }, + { 3, 41, CNU, 2, 3, 4, CNU, 4, 56, 19, 4, 3, 36, 6, 44, }, + { 13, 11, 27, 20, 20, 5, 5, 29, 36, 20, 28, 36, 29, 29, 30, }, + { 12, 3, 27, 4, 4, 4, 12, 21, 19, 27, 12, 27, 44, 21, 30, }, + { 0, 9, 5, 4, 3, 0, 0, 4, 0, 2, 1, 0, 3, 13, 4, }, + { 2, 10, 6, 3, 7, 3, 0, 4, 7, 7, 13, 9, 9, 13, 3, }, + { 3, DWS, DWS, 5, DWS, 12, 12, 10, 1, 3, 7, 9, 7, 13, 10, }, + { 1, 4, 6, 3, 3, 7, 0, 0, 0, 5, 4, 5, 4, DWS, 7, }, + { DWE, 11, DWE, 32, 32, DWE, DWE, DWE, DWE, 32, 25, DWE, 25, DWE, DWE, }, + { 4, 25, 25, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 4, 32, 11, }, + { 4, DWE, DWE, 4, 11, 25, 25, DWE, 4, 11, 4, 4, 4, 4, 4, }, + { 4, 4, DWE, DWE, 11, 4, DWE, 4, 4, 25, 25, 32, 32, 4, 4, }, + { 151, 164, 227, 216, 250, 254, 254, 253, 254, 252, 213, 118, 251, 234, 138, }, + { 164, 150, 244, 157, 250, 157, 222, 253, 148, 132, 131, 244, 215, 234, 131, }, + { 212, 250, 97, 248, 248, 251, 254, 253, 128, 218, 178, 241, 235, 186, 242, }, + { 117, 250, 235, 251, 218, 250, 254, 253, 245, 131, 101, 226, 250, 105, 114, }, + { 115, 197, 122, 101, 105, 102, 169, 250, 115, 115, 129, 87, 168, 234, 247, }, + { 162, 179, 148, 172, 121, 203, 235, 103, 228, 163, 228, 235, 250, 233, 153, }, + { 153, 220, 103, 138, 251, 249, 246, 236, 117, 135, 124, 178, 253, 236, 165, }, + { 134, 120, 123, 210, 251, 234, 126, 254, 123, 227, 139, 228, 252, 250, 230, }, + }), +}; +#else +const CtxSet ContextSetCfg::GtxFlag[4] = { + ContextSetCfg::addCtxSet({ + { 25, 0, 40, 25, 33, 26, 0, 17, 25, 33, 19, 9, 25, 26, 34, 20, 25, 18, 19, 20, 37 }, + { 1, 0, 9, 17, 25, 26, 0, 9, 25, 33, 19, 9, 25, 33, 34, 20, 25, 33, 19, 27, 29 }, + { 25, 1, 40, 25, 33, 11, 9, 25, 25, 18, 12, 17, 33, 26, 19, 13, 33, 19, 20, 28, 22 }, + { 25, 0, 40, 25, 33, 26, 0, 17, 25, 33, 19, 9, 25, 26, 34, 20, 25, 18, 19, 20, 37 }, + { 1, 9, 10, 10, 7, 5, 9, 9, 10, 9, 6, 9, 9, 10, 6, 5, 6, 9, 6, 10, 10 }, + { 2, 8, 6, 9, 7, 5, 12, 13, 10, 13, 3, 9, 9, 10, 10, 6, 6, 6, 10, 10, 10 }, + { 4, 12, 6, 9, 10, 5, 12, 9, 9, 9, 5, 13, 10, 10, 10, 10, 6, 9, 10, 10, 9 }, + { 1, 9, 10, 10, 7, 5, 9, 9, 10, 9, 6, 9, 9, 10, 6, 5, 6, 9, 6, 10, 10 }, + { 11, 11, 25, 18, 11, 18, 4, 4, 11, 4, 18, 11, 11, 25, 11, 4, 11, 18, 11, 25, 18 }, + { 11, 11, 4, 4, 4, 18, 18, 11, 4, 11, 4, 4, 11, 18, 18, 11, 11, 4, 18, 18, 11 }, + { 4, 25, 4, 11, 11, 18, 18, 11, 4, 11, 11, 18, 18, 18, 18, 18, 4, 18, 18, 18, 4 }, + { 11, 11, 25, 18, 11, 18, 4, 4, 11, 4, 18, 11, 11, 25, 11, 4, 11, 18, 11, 25, 18 }, + { 115, 99, 86, 85, 102, 227, 82, 84, 100, 103, 117, 87, 100, 102, 106, 107, 98, 103, 115, 102, 116 }, + { 164, 131, 193, 130, 116, 131, 212, 148, 116, 147, 116, 243, 131, 118, 147, 131, 195, 131, 116, 120, 122 }, + { 118, 84, 99, 131, 122, 117, 65, 69, 99, 85, 118, 82, 90, 104, 99, 115, 98, 101, 99, 103, 116 }, + { 131, 116, 243, 227, 178, 116, 148, 179, 147, 103, 117, 132, 131, 130, 146, 105, 243, 116, 116, 116, 115 }, + { 99, 70, 98, 84, 82, 147, 68, 83, 123, 102, 107, 88, 100, 116, 104, 115, 99, 117, 106, 116, 119 }, + { 119, 147, 121, 195, 116, 117, 119, 123, 132, 117, 117, 116, 121, 116, 120, 115, 123, 116, 118, 121, 107 }, + { 115, 99, 86, 85, 102, 227, 82, 84, 100, 103, 117, 87, 100, 102, 106, 107, 98, 103, 115, 102, 116 }, + { 164, 131, 193, 130, 116, 131, 212, 148, 116, 147, 116, 243, 131, 118, 147, 131, 195, 131, 116, 120, 122 }, + }), + ContextSetCfg::addCtxSet({ + { 25, 9, 25, 33, 26, 12, 17, 33, 11, 28, 37 }, + { 1, 1, 25, 18, 11, 12, 17, 33, 11, 4, 22 }, + { 25, 9, 25, 18, 26, 4, 25, 26, 27, 28, 37 }, + { 25, 9, 25, 33, 26, 12, 17, 33, 11, 28, 37 }, + { 2, 8, 8, 5, 8, 5, 6, 8, 7, 5, 5 }, + { 3, 10, 12, 9, 9, 7, 5, 12, 5, 7, 8 }, + { 1, 12, 8, 8, 8, 2, 5, 4, 6, 4, 7 }, + { 2, 8, 8, 5, 8, 5, 6, 8, 7, 5, 5 }, + { 11, 4, 4, 4, 4, 4, 4, 25, 25, 11, 4 }, + { 4, 4, 4, 4, 4, 4, 4, 25, 18, 18, 25 }, + { 4, 25, 4, 18, 18, 4, 4, 4, 18, 4, 4 }, + { 11, 4, 4, 4, 4, 4, 4, 25, 25, 11, 4 }, + { 115, 201, 135, 122, 148, 196, 98, 83, 97, 131, 131 }, + { 131, 108, 107, 119, 91, 105, 195, 140, 150, 137, 124 }, + { 119, 106, 87, 105, 105, 135, 98, 83, 99, 102, 130 }, + { 130, 119, 101, 118, 102, 121, 164, 123, 152, 114, 168 }, + { 115, 67, 100, 100, 211, 119, 98, 99, 98, 103, 117 }, + { 120, 163, 118, 123, 104, 116, 120, 183, 219, 137, 105 }, + { 115, 201, 135, 122, 148, 196, 98, 83, 97, 131, 131 }, + { 131, 108, 107, 119, 91, 105, 195, 140, 150, 137, 124 }, + }), + ContextSetCfg::addCtxSet({ + { 9, 17, 26, 27, 35, 21, 25, 27, 43, 36, 37, 33, 35, 36, 29, 30, 42, 36, 37, 45, 38 }, + { 1, 17, 26, 42, 35, 44, 25, 34, 35, 36, 37, 33, 20, 36, 29, 22, 34, 28, 37, 37, 38 }, + { 25, 25, 19, 27, 20, 21, 33, 12, 28, 21, 22, 34, 28, 29, 29, 30, 28, 29, 45, 30, 23 }, + { 9, 17, 26, 27, 35, 21, 25, 27, 43, 36, 37, 33, 35, 36, 29, 30, 42, 36, 37, 45, 38 }, + { 9, 8, 9, 10, 10, 9, 9, 10, 13, 13, 10, 9, 10, 9, 10, 10, 5, 9, 10, 13, 13 }, + { 9, 9, 6, 10, 10, 10, 9, 10, 10, 13, 10, 10, 10, 10, 10, 10, 9, 9, 10, 10, 13 }, + { 9, 9, 6, 10, 10, 9, 13, 10, 13, 13, 13, 9, 10, 10, 10, 13, 9, 10, 10, 10, 13 }, + { 9, 8, 9, 10, 10, 9, 9, 10, 13, 13, 10, 9, 10, 9, 10, 10, 5, 9, 10, 13, 13 }, + { 11, 4, 11, 11, 11, 18, 11, 11, 18, 4, 4, 18, 18, 11, 11, 4, 11, 11, 18, 18, 18 }, + { 11, 11, 4, 11, 11, 18, 11, 11, 4, 4, 4, 18, 18, 11, 11, 4, 18, 11, 11, 11, 11 }, + { 18, 18, 4, 4, 4, 18, 18, 11, 11, 11, 18, 11, 11, 11, 4, 11, 18, 18, 11, 11, 11 }, + { 11, 4, 11, 11, 11, 18, 11, 11, 18, 4, 4, 18, 18, 11, 11, 4, 11, 11, 18, 18, 18 }, + { 82, 85, 102, 146, 134, 122, 90, 115, 116, 227, 116, 107, 115, 116, 116, 131, 116, 116, 116, 116, 119 }, + { 211, 107, 106, 116, 101, 116, 243, 117, 117, 137, 131, 117, 116, 123, 136, 118, 117, 116, 119, 134, 85 }, + { 82, 83, 107, 121, 120, 116, 89, 116, 163, 147, 116, 99, 115, 115, 116, 116, 104, 227, 116, 122, 132 }, + { 211, 132, 117, 100, 105, 130, 227, 116, 117, 182, 117, 116, 117, 133, 135, 99, 116, 131, 120, 103, 85 }, + { 83, 99, 107, 131, 117, 119, 98, 116, 195, 101, 102, 131, 119, 115, 120, 116, 115, 132, 132, 122, 164 }, + { 122, 116, 118, 101, 106, 117, 116, 122, 121, 234, 138, 118, 117, 170, 121, 102, 120, 106, 106, 106, 86 }, + { 82, 85, 102, 146, 134, 122, 90, 115, 116, 227, 116, 107, 115, 116, 116, 131, 116, 116, 116, 116, 119 }, + { 211, 107, 106, 116, 101, 116, 243, 117, 117, 137, 131, 117, 116, 123, 136, 118, 117, 116, 119, 134, 85 }, + }), + ContextSetCfg::addCtxSet({ + { 17, 33, 27, 28, 21, 37, 42, 37, 45, 38, 46 }, + { 9, 25, 27, 20, 13, 22, 35, 29, 22, 30, 23 }, + { 40, 33, 35, 28, 13, 37, 43, 37, 45, 38, 46 }, + { 17, 33, 27, 28, 21, 37, 42, 37, 45, 38, 46 }, + { 9, 12, 9, 9, 12, 9, 5, 4, 4, 10, 8 }, + { 9, 13, 12, 13, 13, 13, 5, 8, 4, 5, 8 }, + { 12, 12, 9, 12, 12, 9, 8, 8, 8, 13, 10 }, + { 9, 12, 9, 9, 12, 9, 5, 4, 4, 10, 8 }, + { 18, 11, 11, 11, 25, 4, 11, 4, 4, 25, 11 }, + { 4, 11, 4, 11, 11, 4, 4, 18, 11, 18, 11 }, + { 18, 11, 11, 25, 18, 11, 11, 18, 11, 25, 11 }, + { 18, 11, 11, 11, 25, 4, 11, 4, 4, 25, 11 }, + { 106, 115, 101, 115, 227, 197, 147, 243, 244, 98, 116 }, + { 242, 211, 119, 203, 117, 123, 117, 251, 120, 249, 118 }, + { 86, 84, 87, 195, 179, 134, 116, 115, 132, 178, 132 }, + { 195, 104, 166, 202, 106, 88, 148, 252, 138, 118, 236 }, + { 75, 115, 131, 178, 131, 227, 179, 92, 164, 98, 243 }, + { 131, 91, 117, 120, 137, 116, 136, 252, 105, 198, 84 }, + { 106, 115, 101, 115, 227, 197, 147, 243, 244, 98, 116 }, + { 242, 211, 119, 203, 117, 123, 117, 251, 120, 249, 118 }, + }), +}; +#endif + +const CtxSet ContextSetCfg::LastX[2] = { + ContextSetCfg::addCtxSet({ +// ctx 933 to 968 + { 13, 13, 5, 6, 6, 12, 6, 6, 6, 5, 21, 6, 6, 6, 52, 21, 21, 13, 21, 45, 37, 21, 13, 53, 61, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 6, 5, 12, 14, 6, 4, 7, 7, 14, 5, 14, 7, 7, 7, 53, 14, 7, 14, 7, 15, 61, 7, 15, 31, 62, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 6, 13, 12, 14, 6, 4, 6, 6, 14, 4, 14, 14, 22, 14, 11, 22, 15, 30, 22, 13, 18, 7, 52, 6, 36, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 6, 6, 5, 14, 14, 5, 14, 7, 14, 5, 6, 14, 14, 22, 59, 14, 7, 14, 14, 29, 59, 29, 7, 60, 53, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 5, 5, 5, 6, 5, 0, 6, 4, 2, 1, 2, 1, 2, 1, 1, 2, 2, 2, 0, 0, 0, 2, 5, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 6, 7, 7, 7, 6, 1, 6, 5, 2, 2, 6, 1, 1, 2, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 9, 5, 5, 6, 5, 4, 6, 5, 1, 1, 6, 1, 1, 1, 0, 1, 2, 1, 1, 0, 0, 1, 0, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 5, 6, 6, 6, 6, 1, 6, 6, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0, 1, 0, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWE, DWE, DWE, DWE, DWE, 4, DWE, DWE, 25, 32, 4, 11, 25, 32, 32, 11, 11, 25, 32, 32, 32, DWE, 25, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 11, DWE, DWE, DWE, DWE, 4, DWE, DWE, DWE, DWE, DWE, 4, DWE, 25, 25, 4, 4, DWE, 25, 25, 32, 11, DWE, 25, 25, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 11, 11, DWE, DWE, DWE, DWE, 25, DWE, DWE, 25, DWE, 25, 32, 32, 11, 25, DWE, 32, 32, 32, DWE, DWE, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 11, 11, DWE, DWE, DWE, 4, 11, DWE, DWE, DWE, 4, 4, DWE, DWE, 32, 4, 4, DWE, DWE, 32, 32, 11, 25, 25, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 116, 131, 131, 133, 120, 133, 155, 118, 139, 115, 156, DWO, 124, 246, 115, 152, 118, DWO, 118, 245, 116, 245, 252, 164, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 116, 117, 117, 214, 251, 117, 251, 246, 252, 115, 252, 245, 243, 253, 115, 230, 244, 243, 180, 254, 116, 156, 252, 244, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 242, 122, 122, 134, 132, DWO, 123, 117, 133, 116, 123, 118, DWO, 132, 115, 124, 117, 118, 125, 148, 116, 148, 141, 212, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 146, 114, 115, 138, 148, 117, 138, 164, 134, 116, 133, 244, 148, 148, 120, 134, 196, 132, 243, 230, 121, 180, 251, 217, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 115, 117, 118, 123, 124, 132, 123, 124, 120, 131, 123, 125, DWO, 244, 116, 125, 124, 116, 116, 244, 116, 153, 232, 254, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 115, 117, 118, 139, 252, 163, 163, 252, 164, 115, 149, 247, 147, 253, 116, 245, 248, 163, 245, 251, 116, 253, 252, 204, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 116, 115, 121, 122, 123, 118, 120, 117, 133, 116, 140, DWO, DWO, 243, 115, 148, 117, 116, DWO, 196, 116, 148, 134, 254, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 116, 115, 117, 123, 243, 117, 243, 243, 134, 116, 138, 149, 148, 180, 115, 134, 133, 147, 211, 196, 116, 196, 134, 253, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 969 to 971 + { 12, 20, 50, }, + { 42, 58, 41, }, + { 20, 4, 3, }, + { 19, 12, 19, }, + { 1, 0, 0, }, + { 5, 7, 5, }, + { 6, 4, 1, }, + { 1, 0, 0, }, + { 11, 11, 11, }, + { DWE, 25, DWE, }, + { DWE, DWE, 4, }, + { 11, 11, 4, }, + { 116, 118, 118, }, + { 148, 196, 148, }, + { 102, 116, 108, }, + { 116, 116, 115, }, + { 123, DWO, 122, }, + { 197, 228, 117, }, + { 117, 118, 117, }, + { 132, 244, 148, }, + }), +}; + +const CtxSet ContextSetCfg::LastY[2] = { + ContextSetCfg::addCtxSet({ +// ctx 972 to 1007 + { 5, 13, 20, 6, 6, 12, 6, 14, 5, CNU, 6, 6, 5, 13, 21, 21, 14, 5, 5, 52, 29, 21, 5, 37, 53, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 13, 13, 20, 14, 14, 12, 14, 7, 6, 13, 14, 7, 6, 7, 15, 21, 7, 13, 14, 22, 30, 13, 6, 15, 39, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 13, 13, 12, 14, 6, 4, 14, 14, 5, 11, 14, 7, 6, 5, 18, 37, 38, 22, 14, 12, 18, 36, 30, 13, 28, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 13, 21, 20, 6, 14, 20, 6, 7, 13, 5, 6, 14, 5, 13, 36, 14, 7, 13, 28, 51, 5, 6, 7, 53, 15, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 5, 5, 5, 6, 5, 1, 6, 5, 1, 1, 2, 5, 1, 1, 0, 2, 2, 2, 0, 0, 0, 2, 4, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 5, 6, 7, 7, 7, 2, 7, 7, 2, 2, 6, 5, 1, 2, 1, 2, 3, 1, 1, 1, 0, 1, 4, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 9, 5, DWS, 6, 5, 4, 6, 6, 1, 0, 6, 6, 1, 1, 0, 1, 1, 2, 2, 0, 0, 1, 0, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 5, 6, 7, 7, 6, 2, 6, 6, 1, 2, 2, 5, 1, 2, 0, 2, 2, 1, 1, 1, 0, 0, 4, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWE, DWE, DWE, DWE, DWE, 11, DWE, 11, DWE, 32, 4, 11, DWE, 32, 32, 4, 4, DWE, 32, 32, 32, DWE, DWE, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 11, 11, DWE, DWE, 4, DWE, DWE, DWE, DWE, 11, 4, 11, 25, 32, 4, 4, 4, DWE, 32, 32, 11, 25, 25, 25, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 4, 4, DWE, DWE, 4, DWE, DWE, 11, DWE, 25, DWE, DWE, 32, 32, DWE, 11, 25, 32, 32, 32, 25, DWE, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 11, DWE, DWE, DWE, 4, 11, 4, 11, DWE, 4, 4, 4, 25, DWE, 4, 4, 11, 25, 32, 25, 4, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 117, 117, 121, 116, 124, 118, DWO, 116, 157, 116, 135, 103, 125, 250, 116, 164, 118, 124, 124, 164, 116, 138, 221, 132, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 131, 116, 116, 133, 150, 132, 133, 245, 253, 116, 149, 148, 248, 252, 116, 132, 133, 244, 148, 244, 116, 124, 253, 116, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 107, 117, 116, 122, 121, DWO, 121, 120, 140, 116, 117, 105, 125, 139, 115, 121, 123, 120, 140, 195, 116, 148, 155, 236, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 116, 115, 115, 122, 122, 118, 122, 122, 252, 116, 131, 132, 248, 252, 125, 117, 121, 244, 246, 251, 126, 116, 249, 251, 122, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 118, 123, DWO, 123, 124, 109, 123, 123, 157, 133, 123, 115, 125, 171, 116, 125, 118, 124, 118, 244, 116, 138, 125, 229, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 101, DWO, 104, 123, 140, 117, 123, 243, 253, 117, 123, 243, 253, 253, 116, 133, 165, 252, 243, 253, 116, 147, 254, 251, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 116, 116, 122, 116, 123, 118, 115, 116, 125, 130, 124, 107, 125, 135, 116, 132, 121, 124, 140, 245, 116, 133, 137, 254, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 243, 116, 115, DWO, 123, 118, 115, 243, 253, 116, 121, 116, 248, 227, 117, 117, 124, 197, 243, 195, 116, 117, 253, 252, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 1008 to 1010 + { 26, 20, 50, }, + { 41, 19, 48, }, + { 20, 4, 19, }, + { 11, 5, 50, }, + { 1, 4, 0, }, + { 2, 4, 1, }, + { 6, 5, 4, }, + { 1, 4, 0, }, + { 4, 25, 11, }, + { 4, DWE, 11, }, + { 11, DWE, 11, }, + { 4, 25, 4, }, + { 116, 116, DWO, }, + { 243, 131, 132, }, + { 116, 118, 122, }, + { 131, 243, 147, }, + { 134, 133, 108, }, + { 245, 243, 132, }, + { 116, 117, DWO, }, + { 227, 115, 117, }, + }), +}; + + +#if JVET_AG0143_INTER_INTRA +const CtxSet ContextSetCfg::SigCoeffGroupCtxSetSwitch[] = +{ + ContextSetCfg::addCtxSet + ({ +// ctx 1011 to 1012 + { 11, 31, }, + { 11, 31, }, + { 10, 38, }, + { 3, 31, }, + { 4, 5, }, + { 4, 5, }, + { DWS, 5, }, + { 4, 5, }, + { 4, DWE, }, + { 11, DWE, }, + { 25, DWE, }, + { 4, DWE, }, + { 132, 148, }, + { 101, 101, }, + { 211, 133, }, + { 108, 104, }, + { 179, 120, }, + { 178, 132, }, + { 116, 122, }, + { 102, 101, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1013 to 1014 + { 10, 23, }, + { 25, 38, }, + { 17, 37, }, + { 33, 23, }, + { 9, 7, }, + { 9, 10, }, + { 0, 0, }, + { DWS, 7, }, + { 11, 4, }, + { 4, 4, }, + { 25, 25, }, + { DWE, 11, }, + { 100, 250, }, + { 131, 104, }, + { 81, 250, }, + { 148, 118, }, + { 229, 212, }, + { 122, 197, }, + { 118, 210, }, + { 115, 130, }, + }), +}; + + + +#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING +const CtxSet ContextSetCfg::SigFlagCtxSetSwitch[] = +{ + ContextSetCfg::addCtxSet + ({ +// ctx 1015 to 1032 + { 25, 19, 28, 14, 22, 30, 18, 28, 29, 30, 30, 38, 26, 45, 30, 38, 38, 38, }, + { 25, 19, 20, 14, 22, 30, 18, 28, 29, 30, 30, 38, 11, 45, 30, 38, 38, 38, }, + { 17, 26, 27, 29, 37, 30, 9, 42, 28, 37, 45, 30, 33, 59, 36, 45, 30, 38, }, + { 25, 19, 28, 14, 22, 30, 18, 28, 29, 30, 30, 38, 26, 45, 30, 38, 38, 38, }, + { 13, 9, 9, 13, 13, 10, 10, 9, 10, 13, 13, 10, DWS, DWS, 10, 10, 10, 9, }, + { 13, 9, 9, 13, 13, 10, 9, 10, 10, 13, 13, 13, 9, DWS, 10, 10, 10, 9, }, + { 13, 9, DWS, 12, 10, DWS, 9, 9, DWS, 12, 10, 9, DWS, 9, 9, 9, 13, 9, }, + { 13, 9, 9, 13, 13, 10, 10, 10, 10, 13, 13, 10, DWS, 9, 10, 10, 10, 9, }, + { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 11, 4, 4, 4, 11, }, + { DWE, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }, + { 11, 11, 11, 32, 11, 4, 4, 11, 4, 4, 11, 4, DWE, DWE, DWE, 4, 11, 4, }, + { DWE, 4, 4, 4, 4, 4, DWE, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, }, + { 98, 170, 180, 163, 181, 198, 113, 121, 246, 103, 234, 234, 252, 153, 132, 138, 234, 251, }, + { 195, 121, 104, 182, 88, 84, 147, 120, 100, 137, 67, 82, 101, 99, 137, 99, 83, 81, }, + { 83, 136, 196, 106, 168, 234, 100, 103, 120, 117, 186, 168, 135, 120, 120, 134, 250, 250, }, + { 122, 123, 101, 122, 89, 84, 117, 122, 106, 153, 85, 67, 105, 149, 153, 101, 83, 81, }, + { 72, 148, 132, 88, 234, 215, 235, 211, 116, 91, 250, 251, 98, 130, 122, 134, 231, 251, }, + { 149, 132, 164, 235, 83, 84, 117, 115, 118, 217, 83, 82, 138, 123, 107, 101, 129, 81, }, + { 82, 154, 148, 163, 185, 198, 85, 106, 137, 104, 234, 234, 108, 148, DWO, 133, 169, 251, }, + { DWO, 122, 104, 102, 87, 84, 122, 134, 104, 138, 72, 82, 105, 147, 153, 104, 83, 82, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1033 to 1044 + { 33, 20, 28, 21, 29, 14, 26, 38, 53, 46, 46, 46, }, + { 18, 19, CNU, 28, 14, 37, 19, 53, 22, 30, 38, 7, }, + { 25, CNU, 28, 21, 6, 22, 48, 52, 60, 38, 61, 15, }, + { 33, 28, 36, 29, 45, 30, 26, 53, 53, 46, 46, 46, }, + { 13, 13, 13, 13, 13, 13, 10, DWS, DWS, DWS, DWS, 6, }, + { 13, 13, 13, 13, DWS, 9, DWS, 5, DWS, DWS, 12, DWS, }, + { 10, 13, DWS, 10, 12, 13, 5, 2, DWS, 7, 0, 13, }, + { 13, 12, 9, 10, 13, 13, 10, 5, DWS, 9, 12, 10, }, + { 11, DWE, 4, 4, 4, 4, DWE, 11, 11, 25, 11, 4, }, + { DWE, 4, 4, 4, 4, 32, DWE, 4, 11, DWE, 32, 32, }, + { DWE, 25, 4, 4, 4, 4, 11, 4, 25, 4, 25, 25, }, + { 32, DWE, 11, 4, 11, 4, 32, 4, 4, 4, DWE, 32, }, + { 177, 101, 115, 100, 105, 213, 241, 116, 102, 108, 101, 232, }, + { 101, 181, 116, 164, 103, 85, 100, 196, 252, 218, 202, 98, }, + { 83, 151, 104, 165, 116, 199, 226, 132, 116, 178, 114, 251, }, + { 116, 217, 120, 104, 252, 97, 117, 167, 136, 218, 215, 82, }, + { 96, 113, 85, 88, 84, 218, 118, 118, 210, 116, 138, 226, }, + { 116, 105, 171, 85, 171, 234, 108, 115, 116, 233, 116, 64, }, + { 224, 132, DWO, 118, 106, 135, 161, DWO, 133, 101, 98, 250, }, + { 100, 120, 117, 101, 90, 102, 104, 122, 123, 249, 137, 81, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1045 to 1062 + { 26, 38, 46, 54, 54, 54, 11, 39, 39, 39, 39, 39, 28, 39, 39, 39, 39, 39, }, + { 26, 38, 46, 54, 54, 54, 11, 39, 39, 39, 39, 39, 21, 39, 39, 39, 39, 39, }, + { 18, 45, 53, 46, 46, 46, 11, 54, 61, 39, 39, 39, 2, 39, 39, 39, 39, 39, }, + { 26, 38, 46, 54, 54, 54, 11, 39, 39, 39, 39, 39, 28, 39, 39, 39, 39, 39, }, + { 9, 13, 12, DWS, DWS, DWS, DWS, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, }, + { DWS, 13, 12, DWS, DWS, DWS, DWS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, 13, 12, DWS, DWS, DWS, DWS, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, 13, 12, DWS, DWS, DWS, DWS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { 4, 4, DWE, 4, 4, 4, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 4, 4, 25, 11, 4, 4, DWE, 32, 32, 32, DWE, 32, 32, 32, 32, 32, 32, 32, }, + { 4, 4, DWE, DWE, 11, DWE, DWE, DWE, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 11, 4, 25, 4, 4, 4, DWE, 32, 32, 32, 25, 32, 32, 32, 32, 32, 32, 32, }, + { 148, 234, 235, 252, 252, 188, 99, 235, 254, 254, 236, 217, 148, 252, 116, 238, 238, 254, }, + { 117, 234, 131, 83, 82, 82, 117, 116, 116, 116, 116, 99, 99, 116, 116, 116, 116, 116, }, + { 132, 218, 234, 252, 234, 236, 100, 202, 216, 205, 254, 253, 116, 238, 252, 116, 251, 237, }, + { 121, 154, 104, 83, 83, 82, 108, 116, 116, 116, 116, 116, 244, 116, 116, 116, 116, 116, }, + { 228, 218, 169, 252, 252, 202, 130, 253, 253, 253, 251, 151, 116, 238, 251, 235, 252, 252, }, + { DWO, 217, 120, 83, 82, 82, 117, 99, 99, 116, 116, 116, 132, 116, 116, 116, 116, 116, }, + { 163, 234, 235, 252, 250, 236, 114, 205, 254, 201, 254, 206, 132, 237, 238, 238, 251, 253, }, + { 123, 134, 89, 83, 82, 82, 132, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1063 to 1074 + { 18, 46, 38, 39, 39, 39, 59, 39, 39, 39, 39, 39, }, + { 18, 46, 38, 39, 39, 39, 61, 39, 39, 39, 39, 39, }, + { 33, 30, 46, 31, 39, 31, 11, 39, 39, 39, 39, 39, }, + { 26, 46, 38, 39, 39, 39, 12, 39, 39, 39, 39, 39, }, + { DWS, 12, DWS, 4, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, 12, 12, 4, 0, 12, 0, 0, 0, 0, 0, 0, }, + { 4, DWS, 9, 0, 3, 13, 0, 0, 0, 0, 0, 0, }, + { DWS, 12, 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, }, + { 4, 11, DWE, 25, 32, 32, 32, 32, 32, 32, 32, 32, }, + { DWE, 11, 25, 25, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 4, DWE, 4, 25, DWE, 4, 25, 25, 25, 25, 25, 25, }, + { 25, DWE, 32, 25, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 228, 235, 236, 251, 254, 253, 116, 156, 116, 238, 238, 116, }, + { 228, 99, 82, 99, 116, 116, 212, 116, 116, 116, 116, 116, }, + { 117, 235, 235, 253, 235, 235, 116, 237, 116, 116, 116, 116, }, + { 124, 87, 65, 99, 116, 113, 116, 116, 116, 116, 116, 116, }, + { 100, 252, 248, 250, 250, 218, 148, 238, 235, 116, 116, 116, }, + { 107, 102, 82, 180, 130, 68, 150, 116, 116, 116, 116, 116, }, + { 130, 235, 139, 254, 221, 253, 116, 253, 252, 235, 235, 116, }, + { 116, 69, 65, 116, 148, 115, 187, 116, 116, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1075 to 1092 + { 18, 39, 39, 39, 39, 39, 11, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 18, 39, 39, 39, 39, 39, 11, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 26, 54, 39, 39, 39, 39, 26, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { 18, 39, 39, 39, 39, 39, 11, 39, 39, 39, 39, 39, 0, 39, 39, 39, 39, 39, }, + { DWS, 4, 12, 12, 12, 12, DWS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, DWS, 12, 12, 12, 12, DWS, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, }, + { DWS, 4, 4, DWS, 5, 13, DWS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, DWS, 12, 12, 12, 12, DWS, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, }, + { 4, 32, 25, 32, 25, 25, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { DWE, 32, 25, 32, 32, 25, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { 32, 25, 32, 32, 11, 32, DWE, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }, + { DWE, 32, 32, 25, 25, 25, 32, 32, 25, 25, 32, 32, 25, 32, 32, 32, 32, 32, }, + { 215, 253, 235, 235, 218, 234, 242, 253, 190, 254, 172, 254, 116, 238, 116, 235, 238, 181, }, + { 164, 99, 65, 65, 65, 68, 243, 116, 116, 116, 116, 116, 238, 116, 116, 116, 116, 116, }, + { 108, 252, 218, 235, 235, 234, 114, 236, 254, 254, 205, 237, 116, 116, 116, 116, 116, 252, }, + { 122, 82, 65, 65, 65, 65, 118, 116, 148, 116, 212, 102, 252, 116, 116, 116, 116, 116, }, + { 116, 253, 253, 252, 252, 234, 115, 254, 254, 254, 237, 253, 116, 235, 238, 238, 254, 254, }, + { 124, 99, 99, 82, 98, 66, 102, 116, 116, 116, 116, 116, 254, 116, 116, 116, 116, 116, }, + { 106, 252, 235, 235, 235, 234, 98, 251, 254, 254, 254, 254, 131, 237, 235, 238, 235, 252, }, + { DWO, 82, 65, 65, 65, 67, 123, 116, 116, 116, 116, 116, 166, 116, 116, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1093 to 1104 + { 11, 39, 39, 39, 39, 39, 2, 39, 39, 39, 39, 39, }, + { 26, 39, 39, 39, 39, 39, 2, 39, 39, 39, 39, 39, }, + { 18, 38, 54, 39, 39, 39, 33, 39, 39, 39, 39, 39, }, + { 11, 39, 39, 39, 39, 31, 10, 39, 39, 39, 39, 39, }, + { DWS, 4, DWS, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, DWS, 4, 4, 1, 0, 0, 0, 0, 0, 0, 4, }, + { 5, 10, 0, 5, 0, 0, 3, 0, 0, 0, 0, 0, }, + { 9, DWS, 0, DWS, 4, 0, 0, 0, 0, 0, 0, 0, }, + { DWE, 32, 32, 25, 32, 32, 32, 32, 32, 32, 32, 32, }, + { DWE, 32, 32, 32, 25, 32, 32, 32, 32, 32, 32, 32, }, + { DWE, 25, 4, 25, 25, 25, 25, 25, 25, 25, 25, 25, }, + { 25, DWE, 32, 32, 32, 32, 25, 32, 32, 32, 32, 32, }, + { 147, 253, 236, 254, 254, 254, 116, 116, 235, 116, 116, 116, }, + { 120, 99, 82, 116, 148, 117, 118, 116, 116, 116, 148, 116, }, + { 115, 252, 253, 253, 251, 116, 116, 116, 116, 116, 116, 219, }, + { 134, 82, 99, 99, 131, 116, 126, 116, 116, 116, 116, 99, }, + { 162, 250, 247, 252, 116, 235, 241, 253, 116, 116, 116, 116, }, + { 120, 129, 116, 99, 116, 116, 113, 132, 116, 132, 116, 116, }, + { 99, 236, 254, 250, 237, 165, 141, 238, 116, 235, 116, 238, }, + { 103, 114, 246, 99, 99, 116, 116, 116, 116, 116, 116, 116, }, + }), +}; +#else +const CtxSet ContextSetCfg::SigFlagCtxSetSwitch[] = +{ + ContextSetCfg::addCtxSet + ({ + { 25, 19, 28, 14, 18, 28, 29, 30, 19, 45, 30, 38, }, + { 25, 19, 20, 14, 18, 28, 29, 30, 19, 45, 30, 38, }, + { 17, 26, 27, 29, 9, 42, 28, 37, 33, 44, 36, 45, }, + { 25, 19, 28, 14, 18, 28, 29, 30, 19, 45, 30, 38, }, + { 13, 9, 10, 10, 10, 9, 9, 13, 10, 9, 10, 10, }, + { 13, 9, 9, 10, 10, 9, 10, 13, 9, 9, 10, 10, }, + { 13, 9, 9, 5, 9, 9, 9, 9, DWS, DWS, 9, 10, }, + { 13, 9, 10, 10, 10, 9, 9, 13, 10, 9, 10, 10, }, + { DWE, 4, DWE, 11, DWE, 4, 4, 4, DWE, DWE, 11, 11, }, + { 11, 4, 11, 4, 11, 4, 4, 4, 11, 11, 11, 11, }, + { 11, 11, DWE, 4, 4, DWE, DWE, 4, DWE, 11, DWE, DWE, }, + { DWE, 4, DWE, 11, DWE, 4, 4, 4, DWE, DWE, 11, 11, }, + { 85, 117, 131, 133, 105, 107, 107, 123, 99, 116, 117, 149, }, + { 121, 180, 118, 124, 117, 123, 123, 102, 134, 136, 123, 90, }, + { 85, 117, 131, 133, 105, 107, 107, 123, 99, 116, 117, 149, }, + { 121, 180, 118, 124, 117, 123, 123, 102, 134, 136, 123, 90, }, + { 85, 117, 131, 133, 105, 107, 107, 123, 99, 116, 117, 149, }, + { 121, 180, 118, 124, 117, 123, 123, 102, 134, 136, 123, 90, }, + { 85, 117, 131, 133, 105, 107, 107, 123, 99, 116, 117, 149, }, + { 121, 180, 118, 124, 117, 123, 123, 102, 134, 136, 123, 90, }, + }), + ContextSetCfg::addCtxSet + ({ + { 25, 12, 28, 29, 26, 53, 53, 46, }, + { 25, 12, 28, 29, 34, 53, 45, 38, }, + { 25, 27, 43, 29, 33, 60, 60, 38, }, + { 25, 12, 28, 29, 26, 53, 53, 46, }, + { 13, 13, 10, 10, 6, 5, DWS, DWS, }, + { 13, 12, 10, 12, 5, 5, DWS, DWS, }, + { 9, 9, 5, 13, 4, 1, 4, 13, }, + { 13, 13, 10, 10, 6, 5, DWS, DWS, }, + { DWE, DWE, 11, 4, 11, 4, 4, 11, }, + { DWE, 4, 4, 4, 4, 4, 11, DWE, }, + { DWE, DWE, 4, 4, 25, 4, 11, 25, }, + { DWE, DWE, 11, 4, 11, 4, 4, 11, }, + { 131, 103, 117, 116, 117, 118, 102, 180, }, + { 107, 136, 123, 123, 122, 107, 200, 220, }, + { 131, 103, 117, 116, 117, 118, 102, 180, }, + { 107, 136, 123, 123, 122, 107, 200, 220, }, + { 131, 103, 117, 116, 117, 118, 102, 180, }, + { 107, 136, 123, 123, 122, 107, 200, 220, }, + { 131, 103, 117, 116, 117, 118, 102, 180, }, + { 107, 136, 123, 123, 122, 107, 200, 220, }, + }), + ContextSetCfg::addCtxSet + ({ + { 26, 38, 46, 54, 19, 39, 39, 39, 13, 39, 39, 39, }, + { 26, 38, 46, 54, 19, 39, 39, 39, 28, 39, 39, 39, }, + { 18, 45, 53, 46, 11, 54, 61, 39, 26, 39, 39, 39, }, + { 26, 38, 46, 54, 19, 39, 39, 39, 13, 39, 39, 39, }, + { 9, 13, 12, DWS, DWS, 4, 4, 0, 1, 0, 0, 0, }, + { 9, 13, 12, DWS, DWS, 4, 4, 0, 4, 0, 0, 0, }, + { 9, 13, 12, 9, DWS, DWS, DWS, 4, 0, 0, 0, 0, }, + { 9, 13, 12, DWS, DWS, 4, 4, 0, 1, 0, 0, 0, }, + { 11, 4, 25, 4, 25, 25, 25, 25, 25, 25, 25, 25, }, + { 4, 4, 25, 4, DWE, 25, 25, 25, 25, 25, 25, 25, }, + { 11, 11, DWE, 25, DWE, 25, 25, 25, 11, 25, 25, 25, }, + { 11, 4, 25, 4, 25, 25, 25, 25, 25, 25, 25, 25, }, + { 165, 234, 217, 252, 104, 236, 252, 216, 115, 253, 254, 140, }, + { 117, 234, 117, 83, 117, 146, 130, 99, 164, 116, 116, 116, }, + { 165, 234, 217, 252, 104, 236, 252, 216, 115, 253, 254, 140, }, + { 117, 234, 117, 83, 117, 146, 130, 99, 164, 116, 116, 116, }, + { 165, 234, 217, 252, 104, 236, 252, 216, 115, 253, 254, 140, }, + { 117, 234, 117, 83, 117, 146, 130, 99, 164, 116, 116, 116, }, + { 165, 234, 217, 252, 104, 236, 252, 216, 115, 253, 254, 140, }, + { 117, 234, 117, 83, 117, 146, 130, 99, 164, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ + { 26, 46, 38, 39, 44, 39, 39, 39, }, + { 26, 46, 38, 39, 44, 39, 39, 39, }, + { 33, 45, 38, 31, 4, 39, 39, 39, }, + { 26, 46, 38, 39, 44, 39, 39, 39, }, + { DWS, 12, 12, DWS, 0, 0, 0, 0, }, + { DWS, 12, 12, 4, 0, 0, 0, 0, }, + { DWS, 12, DWS, 7, 1, 0, 0, 0, }, + { DWS, 12, 12, DWS, 0, 0, 0, 0, }, + { DWE, 11, DWE, 25, 25, 25, 25, 25, }, + { DWE, 11, DWE, 25, 25, 25, 25, 25, }, + { 25, 25, 25, DWE, 25, 25, 25, 25, }, + { DWE, 11, DWE, 25, 25, 25, 25, 25, }, + { 164, 235, 235, 236, 115, 185, 253, 118, }, + { 117, 91, 97, 82, 212, 116, 116, 116, }, + { 164, 235, 235, 236, 115, 185, 253, 118, }, + { 117, 91, 97, 82, 212, 116, 116, 116, }, + { 164, 235, 235, 236, 115, 185, 253, 118, }, + { 117, 91, 97, 82, 212, 116, 116, 116, }, + { 164, 235, 235, 236, 115, 185, 253, 118, }, + { 117, 91, 97, 82, 212, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ + { 18, 39, 39, 39, 19, 39, 39, 39, 0, 39, 39, 39, }, + { 18, 39, 39, 39, 19, 39, 39, 39, 0, 39, 39, 39, }, + { 26, 54, 39, 39, 34, 39, 39, 39, 0, 39, 39, 39, }, + { 18, 39, 39, 39, 19, 39, 39, 39, 0, 39, 39, 39, }, + { DWS, DWS, 12, 12, DWS, 0, 0, 0, 0, 0, 0, 0, }, + { DWS, DWS, 12, 12, DWS, 0, 0, 4, 0, 0, 0, 0, }, + { DWS, 4, 4, DWS, DWS, 4, 0, 4, 0, 0, 0, 0, }, + { DWS, DWS, 12, 12, DWS, 0, 0, 0, 0, 0, 0, 0, }, + { DWE, 25, 25, 25, 25, 25, 25, 25, DWE, 25, 25, 25, }, + { 11, 25, 25, 25, DWE, 25, 25, 25, 25, 25, 25, 25, }, + { DWE, 4, 25, DWE, DWE, 25, 25, 25, 25, 25, 25, 25, }, + { DWE, 25, 25, 25, 25, 25, 25, 25, DWE, 25, 25, 25, }, + { 148, 252, 235, 235, 115, 219, 187, 189, 116, 237, 252, 238, }, + { 118, 114, 82, 73, 132, 99, 116, 99, 182, 116, 116, 116, }, + { 148, 252, 235, 235, 115, 219, 187, 189, 116, 237, 252, 238, }, + { 118, 114, 82, 73, 132, 99, 116, 99, 182, 116, 116, 116, }, + { 148, 252, 235, 235, 115, 219, 187, 189, 116, 237, 252, 238, }, + { 118, 114, 82, 73, 132, 99, 116, 99, 182, 116, 116, 116, }, + { 148, 252, 235, 235, 115, 219, 187, 189, 116, 237, 252, 238, }, + { 118, 114, 82, 73, 132, 99, 116, 99, 182, 116, 116, 116, }, + }), + ContextSetCfg::addCtxSet + ({ + { 11, 39, 39, 39, 18, 39, 39, 39, }, + { 11, 39, 39, 39, 18, 39, 39, 39, }, + { 18, 38, 62, 39, 18, 39, 39, 39, }, + { 11, 39, 39, 39, 18, 39, 39, 39, }, + { DWS, DWS, DWS, DWS, 0, 0, 0, 0, }, + { DWS, DWS, DWS, 0, 0, 0, 0, 0, }, + { 6, DWS, 4, 0, 0, 0, 0, 0, }, + { DWS, DWS, DWS, DWS, 0, 0, 0, 0, }, + { DWE, 25, 25, 25, 25, 25, 25, 25, }, + { DWE, 25, 25, DWE, 25, 25, 25, 25, }, + { 25, DWE, 11, 4, 25, 25, 25, 25, }, + { DWE, 25, 25, 25, 25, 25, 25, 25, }, + { 211, 252, 199, 252, 116, 252, 142, 252, }, + { 117, 146, 86, 82, 151, 116, 116, 116, }, + { 211, 252, 199, 252, 116, 252, 142, 252, }, + { 117, 146, 86, 82, 151, 116, 116, 116, }, + { 211, 252, 199, 252, 116, 252, 142, 252, }, + { 117, 146, 86, 82, 151, 116, 116, 116, }, + { 211, 252, 199, 252, 116, 252, 142, 252, }, + { 117, 146, 86, 82, 151, 116, 116, 116, }, + }), +}; +#endif + +const CtxSet ContextSetCfg::ParFlagCtxSetSwitch[] = +{ + ContextSetCfg::addCtxSet + ({ +// ctx 1105 to 1125 + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 33, 25, 18, 26, 34, 27, 25, 26, 19, 42, CNU, 33, 19, 27, CNU, CNU, 34, 42, 20, 43, 20, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 116, 91, 90, 103, 151, 120, 88, 203, 100, 233, 106, 235, 147, DWO, 107, 135, 118, 105, 101, 235, 234, }, + { 133, 115, 117, 164, 116, 164, 118, 180, 169, 106, 185, 100, 136, 134, 165, 135, 243, 216, 201, 227, 105, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1126 to 1136 + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 33, 25, 26, 19, 19, 27, 26, 42, CNU, CNU, CNU, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 25, 11, DWE, 25, DWE, 4, DWE, 25, 11, 4, 4, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 88, 235, 131, 99, 162, 121, 88, 106, 99, 164, 115, }, + { 196, 101, 211, 243, 196, 106, 227, 227, 211, 102, 151, }, + }), +}; + + +#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING +const CtxSet ContextSetCfg::GtxFlagCtxSetSwitch[] = +{ + ContextSetCfg::addCtxSet + ({ +// ctx 1137 to 1165 + { 34, 10, 26, 34, 19, 27, 12, 44, 10, 26, 19, 27, 20, 28, 29, 3, 27, 20, 28, 21, 29, 30, 27, 13, 21, 44, 22, 22, 38, }, + { 58, 2, 10, 3, 11, 4, 4, 20, 2, 26, 19, 4, 20, 28, 29, 18, 27, 43, 28, 29, 21, 22, 42, 28, 5, 29, 30, 22, 38, }, + { 27, 41, 49, 42, 27, 27, 51, 5, 18, 18, 19, 27, 20, 28, 29, 26, 11, 27, 28, 36, 21, 22, 11, 27, 20, 28, 29, 29, 38, }, + { 57, 10, 26, 34, 27, 27, 20, 21, 10, 26, 19, CNU, 20, 28, 29, 3, 27, 20, 13, 29, 29, 30, 27, 13, 21, 52, 22, 22, 38, }, + { 2, 9, 7, 10, 13, 10, 13, 10, 10, 13, 10, 10, 7, 10, 10, 13, 10, 9, 10, 9, 10, 10, 6, 5, 10, 10, 10, 10, 13, }, + { 4, 10, 13, 13, 13, 13, 13, 10, 10, 13, 10, 10, 10, 10, 10, 13, 9, 9, 13, 12, 12, 10, 7, 9, 6, 5, 10, 9, 13, }, + { 5, 10, 7, 3, 6, 4, 12, 5, 9, 9, 12, 13, 13, 13, DWS, 10, 13, 9, 9, 9, 10, 13, 10, 7, 7, DWS, 10, 13, 12, }, + { 4, 13, 7, 13, 13, 10, 13, 7, 10, 13, 10, 10, 10, 10, 10, 12, 9, 9, 9, 13, 13, 10, 7, 9, 6, DWS, 10, 10, 13, }, + { DWE, DWE, 4, 4, 4, 11, 4, DWE, 11, DWE, 4, 11, 4, 4, 11, DWE, 11, 11, DWE, 4, 4, 4, 4, 4, DWE, 25, 4, 4, DWE, }, + { DWE, 25, DWE, 11, 4, 32, 4, DWE, 4, 4, 4, 11, 4, 4, 4, DWE, 4, 4, DWE, 4, 4, 4, 4, 4, 4, 4, 11, 4, 4, }, + { 4, 32, 25, 4, 4, 4, 4, DWE, DWE, 4, DWE, DWE, 11, 11, 11, 25, 32, 11, DWE, DWE, 25, 25, 4, 4, 4, 4, 11, 4, DWE, }, + { DWE, 32, 4, 11, 4, 4, 4, 11, 11, 4, 4, 4, 4, 4, 11, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, }, + { 148, 131, 103, 102, 181, 170, 147, 130, 233, 185, 250, 250, 202, 185, 120, 234, 201, 251, 250, 250, 215, 133, 169, 252, 250, 250, 228, 250, 234, }, + { 117, 162, 116, 100, 84, 100, 106, 209, 102, 90, 99, 84, 103, 88, 88, 98, 87, 85, 84, 84, 84, 90, 146, 100, 98, 83, 82, 113, 66, }, + { 100, 202, 196, 234, 234, 179, 152, 218, 199, 117, 202, 234, 200, DWO, 117, 186, 212, 138, 197, 101, 235, 136, DWO, 213, 203, 252, 227, 216, 218, }, + { 122, 146, 89, 226, 234, 198, 210, 98, 116, 87, 99, 99, 102, 99, 87, 146, 101, 100, 86, 90, 83, 85, 115, 115, 99, 100, 84, 91, 66, }, + { 251, 198, 249, 235, 187, 253, 187, 252, 171, 251, 115, 234, 135, 227, 218, 195, 233, 251, 123, 138, 234, 129, 250, 250, 147, DWO, 103, 162, 104, }, + { 242, 160, 120, 145, 146, 100, 177, 98, 115, 84, 132, 83, 86, 97, 84, 99, 113, 114, 101, 145, 122, 113, 100, 99, 103, 84, 161, 147, 89, }, + { 227, 87, 102, 101, 114, 169, 105, 146, 250, 217, 250, 234, 200, 183, 118, 201, 235, 251, 230, 132, 115, 117, 120, 151, 120, 249, 121, 250, 234, }, + { 147, 101, 226, 84, 115, 89, 87, 130, 130, 85, 99, 99, 90, 99, 86, 100, 101, 88, 89, 163, 71, 102, 103, 89, 104, 84, 130, 85, 65, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1166 to 1180 + { 19, 10, 11, 4, 12, 5, 5, 6, 18, 19, 20, 37, 29, 61, 46, }, + { 33, 10, 11, 3, 4, 19, 4, 37, 10, 19, 44, 52, 13, 61, 23, }, + { CNU, 18, 11, 19, 36, 59, 28, 29, 11, 50, 28, 21, 22, 22, 46, }, + { 11, 26, 19, CNU, 5, 21, 13, 45, 34, 19, 20, 21, 14, 45, 46, }, + { 5, 9, DWS, 9, DWS, 6, DWS, 6, 12, 12, 9, 5, 5, 10, 9, }, + { DWS, 13, 12, 10, 1, 0, 9, 2, 10, 10, 12, DWS, 12, 3, 12, }, + { 4, 4, 13, 3, 9, 12, 3, 13, 6, 0, 0, 12, 0, 13, 0, }, + { 5, DWS, 9, DWS, 4, 4, 9, 10, 10, 13, 13, 7, 9, 13, 10, }, + { 32, 32, DWE, 32, 25, 4, 11, 4, 4, 4, 32, 4, 4, DWE, 11, }, + { 32, 25, 32, DWE, 11, 4, 32, 4, 4, DWE, 25, DWE, 32, DWE, DWE, }, + { 4, 4, 4, 4, 4, DWE, 4, 11, 25, 25, 4, 11, 25, 25, 11, }, + { 4, DWE, 11, 4, 4, 4, 11, DWE, 25, DWE, 32, 4, 4, 25, 4, }, + { 154, 234, 180, 178, 104, 114, 101, 179, 182, 104, 97, 100, 195, 118, 164, }, + { 98, 99, 101, DWO, 242, 137, 106, 148, 84, 132, 219, 218, 103, 216, 101, }, + { 250, 198, 187, 162, 125, 117, 196, 181, 86, 148, 99, 196, 182, 219, 178, }, + { 82, 103, 83, 100, 115, 118, 82, 185, 227, 177, 217, 167, 89, 184, 181, }, + { 99, 124, 105, 115, 161, 88, 132, 169, 250, 248, 251, 70, 117, 184, 237, }, + { 220, 243, 234, 121, 234, 87, 249, 137, 97, 116, 116, 129, 116, 201, 116, }, + { 171, 212, 165, 234, 107, 104, 195, 117, 82, 134, 81, 106, 84, 232, 100, }, + { 115, 147, 100, 103, 109, 104, 230, 118, 150, 101, 218, 146, 215, 100, 169, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1181 to 1209 + { 25, 25, 19, 27, 20, 36, 21, 37, 33, 12, 28, 21, 29, 37, 22, 34, 28, 29, 29, 22, 22, 30, 28, 29, 45, 30, 23, 38, 23, }, + { 25, 25, 11, 27, 20, 28, 13, 21, 18, 12, 28, 13, 29, 29, 22, 34, 28, 29, 37, 22, 22, 30, 13, 29, 45, 30, 15, 38, 23, }, + { 9, 17, 26, 27, CNU, 13, 36, 29, 25, 27, 20, 36, 21, 29, 22, 33, CNU, 36, 21, 37, 14, 30, 19, 36, 37, 45, 30, 38, 46, }, + { 25, 25, 19, 27, 20, 36, 21, 29, 33, 12, 28, 21, 29, 37, 22, 34, 28, 29, 29, 22, 22, 30, 28, 29, 45, 30, 23, 38, 23, }, + { DWS, 9, 9, 10, 13, 13, 13, 10, 13, 13, 13, 13, 13, 13, 13, 9, 9, 10, 10, 13, 13, 13, 10, 9, 10, 10, 12, 13, 13, }, + { 9, 9, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 10, 10, 10, 13, 13, 13, 10, 10, 9, 10, 12, 13, 13, }, + { 12, DWS, DWS, 10, 10, DWS, 13, 5, 9, 9, 10, 13, 13, 13, 13, 9, 9, 13, 12, DWS, DWS, DWS, 6, 9, 9, 9, 9, DWS, 7, }, + { 9, 9, 7, 10, 10, 13, 13, 10, 13, 13, 13, 13, 13, 13, 13, 9, 9, 10, 13, 13, 13, 13, 10, 10, 10, 12, 12, 10, 13, }, + { 4, 11, 4, 4, 11, 4, 4, 11, 4, 11, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 11, 11, 11, 4, 4, 11, 11, }, + { DWE, 4, 4, 4, 11, 11, 4, 11, 4, 4, 4, 4, 11, 4, 4, 4, 4, 4, 4, 11, 4, 4, 4, 11, 4, 4, 11, 11, 11, }, + { DWE, DWE, DWE, 25, DWE, 32, 11, 4, 11, 4, 4, 4, 4, 11, 4, 11, 11, DWE, 11, 4, 11, 11, 4, 11, 11, 11, DWE, DWE, 4, }, + { DWE, 11, 4, 11, 4, 4, 4, DWE, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 4, 4, 4, 4, 11, 4, 11, }, + { 82, 84, 115, 138, 166, 104, 101, 147, 84, 154, 201, 212, DWO, 195, 212, 251, 251, 149, 249, 106, 196, 154, 250, 201, 232, 136, 86, 195, 234, }, + { 166, 105, 117, 99, 103, 228, 134, 210, 102, 101, 106, 229, 200, 234, 84, 107, 100, 121, 99, 102, 131, 66, 85, 84, 99, 167, 218, 214, 66, }, + { 81, 85, 178, 153, 215, 197, 101, 120, 74, 121, 229, 133, 132, 148, 116, 103, 137, 116, 117, 100, 195, 182, 242, 243, 106, 117, 89, 101, 168, }, + { 196, 103, 194, 83, 100, 99, 234, 130, 103, 106, 135, 151, 234, 218, 90, 133, 106, 250, 185, 167, 217, 69, 102, 209, 135, 105, 87, 217, 68, }, + { 218, 83, 118, 129, 169, 106, 234, 234, 99, 115, 242, 100, 89, 229, 178, 115, DWO, 87, 211, 102, 102, 122, 130, 118, 195, 131, 146, 100, 163, }, + { 115, 121, 117, 115, 147, 233, 90, 130, 243, DWO, 122, 106, 135, 233, 185, 117, 115, 183, 137, 182, 252, 87, 118, 100, 180, 164, 184, 169, 115, }, + { 82, 99, 115, 138, 122, 102, 101, 133, 83, 228, 181, 121, 105, 179, 120, 107, 135, 116, 185, 101, 136, 200, 162, 118, 164, 101, 100, 116, 232, }, + { 138, 104, 117, 100, 100, 100, 101, 106, 106, 100, 103, 185, 168, 234, 130, 122, 107, 137, 100, 201, 117, 70, 115, 100, 130, 103, 235, 186, 66, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1210 to 1224 + { 40, 18, 12, 5, 5, 13, 21, 22, 43, 29, 45, 38, 38, 46, 54, }, + { 25, 18, 11, 19, 4, 12, 5, 14, 12, 5, 30, 38, 38, 23, 54, }, + { 17, 33, 12, 20, 59, 21, 29, 45, 42, 29, 53, 46, 54, 54, 54, }, + { 25, 26, 20, 13, 21, 6, 6, 14, 43, 29, 45, 38, 38, 38, 46, }, + { 12, 12, 12, 12, 12, DWS, 13, 13, DWS, DWS, DWS, 13, 4, DWS, 13, }, + { 12, 13, 9, 13, 12, 13, 6, 10, DWS, DWS, 12, 13, 12, 13, 13, }, + { 6, 9, DWS, 7, 12, 7, 13, 10, 4, 2, 3, 13, 0, 2, DWS, }, + { 12, 12, 12, 13, 9, DWS, 12, DWS, DWS, 9, 12, 13, 12, DWS, 13, }, + { 32, 4, DWE, 32, 32, 11, DWE, DWE, 32, DWE, DWE, 32, 4, DWE, 32, }, + { 25, 4, 4, 32, 32, 32, 4, 32, 11, 32, 32, 4, 32, 4, 32, }, + { 4, 11, DWE, 11, 11, DWE, 25, DWE, 25, 4, 4, 11, 25, 4, 25, }, + { DWE, 4, 11, DWE, 11, 11, 11, 4, DWE, 4, DWE, 25, 25, 11, DWE, }, + { 104, 102, 131, 114, 226, 133, 100, 100, 99, 210, 163, 160, 229, 102, 180, }, + { 225, 101, 131, 116, 118, 123, 201, 102, 123, 187, 179, 232, 235, 248, 82, }, + { 66, 82, 103, 130, 148, 215, 216, 103, 195, 178, 177, 84, 99, 133, 134, }, + { 180, 105, 148, 162, 83, 162, 219, 80, 164, 106, 225, 65, 232, 185, 234, }, + { 114, 131, 178, 115, 233, 134, 198, 101, 163, 115, 134, 83, 150, 114, 218, }, + { 117, 103, 236, 234, 66, 231, 116, 145, 147, 235, 115, 169, 116, 114, 82, }, + { 83, 164, 195, 162, 147, 244, 169, 133, 242, 83, 101, 113, 217, 105, 216, }, + { 147, 103, 115, 120, 121, 252, 123, 107, 122, 151, 84, 234, 233, 84, 81, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1225 to 1253 + { 18, 25, 26, 34, 27, 43, 20, 44, 33, 19, 12, 28, 21, 21, 37, 26, 20, 21, 29, 22, 22, 30, 20, 29, 45, 30, 38, 38, 23, }, + { 48, 25, 10, 34, 11, 4, 20, 5, 33, 19, 12, 20, 28, 21, 6, 26, 20, 21, 29, 29, 37, 30, 12, 6, 37, 30, 38, 38, 23, }, + { 26, 25, 26, 34, 19, 12, 20, 13, 25, 26, 27, CNU, 13, 21, 37, 33, 19, 43, 36, 29, 29, 45, 11, 20, 21, 29, 22, 45, 38, }, + { 18, 25, 26, 19, 27, 20, 28, 21, 18, 19, 12, 28, 21, 21, 14, 26, 20, 21, 29, 22, 22, 30, 20, 29, 45, 30, 38, 38, 23, }, + { 9, 12, 10, 13, 10, 13, 13, 10, 13, 12, 13, 12, 9, 13, 10, 10, 10, 10, 10, 12, 13, 13, 10, 10, 10, 10, 9, 12, 13, }, + { 5, 13, 13, 13, 13, 13, 12, 9, 13, 10, 13, 13, 13, 13, 10, 10, 10, 10, 10, 12, 13, 13, 10, 9, 9, 10, 13, 10, 13, }, + { DWS, DWS, 5, 10, 10, 7, 12, DWS, 12, 9, 9, 10, DWS, 10, DWS, DWS, 9, DWS, 12, 13, DWS, DWS, 6, 5, DWS, 12, 6, 9, 12, }, + { 9, 13, 7, 10, 10, 10, 13, 10, 13, 10, 13, 13, 12, 13, 10, 10, 10, 10, 10, 12, 13, 13, 10, DWS, 13, 9, 12, 12, 13, }, + { 32, DWE, 4, 4, 4, 4, 4, DWE, DWE, 4, 11, 4, 4, 4, 4, 4, 4, 4, 4, 11, 4, 4, 4, 11, 4, 4, 4, 4, 11, }, + { 32, 11, DWE, 11, DWE, 4, 4, 11, DWE, 4, 11, 11, 11, 4, 4, 4, 4, 4, 4, 11, 4, 4, 11, 4, 4, 4, DWE, 4, 4, }, + { DWE, 32, DWE, DWE, 25, 4, 4, DWE, DWE, 4, 4, 11, 11, 11, 4, 4, 11, 4, 32, 32, 4, 25, 4, 4, 4, DWE, 4, DWE, 32, }, + { 25, 4, 4, 4, 4, 4, 4, DWE, DWE, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 4, 4, 4, 4, 11, 4, DWE, 4, 4, }, + { 97, 85, 88, 196, 163, 87, 117, 116, 70, 85, 163, 105, 100, 101, 120, 249, 169, 147, 148, 86, 89, 133, 86, 114, 103, 101, 101, 88, 186, }, + { 194, 210, 120, 83, 105, 87, 87, 241, DWO, 170, 147, 123, 250, 199, 99, 106, 100, 170, 168, 186, 217, 82, 131, 105, 138, 234, 219, 233, 67, }, + { 99, 86, 234, 100, 234, 116, 88, 211, 67, 88, 131, 146, 103, 115, 120, 89, 103, 100, 146, 115, 100, 132, 83, 115, 100, 130, 193, 89, 181, }, + { 130, 162, 100, 130, 101, 100, 100, 146, 138, 170, 134, 118, 102, 202, 104, 120, 135, 249, 168, 138, 229, 85, 199, 251, 167, 201, 153, 232, 68, }, + { 251, 148, 130, 166, 133, 242, 219, 252, 169, 104, 115, 250, 85, 98, 165, 124, 100, 101, 99, 85, 106, 252, 106, 115, 115, 87, 146, DWO, 187, }, + { 85, 118, 243, 193, 208, 99, 98, 98, 147, 117, 117, 83, 218, 233, 85, 116, 106, 116, 165, 231, 216, 83, 123, 220, 252, 214, 251, 146, 81, }, + { 97, 71, 100, 100, 104, 100, 87, DWO, 66, 88, 115, 100, 87, 100, 116, 103, 120, 178, 101, 86, 146, 211, 98, 116, 114, 115, 115, 163, 150, }, + { 194, 85, 122, 102, 99, 103, 105, 161, 133, 169, 117, 151, 187, 149, 114, DWO, 122, 215, 122, 219, 234, 83, 183, 170, 186, 251, 235, 235, 72, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1254 to 1268 + { 33, 18, 4, 5, 5, 5, 5, 14, 11, 20, 29, 30, 45, 30, 23, }, + { 10, 25, 18, 11, 3, 4, 5, 5, 18, 5, 37, 7, 60, 15, 54, }, + { 34, 33, 27, 27, 52, 12, 13, 5, 34, 43, 37, 60, 45, 46, 54, }, + { 33, 18, 27, 5, 21, 21, 29, 22, 11, 20, 29, 30, 30, 38, 46, }, + { DWS, 12, DWS, DWS, DWS, 4, 9, 6, 9, DWS, 10, 6, DWS, 13, 12, }, + { 9, 13, 9, DWS, 7, DWS, 12, 0, 10, DWS, 7, 3, 4, 3, 5, }, + { DWS, 12, 6, 13, 3, 3, 12, 13, 2, 0, 0, 0, 3, 0, 4, }, + { DWS, 12, DWS, DWS, DWS, 5, 13, DWS, 13, 9, DWS, 2, 10, 3, 6, }, + { 32, 32, 25, 25, 25, 4, 11, 4, 4, 32, DWE, 4, DWE, 32, DWE, }, + { DWE, 25, 32, 32, 32, 32, DWE, 25, 4, 25, DWE, 4, 32, 4, 11, }, + { 25, 11, DWE, 11, 11, DWE, 4, 25, DWE, DWE, 25, 25, 4, 4, 25, }, + { DWE, 25, 4, 11, 11, 4, 32, 4, DWE, 32, 4, 4, DWE, 4, 4, }, + { 151, 83, 104, 162, 242, 109, 147, 117, 97, 83, 128, 114, 131, 134, 88, }, + { 98, 147, 140, 135, 122, 121, 180, 120, 217, 234, 233, 215, 167, 199, 198, }, + { 101, 225, 116, 130, 147, 194, 235, 236, 145, 114, 98, 163, 99, 243, 114, }, + { 107, 115, 116, 106, 102, 130, 113, 116, 244, 135, 136, 250, 141, 234, 151, }, + { 83, 116, 99, 185, 161, 232, 69, 234, 122, 116, 116, 116, 113, 235, 253, }, + { 107, 131, 251, 234, 186, 138, 227, 176, 132, 212, 116, 116, 199, 116, 232, }, + { 250, 85, 148, 132, 116, 101, 86, 133, 67, 97, 84, 115, 99, 123, 134, }, + { 100, 106, 136, 181, 215, 204, 212, 188, 170, 197, 219, 251, 201, 166, 98, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1269 to 1297 + { 20, 26, 26, 42, 19, 27, CNU, 5, 11, 19, 19, 27, 20, 28, 29, 27, 12, 28, 28, 21, 29, 22, 20, 36, 29, 44, 30, 22, 38, }, + { 61, 33, 18, 10, 3, 11, 42, 43, 18, 11, 19, 27, 20, CNU, 21, 27, 12, 28, 28, 21, 21, 22, 43, 36, 21, 44, 45, 45, 38, }, + { 29, 3, 50, 19, 27, CNU, CNU, 13, 19, 19, 19, 27, 12, 28, 29, 27, 19, CNU, 20, 36, 36, 22, 20, 28, 28, 5, 21, 21, 30, }, + { 59, 26, 26, 19, 19, 12, CNU, 13, 19, 19, 19, 27, 28, 28, 29, 27, 12, 28, 28, 21, 29, 22, 28, 36, 29, 44, 30, 22, 38, }, + { 4, 6, 7, 6, 10, 13, 13, 10, 10, 13, 10, 13, 13, 13, 10, 10, 13, 13, 9, 13, 13, 10, 3, 13, 13, 12, 13, 13, 13, }, + { 4, 5, 10, 12, 13, 12, 12, DWS, 12, 13, 13, 13, 13, 13, 10, 10, 13, 13, 13, 13, 13, 10, 13, 12, 13, 12, 13, 13, 13, }, + { 6, 6, 3, 13, 13, 4, 9, DWS, 1, 5, DWS, 5, 9, 13, 5, 5, DWS, DWS, 13, DWS, DWS, DWS, 2, 10, 7, 10, 9, 12, 13, }, + { 2, DWS, 7, 10, 13, 13, 13, 10, 9, 13, 10, 12, 13, 13, 10, 9, 13, 13, 12, 13, 13, 10, 7, 13, 13, 13, 13, 13, 13, }, + { 4, 25, 4, 4, 4, 4, 4, 25, 32, 11, 4, 11, 4, 4, 11, 11, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 4, 4, 4, }, + { 32, 4, 32, 4, 4, 4, 4, DWE, DWE, 11, 4, 4, 11, 11, 11, DWE, 4, 4, 4, 11, 11, 4, DWE, 4, 4, 4, 4, 11, 4, }, + { 11, DWE, DWE, 4, DWE, 4, 11, 25, 4, 4, 4, 4, DWE, 4, 4, 4, DWE, DWE, 32, 25, DWE, 11, 4, 11, 11, 11, 4, 32, 11, }, + { 4, DWE, 4, 4, 4, 4, 4, 25, 25, 11, 4, 4, 4, 4, DWE, 11, 4, 11, 4, 4, 4, 4, 4, 4, 4, 4, 11, 4, 4, }, + { 106, 170, 120, 219, 198, 218, 202, 168, 86, 82, 249, 234, 183, 218, 185, 83, 218, 184, 235, 234, 234, 234, 134, 229, 122, 235, 120, 233, 234, }, + { 101, 117, 194, 242, 147, 133, 232, 194, 132, 213, 100, 118, 234, 233, 243, 218, 121, 234, 106, 169, 218, 100, 121, 234, 234, 117, 234, 234, 67, }, + { 116, 251, 133, 179, 165, 149, 187, 252, 66, 113, 117, 218, 234, 234, 218, 82, 102, 118, 233, 133, 170, 217, 82, 86, 167, 219, 117, 136, 202, }, + { 253, 195, 230, 82, 201, 178, 200, 200, 228, 183, 184, 234, 185, 199, 229, 249, 200, 234, 234, 234, 234, 137, 232, 235, 201, 229, 234, 233, 90, }, + { 136, 203, 167, 186, 234, 201, 251, 236, 157, 108, 200, 236, 168, 202, 155, 118, 236, 249, 216, 250, 235, 118, 116, 113, 115, 105, 197, 202, 165, }, + { 147, 247, 148, 226, 118, 164, 83, 103, 116, 115, 116, 105, 132, 202, 138, 107, 92, 101, 210, 135, 106, 154, 137, 217, 114, 210, 250, 235, 202, }, + { 123, 164, 118, 90, 218, 90, 234, 168, 87, 83, 218, 219, 212, 234, 168, 83, 136, 181, 235, 218, 234, 233, 99, 103, 104, 233, 163, 102, 218, }, + { 201, 131, 102, 102, 103, 234, 234, 179, 135, 212, 105, 132, 234, 218, 150, 251, 234, 218, 200, 217, 218, 106, 217, 234, 217, 234, 234, 184, 74, }, + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1298 to 1312 + { 5, 3, 4, 4, 12, 5, 20, 14, 34, 19, 12, CNU, 13, 21, 22, }, + { 3, 3, 3, 3, 58, 20, 21, 29, 19, 19, 4, 59, 5, 30, 7, }, + { 4, 11, 12, 12, 43, 28, 36, 5, 52, 52, 29, 5, 13, 45, 7, }, + { 5, 11, 27, 4, 20, 36, 5, 14, 27, 4, 12, 20, 13, 13, 30, }, + { 4, 4, 12, 9, 13, 5, 9, 9, 3, 10, 13, 13, 13, 13, 13, }, + { 7, 13, 7, 12, 0, 13, 13, 5, 6, 13, 9, 12, 12, 12, 13, }, + { 4, 2, 4, 12, 4, 12, 13, 2, 0, 0, 10, 3, 0, DWS, 10, }, + { 12, 4, 4, 4, DWS, 5, 13, 12, 5, 13, 10, 12, 13, 13, 13, }, + { 32, 11, 25, DWE, 32, 4, 4, DWE, 11, 4, 4, 4, 4, DWE, 4, }, + { 4, 32, 32, 4, 4, 25, 25, 32, 32, 25, 4, 4, 4, 32, 32, }, + { 4, 4, DWE, 4, 25, 4, 4, 4, 11, DWE, 4, DWE, DWE, 25, 25, }, + { 4, 4, 4, 4, 11, 4, 32, DWE, 25, DWE, 4, 32, 11, 4, 11, }, + { 140, 217, 226, 244, 99, 107, 86, 123, 115, 114, 66, 104, 89, 200, 167, }, + { 227, 118, 235, 202, 230, 252, 167, 251, 251, 170, 234, 185, 234, 217, 135, }, + { 98, 217, 248, 199, 122, 218, 65, 156, 97, 65, 180, 81, 234, 73, 118, }, + { 100, 99, 114, 74, 132, 122, 202, 130, 117, 233, 218, 235, 217, 234, 233, }, + { 212, 194, 115, 67, 100, 114, 72, 203, 116, 245, 185, 121, 252, 252, 196, }, + { 115, 116, 121, 88, 244, 228, 83, 114, 182, 133, 137, 113, 158, 167, 234, }, + { 73, 139, 221, 252, 154, 252, 229, 133, 114, 82, 114, 225, 202, 234, 231, }, + { 90, 104, 170, 109, 216, 251, 229, 187, 153, 216, 103, 218, 234, 234, 218, }, + }), +}; +#else +const CtxSet ContextSetCfg::GtxFlagCtxSetSwitch[] = +{ + ContextSetCfg::addCtxSet + ({ + { 25, 1, 40, 25, 33, 11, 9, 25, 25, 18, 12, 17, 33, 26, 19, 13, 18, 19, 20, 28, 22, }, + { 17, 0, 9, 25, 25, 26, 1, 25, 25, 18, 12, 17, 33, 26, 19, 13, 33, 19, 20, 28, 22, }, + { 25, 0, 40, 17, 33, 26, 0, 17, 25, 33, 19, 9, 25, 18, 34, 20, 25, 18, 11, 12, 29, }, + { 25, 1, 40, 25, 33, 11, 9, 25, 25, 18, 12, 17, 33, 26, 19, 13, 18, 19, 20, 28, 22, }, + { 4, 13, 10, 10, 10, 5, 12, 9, 9, 9, 5, 13, 9, 9, 9, 9, 6, 9, 9, 9, 9, }, + { 4, 13, 10, 10, 10, 5, 12, 10, 10, 10, 6, 13, 10, 9, 10, 9, 6, DWS, DWS, 9, 10, }, + { 2, DWS, 5, 5, 9, 2, 9, DWS, 9, 12, 5, DWS, 12, DWS, 4, 5, 6, 9, 5, 10, 5, }, + { 4, 13, 10, 10, 10, 5, 12, 9, 9, 9, 5, 13, 9, 9, 9, 9, 6, 9, 9, 9, 9, }, + { 11, 25, DWE, 11, 11, DWE, DWE, 11, 4, 4, 11, 11, 11, 11, 11, 11, 4, DWE, 11, 11, 4, }, + { 25, 25, 11, 11, 4, DWE, DWE, 11, 4, 4, 11, 11, 11, 11, DWE, 11, 4, 11, 11, 11, 4, }, + { 4, 4, 4, DWE, 25, DWE, 4, 4, 4, 11, 11, 4, 25, DWE, 4, 11, 11, 25, 11, 25, 4, }, + { 11, 25, DWE, 11, 11, DWE, DWE, 11, 4, 4, 11, 11, 11, 11, 11, 11, 4, DWE, 11, 11, 4, }, + { 99, 71, 83, 84, 91, 163, 73, 83, 135, 121, 108, 85, 100, 148, 148, 116, 101, 107, 121, 118, 137, }, + { 125, 102, 118, 116, 115, 117, 164, 134, 117, 147, 117, 108, 116, 117, 118, 101, 163, 116, 116, 115, 89, }, + { 99, 71, 83, 84, 91, 163, 73, 83, 135, 121, 108, 85, 100, 148, 148, 116, 101, 107, 121, 118, 137, }, + { 125, 102, 118, 116, 115, 117, 164, 134, 117, 147, 117, 108, 116, 117, 118, 101, 163, 116, 116, 115, 89, }, + { 99, 71, 83, 84, 91, 163, 73, 83, 135, 121, 108, 85, 100, 148, 148, 116, 101, 107, 121, 118, 137, }, + { 125, 102, 118, 116, 115, 117, 164, 134, 117, 147, 117, 108, 116, 117, 118, 101, 163, 116, 116, 115, 89, }, + { 99, 71, 83, 84, 91, 163, 73, 83, 135, 121, 108, 85, 100, 148, 148, 116, 101, 107, 121, 118, 137, }, + { 125, 102, 118, 116, 115, 117, 164, 134, 117, 147, 117, 108, 116, 117, 118, 101, 163, 116, 116, 115, 89, }, + }), + ContextSetCfg::addCtxSet + ({ + { 40, 9, 25, 3, 3, 12, 25, 18, 19, 28, 37, }, + { 17, 1, 17, 2, 3, 4, 25, 18, 11, 12, 14, }, + { 41, 9, 25, 33, 42, 27, 2, 41, 50, 36, 45, }, + { 40, 9, 25, 3, 3, 12, 25, 18, 19, 28, 37, }, + { DWS, 12, DWS, DWS, DWS, 4, 4, DWS, 10, 4, 10, }, + { 4, DWS, 12, DWS, 4, 4, 4, 4, 4, 4, DWS, }, + { 4, DWS, 9, 10, 4, 3, 0, 1, 0, 1, 3, }, + { DWS, 12, DWS, DWS, DWS, 4, 4, DWS, 10, 4, 10, }, + { 25, 25, DWE, 25, 25, 11, 4, 25, 25, 4, 4, }, + { 25, 25, 25, 25, 25, 25, 11, DWE, 25, 11, 4, }, + { DWE, 25, 25, 4, 4, 4, 4, 25, 25, 25, 25, }, + { 25, 25, DWE, 25, 25, 11, 4, 25, 25, 4, 4, }, + { 99, 82, 92, 177, 115, 117, 99, 83, 160, 228, 179, }, + { 242, 195, 212, 117, 118, 103, 149, 123, 180, 123, 122, }, + { 99, 82, 92, 177, 115, 117, 99, 83, 160, 228, 179, }, + { 242, 195, 212, 117, 118, 103, 149, 123, 180, 123, 122, }, + { 99, 82, 92, 177, 115, 117, 99, 83, 160, 228, 179, }, + { 242, 195, 212, 117, 118, 103, 149, 123, 180, 123, 122, }, + { 99, 82, 92, 177, 115, 117, 99, 83, 160, 228, 179, }, + { 242, 195, 212, 117, 118, 103, 149, 123, 180, 123, 122, }, + }), + ContextSetCfg::addCtxSet + ({ + { 25, 25, 19, 27, 20, 29, 33, 12, 28, 21, 22, 34, 28, 29, 29, 30, 28, 29, 45, 30, 23, }, + { 25, 25, 19, 27, 20, 21, 33, 12, 28, 21, 22, 34, 28, 29, 29, 30, 28, 37, 45, 30, 23, }, + { 9, 17, 26, 27, CNU, 21, 25, 19, CNU, 36, 37, 33, CNU, 28, 29, 30, 19, 36, 37, 45, 38, }, + { 25, 25, 19, 27, 20, 29, 33, 12, 28, 21, 22, 34, 28, 29, 29, 30, 28, 29, 45, 30, 23, }, + { 9, 9, 7, 10, 10, 10, 13, 10, 13, 13, 13, 9, 9, 10, 10, 13, 10, DWS, 9, 10, 13, }, + { 9, 6, 7, 10, 10, 10, 13, 10, 13, 13, 13, 9, 10, 10, 13, 13, 9, 9, 10, 9, 13, }, + { 12, DWS, DWS, 12, 10, DWS, 9, 9, 13, 13, 10, 9, 10, 9, DWS, DWS, 5, DWS, 10, DWS, 9, }, + { 9, 9, 7, 10, 10, 10, 13, 10, 13, 13, 13, 9, 9, 10, 10, 13, 10, DWS, 9, 10, 13, }, + { DWE, 11, 4, 4, 4, DWE, 11, 4, 4, 4, DWE, 4, 4, 4, 4, 11, DWE, 11, 4, 11, 11, }, + { DWE, 4, 4, 4, 4, DWE, 4, 4, 4, 4, 11, 4, 4, 4, 4, 11, 11, 11, 11, 4, 11, }, + { DWE, DWE, 11, 25, 25, DWE, 11, 11, DWE, 4, 4, DWE, DWE, 11, 4, 4, 11, 4, DWE, 4, 11, }, + { DWE, 11, 4, 4, 4, DWE, 11, 4, 4, 4, DWE, 4, 4, 4, 4, 11, DWE, 11, 4, 11, 11, }, + { 84, 83, 116, 147, 121, 118, 85, 163, 213, 117, 105, 104, 122, 121, 228, 132, 195, 181, 121, 181, 135, }, + { 179, 117, 116, 100, 101, 116, 117, DWO, 105, 185, 118, 120, 116, 131, 123, 120, 117, 101, 162, 102, 74, }, + { 84, 83, 116, 147, 121, 118, 85, 163, 213, 117, 105, 104, 122, 121, 228, 132, 195, 181, 121, 181, 135, }, + { 179, 117, 116, 100, 101, 116, 117, DWO, 105, 185, 118, 120, 116, 131, 123, 120, 117, 101, 162, 102, 74, }, + { 84, 83, 116, 147, 121, 118, 85, 163, 213, 117, 105, 104, 122, 121, 228, 132, 195, 181, 121, 181, 135, }, + { 179, 117, 116, 100, 101, 116, 117, DWO, 105, 185, 118, 120, 116, 131, 123, 120, 117, 101, 162, 102, 74, }, + { 84, 83, 116, 147, 121, 118, 85, 163, 213, 117, 105, 104, 122, 121, 228, 132, 195, 181, 121, 181, 135, }, + { 179, 117, 116, 100, 101, 116, 117, DWO, 105, 185, 118, 120, 116, 131, 123, 120, 117, 101, 162, 102, 74, }, + }), + ContextSetCfg::addCtxSet + ({ + { 40, 18, 20, 5, 13, 14, 43, 29, 45, 38, 46, }, + { 40, 18, 12, 5, 5, 6, 20, 14, 37, 30, 46, }, + { 17, 33, CNU, 28, 13, 21, 42, 37, 53, 61, 46, }, + { 40, 18, 20, 5, 13, 14, 43, 29, 45, 38, 46, }, + { 12, 13, 9, 12, 12, DWS, DWS, DWS, DWS, 13, 13, }, + { 12, 13, 12, 12, 12, DWS, DWS, DWS, DWS, 10, 12, }, + { DWS, 10, 10, DWS, 7, 12, 4, 3, 0, 0, 4, }, + { 12, 13, 9, 12, 12, DWS, DWS, DWS, DWS, 13, 13, }, + { 25, DWE, 11, 25, 25, 4, DWE, DWE, 11, 25, DWE, }, + { 25, 11, DWE, 25, 25, 25, 11, 25, 25, 25, DWE, }, + { DWE, 25, DWE, 4, 4, 4, 25, 11, 11, 4, 25, }, + { 25, DWE, 11, 25, 25, 4, DWE, DWE, 11, 25, DWE, }, + { 87, 86, 100, 115, 194, 228, 116, 226, 101, 90, 165, }, + { 116, 115, 148, 121, 228, 133, DWO, 219, 148, 213, 99, }, + { 87, 86, 100, 115, 194, 228, 116, 226, 101, 90, 165, }, + { 116, 115, 148, 121, 228, 133, DWO, 219, 148, 213, 99, }, + { 87, 86, 100, 115, 194, 228, 116, 226, 101, 90, 165, }, + { 116, 115, 148, 121, 228, 133, DWO, 219, 148, 213, 99, }, + { 87, 86, 100, 115, 194, 228, 116, 226, 101, 90, 165, }, + { 116, 115, 148, 121, 228, 133, DWO, 219, 148, 213, 99, }, + }), +}; +#endif + +const CtxSet ContextSetCfg::TsSigCoeffGroupCtxSetSwitch = ContextSetCfg::addCtxSet + ({ +// ctx 1313 to 1315 + { 18, 28, 38, }, + { 18, 43, 53, }, + { 11, 20, 30, }, + { 18, 44, 46, }, + { 5, 6, 9, }, + { 5, 5, 5, }, + { 6, 10, 9, }, + { 5, 4, 5, }, + { DWE, DWE, 4, }, + { DWE, 4, 4, }, + { DWE, DWE, 4, }, + { DWE, 4, 4, }, + { DWO, 251, 179, }, + { 163, 249, 101, }, + { 121, 153, 132, }, + { 179, 230, 203, }, + { 116, 169, 136, }, + { 242, 154, 82, }, + { 133, 137, 244, }, + { 147, 251, 156, }, + }); + + +const CtxSet ContextSetCfg::TsSigFlagCtxSetSwitch = ContextSetCfg::addCtxSet + ({ +// ctx 1316 to 1318 + { 25, 28, 30, }, + { 25, 43, 38, }, + { 25, CNU, 37, }, + { 25, 28, 30, }, + { 13, 13, 9, }, + { 13, 13, 5, }, + { 13, 9, 6, }, + { 13, 13, 9, }, + { 4, DWE, 11, }, + { 4, 4, 4, }, + { 4, 4, DWE, }, + { 4, 4, 4, }, + { 72, 234, 99, }, + { 83, 234, 98, }, + { 69, 234, 100, }, + { 83, 234, 108, }, + { 74, 251, 106, }, + { 101, 251, 106, }, + { 68, 234, 85, }, + { 83, 234, 84, }, + }); + + + + +const CtxSet ContextSetCfg::TsParFlagCtxSetSwitch = ContextSetCfg::addCtxSet + ({ +// ctx 1319 + { 4, }, + { 11, }, + { 19, }, + { 19, }, + { 9, }, + { 5, }, + { 9, }, + { DWS, }, + { DWE, }, + { 11, }, + { 11, }, + { DWE, }, + { 131, }, + { 100, }, + { 132, }, + { 108, }, + { 107, }, + { 131, }, + { 117, }, + { 102, }, + }); + +const CtxSet ContextSetCfg::TsGtxFlagCtxSetSwitch = ContextSetCfg::addCtxSet + ({ +// ctx 1320 to 1324 + { CNU, 3, 4, 5, 5, }, + { CNU, 3, 4, 20, 4, }, + { CNU, 3, 3, 4, 4, }, + { CNU, 3, 4, 5, 5, }, + { DWS, 1, 1, 4, 4, }, + { DWS, 1, 1, 4, 1, }, + { DWS, 1, 1, 5, 4, }, + { DWS, 1, 1, 4, 4, }, + { DWE, 11, 11, DWE, DWE, }, + { DWE, 4, 4, DWE, 11, }, + { DWE, 4, 4, DWE, DWE, }, + { DWE, 4, 11, DWE, DWE, }, + { DWO, 164, 244, 243, 243, }, + { DWO, 116, 116, 108, 102, }, + { DWO, 148, 196, 243, 164, }, + { DWO, 116, 117, 109, 117, }, + { DWO, 148, 244, 242, 243, }, + { DWO, 117, 117, 101, 102, }, + { DWO, 244, 180, 243, 243, }, + { DWO, 116, 117, 109, 107, }, + }); + + +const CtxSet ContextSetCfg::TsLrg1FlagCtxSetSwitch = ContextSetCfg::addCtxSet + ({ +// ctx 1325 to 1328 + { 5, 5, 5, 14, }, + { 42, 5, 5, 14, }, + { 4, 5, 13, CNU, }, + { 5, 5, 13, 7, }, + { 4, 1, 1, 5, }, + { 0, 1, 1, 5, }, + { 1, 1, 1, DWS, }, + { 4, 1, 1, 5, }, + { DWE, 11, 11, DWE, }, + { 4, 4, 4, DWE, }, + { 4, 4, 4, DWE, }, + { DWE, 4, 4, DWE, }, + { 117, 243, 243, 242, }, + { 105, 116, 116, 106, }, + { 118, 227, 243, 194, }, + { 118, 116, 116, 108, }, + { 118, 243, 243, DWO, }, + { 117, 116, 116, DWO, }, + { 117, 243, 243, 242, }, + { 105, 116, 116, 107, }, +}); + +const CtxSet ContextSetCfg::TsResidualSignCtxSetSwitch = ContextSetCfg::addCtxSet + ({ +// ctx 1329 to 1334 + { 12, 17, 54, CNU, 33, 38, }, + { 12, 17, 61, 50, 17, 61, }, + { 36, 10, 46, CNU, CNU, CNU, }, + { 12, 9, 46, 27, 41, 38, }, + { 0, 2, 1, 5, 4, DWS, }, + { 0, 5, 1, 7, DWS, 9, }, + { 1, 5, 5, DWS, DWS, DWS, }, + { 0, 2, 1, 4, 4, 12, }, + { 11, 11, 4, DWE, 11, DWE, }, + { 11, 4, 4, 11, DWE, 25, }, + { 4, DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 4, 11, 4, 25, }, + { 116, 115, 148, 117, 118, 118, }, + { 116, 147, 116, 99, 120, 117, }, + { 116, 99, 118, 241, 219, 130, }, + { 116, 108, 115, 113, 131, 183, }, + { 117, 131, 116, DWO, DWO, DWO, }, + { 117, 116, 107, DWO, DWO, DWO, }, + { 132, 115, 118, 120, 132, 179, }, + { 116, 147, 115, 147, 135, 179, }, + }); + + +const CtxSet ContextSetCfg::LastXCtxSetSwitch[] = +{ + ContextSetCfg::addCtxSet + ({ +#if TU_256 +// ctx 1335 to 1370 + { 6, 5, 4, 14, 5, 11, 14, 5, 13, 19, 22, 13, 6, 28, 11, 22, 14, 14, 28, 42, 10, 14, 13, 42, 61, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 6, 5, 4, 7, 5, 3, 7, 6, 13, 10, 30, 14, 21, 4, 10, 37, 51, 37, 6, 3, 61, 15, 21, 7, 39, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 13, 6, 5, 6, 7, 5, 5, 14, 14, 12, 13, 14, 21, 21, 4, 13, 22, 22, 6, 6, 42, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 6, 13, 4, 14, 13, 4, 14, 13, 13, 19, 22, 6, 6, 12, 33, 22, 7, 6, 6, 49, 9, 22, 6, 58, 2, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 9, 5, 5, 6, 6, 4, 6, 1, 0, 0, 6, 1, 1, 0, 0, 2, 1, 1, 0, 1, 4, 1, 4, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 10, 5, 10, 6, 5, 7, 3, 6, 1, 0, 7, 0, 1, 1, 0, 1, 0, 2, 0, 0, 0, 0, 0, 13, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 5, 5, 4, 1, 5, 4, 1, 5, 1, 1, 5, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 9, 5, 5, 6, 5, 4, 6, 6, 0, 0, 6, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 11, 4, 4, 11, 25, 25, 11, 11, DWE, DWE, 11, DWE, 25, 32, 32, 4, DWE, 25, 32, 32, 32, 4, 25, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 4, 25, 11, DWE, 32, 4, 25, DWE, 11, DWE, 4, 25, 32, 25, 4, 4, 25, 32, 32, 32, 4, 32, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 11, 4, 11, DWE, DWE, 11, 25, DWE, 25, 25, 11, 25, 32, 32, DWE, 11, 25, 32, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 11, 11, 11, 25, DWE, 11, 25, 11, DWE, DWE, DWE, 25, 32, DWE, 4, DWE, 25, 32, 32, 11, DWE, 32, DWE, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 131, 117, 135, 235, 154, 116, 251, 141, 120, 132, 251, 141, 125, 244, 132, 139, 125, 117, 138, 147, 102, 235, 253, 246, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 130, 117, 108, 251, 251, 101, 199, 253, 245, 116, 251, 253, 243, 247, 116, 186, 253, 243, 245, 164, 115, 253, 253, 132, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 100, 108, 115, 139, 133, 117, 171, 123, 125, 133, 138, 137, 124, 249, 116, 136, 118, 117, 173, 253, 233, 116, 254, 233, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 99, 147, 106, 251, 147, 106, 247, 242, 164, 116, 234, 214, 147, 131, 116, 249, 213, 243, 132, 116, 116, 133, 116, 234, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 115, 147, 149, 116, 131, 227, 117, 115, 164, 115, 115, 118, 117, 135, 116, 125, 132, 116, 116, 228, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 115, 117, 108, DWO, 139, 108, 148, 162, 244, 115, 148, 197, 131, 179, 116, 228, 182, 248, 116, 212, 148, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 100, 117, 168, 139, 140, 132, 155, 123, DWO, 116, 137, 141, 125, 202, 132, 136, 125, 122, 126, 251, 120, 117, 154, 253, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 99, 147, 102, 245, 212, 101, 243, 243, 181, 116, 243, 244, 163, 164, 116, 150, 228, 131, 116, 165, 116, 244, 132, 123, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, +#else + { 21, 5, 4, 6, 6, 4, 6, 14, 14, 4, 14, 7, 30, 14, 4, 22, 38, 15, 22, 6 }, + { 21, 5, 4, 6, 6, 4, 6, 14, 14, 4, 14, 7, 30, 14, 4, 22, 38, 15, 22, 6 }, + { 21, 6, 12, 14, 7, 4, 14, 7, 6, 4, 14, 7, 14, 6, 5, 14, 7, 14, 14, 22 }, + { 21, 5, 4, 6, 6, 4, 6, 14, 14, 4, 14, 7, 30, 14, 4, 22, 38, 15, 22, 6 }, + { 9, 5, 5, 6, 5, 4, 5, 5, 1, 1, 5, 1, 1, 0, 0, 1, 1, 1, 0, 0 }, + { 9, 5, 5, 6, 5, 4, 5, 5, 1, 1, 5, 1, 1, 0, 0, 1, 1, 1, 0, 0 }, + { 5, 5, 5, 6, 5, 1, 6, 5, 2, 1, 6, 1, 1, 1, 1, 2, 2, 1, 1, 1 }, + { 9, 5, 5, 6, 5, 4, 5, 5, 1, 1, 5, 1, 1, 0, 0, 1, 1, 1, 0, 0 }, + { 25, 18, 18, 18, 25, 25, 18, 25, 18, 32, 25, 18, 25, 18, 32, 18, 18, 25, 32, 32 }, + { 25, 18, 18, 18, 25, 25, 18, 25, 18, 32, 25, 18, 25, 18, 32, 18, 18, 25, 32, 32 }, + { 18, 18, 18, 18, 18, 11, 18, 18, 18, 18, 18, 11, 18, 25, 25, 11, 11, 18, 25, 32 }, + { 25, 18, 18, 18, 25, 25, 18, 25, 18, 32, 25, 18, 25, 18, 32, 18, 18, 25, 32, 32 }, + { 116, 117, 118, 125, 119, 118, 122, 118, 126, 132, 118, 121, 118, 228, 116, 133, 126, 118, 148, 148 }, + { 117, 118, 117, 132, 228, 103, 132, 228, 149, 117, 164, 149, 149, 229, 116, 126, 132, 227, 228, 228 }, + { 116, 117, 118, 125, 119, 118, 122, 118, 126, 132, 118, 121, 118, 228, 116, 133, 126, 118, 148, 148 }, + { 117, 118, 117, 132, 228, 103, 132, 228, 149, 117, 164, 149, 149, 229, 116, 126, 132, 227, 228, 228 }, + { 116, 117, 118, 125, 119, 118, 122, 118, 126, 132, 118, 121, 118, 228, 116, 133, 126, 118, 148, 148 }, + { 117, 118, 117, 132, 228, 103, 132, 228, 149, 117, 164, 149, 149, 229, 116, 126, 132, 227, 228, 228 }, + { 116, 117, 118, 125, 119, 118, 122, 118, 126, 132, 118, 121, 118, 228, 116, 133, 126, 118, 148, 148 }, + { 117, 118, 117, 132, 228, 103, 132, 228, 149, 117, 164, 149, 149, 229, 116, 126, 132, 227, 228, 228 }, +#endif +}), + ContextSetCfg::addCtxSet + ({ +// ctx 1371 to 1373 + { 27, 11, 25, }, + { 43, 58, 48, }, + { 12, 5, 4, }, + { 4, 11, 2, }, + { 5, 4, 4, }, + { 5, 10, 4, }, + { 0, 4, 4, }, + { 5, 4, 4, }, + { 11, DWE, 11, }, + { 11, 32, 4, }, + { 4, 25, 25, }, + { 11, DWE, DWE, }, + { 124, 118, 118, }, + { 136, 118, 101, }, + { 147, 161, 109, }, + { 213, 132, 105, }, + { DWO, 134, 136, }, + { 133, 131, 100, }, + { 132, 117, DWO, }, + { 118, 116, 101, }, + }), +}; + +const CtxSet ContextSetCfg::LastYCtxSetSwitch[] = +{ + ContextSetCfg::addCtxSet + ({ +#if TU_256 +// ctx 1374 to 1409 + { 21, 13, 12, 14, 6, 19, 22, 14, 4, 26, 22, 14, 12, 5, 11, 30, 22, 20, 5, 4, 4, 22, 13, 5, 39, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 6, 13, CNU, 14, 6, 19, 7, 14, 5, 19, 22, 22, 5, 12, 3, 44, 44, 6, 19, 4, 61, 28, 13, 39, 39, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 5, 13, 20, 13, 6, 20, 13, 14, 5, 27, 28, 7, 13, 27, 19, 43, 30, 21, 36, 6, 3, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { 6, 13, 12, 22, 14, 4, 22, 14, 5, 11, 22, 22, 13, 5, 34, 30, 15, 14, 21, 19, 2, 14, 29, 13, 9, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, }, + { DWS, 5, 9, 7, 6, 5, 6, 5, 1, 0, 6, 5, 1, 0, 0, 2, 2, 1, 0, 3, 0, 3, 0, 4, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 9, 5, 13, 6, 6, 6, 6, 5, 6, 0, 6, 5, 1, 0, 0, 2, 2, 0, 0, 1, 0, 2, 1, 12, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 5, 4, 4, 1, 4, 4, 5, 5, 4, 1, 1, 2, 0, 0, 0, 1, 1, 0, 3, 0, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 9, 5, 13, 6, 5, 9, 6, 5, 1, 0, 6, 5, 1, 1, 0, 2, 2, 2, 0, 1, 0, 1, 0, 4, 0, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, DWS, }, + { 11, 4, 4, 11, 11, 4, 11, 4, 11, 11, DWE, 11, 11, 32, 32, 4, 4, 11, 32, 32, 32, 11, 4, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 4, 32, 11, 11, DWE, 11, 11, 25, 4, 11, 4, 4, DWE, 25, 11, 4, 4, 11, 32, 25, DWE, 32, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 4, 4, 4, 11, 11, DWE, DWE, 32, DWE, 11, 4, 11, 32, 32, 25, DWE, DWE, 32, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { DWE, 4, 32, DWE, 11, 25, DWE, 11, 11, 4, DWE, 11, 11, 25, 25, 11, 4, DWE, DWE, 32, 32, 4, 11, 32, 32, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, DWE, }, + { 117, 124, 149, 216, 135, 108, 155, 121, 253, 149, 169, DWO, 141, 151, 116, 138, 124, 157, 126, 251, 116, 170, 254, 237, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 100, 118, 132, 162, 251, 164, 180, 250, 253, 117, 122, 229, 253, 254, 116, 213, 166, 253, 253, 251, 116, 214, 254, 99, 196, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 114, 148, 113, 147, 131, 116, 117, 117, 137, 133, 138, 107, 123, 156, 148, 133, 120, 141, 202, 214, 116, 154, 253, 65, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 116, 117, 130, 214, 131, 115, 244, 118, 251, 118, 196, 164, 245, 229, 116, 165, 117, 254, 149, 131, 196, 130, 231, 234, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 116, 149, 140, 117, 244, 180, 115, 116, 117, 227, 148, 115, 125, 140, 132, 124, 123, 118, 113, 116, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 131, 102, 102, 118, 180, 102, 147, 244, 244, 115, 148, 252, 245, 244, 116, 163, 154, 149, 231, 229, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 114, 117, 146, 131, 117, 103, 123, 117, 157, 117, 132, 108, 139, 157, 116, 131, 116, 120, 118, 231, 116, DWO, 133, 196, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, + { 178, 132, 224, 138, 213, 115, 138, 118, 253, 132, 120, 243, 253, 253, 116, 248, 211, 252, 245, 244, 153, 131, 254, 250, 116, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, DWO, }, +#else + { 13, 5, 4, 14, 6, 11, 14, 14, 5, 11, 14, 7, 6, 5, 3, 22, 38, 22, 14, 5 }, + { 13, 5, 4, 14, 6, 11, 14, 14, 5, 11, 14, 7, 6, 5, 3, 22, 38, 22, 14, 5 }, + { 5, 5, 20, 6, 6, 4, 6, 14, 5, 12, 14, 7, 13, 5, 20, 21, 7, 6, 5, 28 }, + { 13, 5, 4, 14, 6, 11, 14, 14, 5, 11, 14, 7, 6, 5, 3, 22, 38, 22, 14, 5 }, + { 9, 5, 8, 6, 5, 4, 6, 5, 4, 0, 6, 6, 1, 4, 0, 1, 1, 1, 1, 0 }, + { 9, 5, 8, 6, 5, 4, 6, 5, 4, 0, 6, 6, 1, 4, 0, 1, 1, 1, 1, 0 }, + { 6, 5, 5, 6, 5, 5, 6, 6, 5, 1, 2, 6, 1, 1, 0, 2, 2, 1, 0, 0 }, + { 9, 5, 8, 6, 5, 4, 6, 5, 4, 0, 6, 6, 1, 4, 0, 1, 1, 1, 1, 0 }, + { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 25, 25, 18, 32, 32, 18, 18, 25, 32, 32 }, + { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 25, 25, 18, 32, 32, 18, 18, 25, 32, 32 }, + { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 4, 18, 11, 18, 25, 11, 4, 11, 11, 25 }, + { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 25, 25, 18, 32, 32, 18, 18, 25, 32, 32 }, + { 116, 120, 118, 119, 123, 118, 118, 124, 119, 132, 117, 116, 124, 134, 116, 126, 118, 119, 118, 196 }, + { 116, 118, 118, 126, 228, 117, 116, 147, 230, 117, 132, 195, 165, 229, 116, 118, 123, 149, 228, 228 }, + { 116, 120, 118, 119, 123, 118, 118, 124, 119, 132, 117, 116, 124, 134, 116, 126, 118, 119, 118, 196 }, + { 116, 118, 118, 126, 228, 117, 116, 147, 230, 117, 132, 195, 165, 229, 116, 118, 123, 149, 228, 228 }, + { 116, 120, 118, 119, 123, 118, 118, 124, 119, 132, 117, 116, 124, 134, 116, 126, 118, 119, 118, 196 }, + { 116, 118, 118, 126, 228, 117, 116, 147, 230, 117, 132, 195, 165, 229, 116, 118, 123, 149, 228, 228 }, + { 116, 120, 118, 119, 123, 118, 118, 124, 119, 132, 117, 116, 124, 134, 116, 126, 118, 119, 118, 196 }, + { 116, 118, 118, 126, 228, 117, 116, 147, 230, 117, 132, 195, 165, 229, 116, 118, 123, 149, 228, 228 }, +#endif + }), + ContextSetCfg::addCtxSet + ({ +// ctx 1410 to 1412 + { 19, 11, 41, }, + { 42, 19, 48, }, + { 4, 21, 43, }, + { 11, 4, 18, }, + { 6, 6, 5, }, + { 6, 10, 9, }, + { 0, 4, 0, }, + { 5, 5, 5, }, + { DWE, 25, 25, }, + { DWE, 32, 32, }, + { 4, 25, 11, }, + { DWE, 25, 25, }, + { 116, 123, 118, }, + { 146, 115, 115, }, + { 116, 115, 150, }, + { 122, 240, 113, }, + { 118, 118, 250, }, + { 164, 163, 116, }, + { 108, 117, 149, }, + { 115, 130, 104, }, + }), +}; +#endif + + +const CtxSet ContextSetCfg::MVPIdx = ContextSetCfg::addCtxSet({ +// ctx 1413 + { 34, }, + { 27, }, + { 41, }, + { 34, }, + { 9, }, + { 9, }, + { 13, }, + { 10, }, + { 4, }, + { 4, }, + { 25, }, + { 4, }, + { 226, }, + { 104, }, + { 90, }, + { DWO, }, + { 113, }, + { 99, }, + { 100, }, + { 106, }, +}); + +const CtxSet ContextSetCfg::amFlagState = ContextSetCfg::addCtxSet({ +// ctx 1414 + { 40, }, + { 26, }, + { CNU, }, + { 18, }, + { 5, }, + { 5, }, + { DWS, }, + { 5, }, + { 11, }, + { 4, }, + { DWE, }, + { 4, }, + { DWO, }, + { 105, }, + { 118, }, + { 104, }, + { DWO, }, + { DWO, }, + { 108, }, + { 104, }, +}); + +const CtxSet ContextSetCfg::SmvdFlag = ContextSetCfg::addCtxSet({ +// ctx 1415 + { CNU, }, + { 36, }, + { CNU, }, + { 43, }, + { 0, }, + { 4, }, + { DWS, }, + { 1, }, + { 4, }, + { 11, }, + { DWE, }, + { 4, }, + { 126, }, + { 117, }, + { 121, }, + { 100, }, + { DWO, }, + { DWO, }, + { 125, }, + { 117, }, +}); + +#if JVET_AG0098_AMVP_WITH_SBTMVP +const CtxSet ContextSetCfg::amvpSbTmvpFlag = ContextSetCfg::addCtxSet({ +// ctx 1416 to 1417 + { 40, 0, }, + { 33, 58, }, + { CNU, CNU, }, + { 40, 4, }, + { 2, 0, }, + { 2, 1, }, + { DWS, DWS, }, + { 2, 1, }, + { 32, DWE, }, + { 11, 4, }, + { DWE, DWE, }, + { DWE, 4, }, + { 122, 251, }, + { 114, 116, }, + { 131, 133, }, + { 162, 116, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 118, 124, }, + { 130, 117, }, +}); + +const CtxSet ContextSetCfg::amvpSbTmvpMvdIdx = ContextSetCfg::addCtxSet({ +// ctx 1418 to 1420 + { 20, 27, 0, }, + { 19, 34, 59, }, + { CNU, CNU, CNU, }, + { 5, 4, 45, }, + { 0, 5, 10, }, + { 5, DWS, DWS, }, + { DWS, DWS, DWS, }, + { 2, 4, 5, }, + { 4, 4, 32, }, + { DWE, 25, 11, }, + { DWE, DWE, DWE, }, + { 4, 11, DWE, }, + { 140, 123, 250, }, + { 133, 117, 88, }, + { 114, 252, 202, }, + { 131, 85, 84, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 122, 253, 100, }, + { 148, 101, 251, }, +}); +#endif + +const CtxSet ContextSetCfg::SaoMergeFlag = ContextSetCfg::addCtxSet({ +// ctx 1421 + { 10, }, + { 61, }, + { 61, }, + { 10, }, + { 0, }, + { 0, }, + { 0, }, + { 0, }, + { 4, }, + { 4, }, + { 4, }, + { 4, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 133, }, + { 116, }, + { 116, }, +}); + +const CtxSet ContextSetCfg::SaoTypeIdx = ContextSetCfg::addCtxSet({ +// ctx 1422 + { 10, }, + { 3, }, + { 4, }, + { 10, }, + { 0, }, + { 6, }, + { 1, }, + { 1, }, + { DWE, }, + { 32, }, + { 32, }, + { DWE, }, + { 158, }, + { 132, }, + { 251, }, + { 251, }, + { 253, }, + { 253, }, + { 167, }, + { 245, }, +}); + +const CtxSet ContextSetCfg::BifCtrlFlags[3] = { + ContextSetCfg::addCtxSet({ +// ctx 1423 + { 30, }, + { 15, }, + { 38, }, + { 30, }, + { 1, }, + { 1, }, + { 1, }, + { 1, }, + { 4, }, + { 4, }, + { 4, }, + { 4, }, + { 115, }, + { 115, }, + { 115, }, + { 115, }, + { 115, }, + { 115, }, + { 115, }, + { 115, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 1424 + { 37, }, + { 37, }, + { 29, }, + { 37, }, + { 0, }, + { 0, }, + { 0, }, + { 0, }, + { 4, }, + { 4, }, + { 4, }, + { 4, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 1425 + { 37, }, + { 37, }, + { 21, }, + { 37, }, + { 0, }, + { 0, }, + { 0, }, + { 0, }, + { 4, }, + { 4, }, + { 4, }, + { 4, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + { 116, }, + }), +}; + +const CtxSet ContextSetCfg::CcSaoControlIdc = ContextSetCfg::addCtxSet({ +// ctx 1426 to 1434 + { 26, 46, 62, 25, 46, 62, 25, 46, 62, }, + { 4, 54, 62, 11, 61, 39, 18, 61, 62, }, + { 59, 46, 62, 20, 54, 62, 61, 62, 62, }, + { 19, 46, 54, 4, 54, 62, 18, 46, 62, }, + { 5, 0, 4, 10, 0, 0, 10, 0, 0, }, + { 7, 0, 1, 7, 0, 0, 10, 0, 0, }, + { 0, 0, DWS, 0, 1, 4, 0, 1, 0, }, + { 10, 0, 1, 6, 0, 0, 13, 0, 0, }, + { DWE, 25, 11, DWE, 25, 4, DWE, DWE, 4, }, + { DWE, 11, 4, 25, DWE, 4, DWE, DWE, 11, }, + { 32, DWE, 11, 32, 25, 11, 32, DWE, 4, }, + { 32, 11, 4, DWE, DWE, 4, 25, DWE, 4, }, + { 98, 116, 124, 80, 116, DWO, 80, 116, 124, }, + { 251, 117, 99, 194, 165, 116, 146, 244, 116, }, + { 97, 116, 121, 100, 132, 120, 81, 132, 150, }, + { 198, 244, 115, 183, 244, 116, 213, 165, 132, }, + { 116, 164, 105, 116, 115, 151, 116, 131, 185, }, + { 254, 164, 146, 254, 141, 99, 252, 151, 116, }, + { 81, 116, 125, 97, 116, 135, 66, 116, 135, }, + { 150, 148, 115, 229, 244, 116, 163, 148, 116, }, +}); + +#if JVET_AJ0249_NEURAL_NETWORK_BASED +const CtxSet ContextSetCfg::LFNSTIdx = ContextSetCfg::addCtxSet({ +// ctx 1435 to 1439 + { 51, 43, 58, 42, 42, }, + { 36, 58, 51, CNU, 43, }, + { CNU, 58, 50, 42, 42, }, + { 51, 43, 58, 42, 27, }, + { 10, 9, 5, 12, DWS, }, + { 10, DWS, 6, 13, 12, }, + { DWS, 9, 5, 10, 5, }, + { 10, 9, 5, 12, DWS, }, + { 4, 4, 11, 4, DWE, }, + { 4, 4, 11, 11, 32, }, + { DWE, 4, 4, 4, 11, }, + { 4, 4, 11, 4, DWE, }, + { 104, DWO, 121, 154, 153, }, + { 118, 116, 102, 88, 90, }, + { 116, 121, 116, 101, 102, }, + { 116, 118, 115, 117, 193, }, + { DWO, 118, 132, 118, 132, }, + { DWO, 107, 116, 116, 101, }, + { 194, 132, 117, 107, 118, }, + { 118, 179, 116, 89, 100, }, +}); +#else +const CtxSet ContextSetCfg::LFNSTIdx = ContextSetCfg::addCtxSet({ +// ctx 1424 1427 + { 51, 35, 43, 42 }, + { 36, 35, 51, 35 }, + { 35, 43, 50, 42 }, + { 51, 35, 43, 42 }, + { 10, 8, 5, 12 }, + { 10, 8, 6, 13 }, + { 8, 9, 5, 10 }, + { 10, 8, 5, 12 }, + { 4, 18, 11, 4 }, + { 4, 18, 11, 11 }, + { 18, 4, 4, 4 }, + { 4, 18, 11, 4 }, + { 105, 119, 118, 152 }, + { 122, 119, 103, 88 }, + { 116, 119, 116, 101 }, + { 116, 119, 115, 117 }, + { 119, 118, 132, 121 }, + { 119, 107, 116, 116 }, + { 194, 122, 116, 118 }, + { 119, 116, 116, 91 }, +}); +#endif + +#if JVET_AG0061_INTER_LFNST_NSPT +const CtxSet ContextSetCfg::InterLFNSTIdx = ContextSetCfg::addCtxSet({ +// ctx 1440 to 1442 + { 42, 28, CNU, }, + { CNU, 36, 43, }, + { CNU, CNU, CNU, }, + { CNU, 28, CNU, }, + { 5, 10, 10, }, + { 5, 10, 13, }, + { DWS, DWS, DWS, }, + { 6, 10, 10, }, + { 11, 4, 4, }, + { 4, 4, 4, }, + { DWE, DWE, DWE, }, + { 11, 4, 4, }, + { 108, 234, 250, }, + { 117, 87, 99, }, + { 108, 122, 106, }, + { 116, 118, 102, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 116, 122, 169, }, + { 116, 105, 106, }, +}); +#endif + +const CtxSet ContextSetCfg::PLTFlag = ContextSetCfg::addCtxSet({ +// ctx 1443 + { 0, }, + { 0, }, + { 25, }, + { 0, }, + { 0, }, + { 0, }, + { 2, }, + { 0, }, + { DWE, }, + { DWE, }, + { 25, }, + { 4, }, + { 116, }, + { 116, }, + { 116, }, + { 183, }, + { 121, }, + { 132, }, + { 116, }, + { 116, }, +}); + +const CtxSet ContextSetCfg::RotationFlag = ContextSetCfg::addCtxSet({ +// ctx 1444 + { 43, }, + { 0, }, + { CNU, }, + { 51, }, + { 3, }, + { 4, }, + { 2, }, + { 2, }, + { 25, }, + { 32, }, + { 11, }, + { 32, }, + { 161, }, + { 216, }, + { 103, }, + { 99, }, + { 130, }, + { 124, }, + { 114, }, + { 167, }, +}); + +const CtxSet ContextSetCfg::RunTypeFlag = ContextSetCfg::addCtxSet({ +// ctx 1445 + { 37, }, + { 0, }, + { 42, }, + { 58, }, + { 4, }, + { 0, }, + { 9, }, + { 1, }, + { DWE, }, + { 11, }, + { 32, }, + { 4, }, + { 101, }, + { 197, }, + { 166, }, + { 236, }, + { 107, }, + { 242, }, + { 116, }, + { 132, }, +}); + +const CtxSet ContextSetCfg::IdxRunModel = ContextSetCfg::addCtxSet({ +// ctx 1446 to 1450 + { 60, 46, 46, 46, 46, }, + { 0, 0, 0, 0, 0, }, + { 50, 37, 45, 30, 46, }, + { 44, 53, 53, 30, 46, }, + { 0, 4, 5, 4, DWS, }, + { 0, 0, 0, 0, 4, }, + { 5, 2, 6, 10, 5, }, + { 4, 1, 6, 0, 2, }, + { 4, 11, DWE, 32, 11, }, + { 32, 25, 32, 32, 32, }, + { 11, 4, 4, DWE, DWE, }, + { 11, 4, DWE, 4, 11, }, + { 116, 131, 114, 211, 132, }, + { 141, 200, 195, 132, 84, }, + { 254, 254, 228, 172, 231, }, + { 141, 116, 116, 116, 99, }, + { 252, 118, 115, 102, 116, }, + { 252, 124, 118, 106, 117, }, + { 199, 116, 241, 245, 116, }, + { 250, 117, 251, 124, 179, }, +}); + +const CtxSet ContextSetCfg::CopyRunModel = ContextSetCfg::addCtxSet({ +// ctx 1451 to 1453 + { 46, 54, 39, }, + { 0, 0, 0, }, + { 39, 38, 54, }, + { 31, 31, 39, }, + { 0, 5, DWS, }, + { 0, 0, 4, }, + { 0, 5, DWS, }, + { 0, 1, DWS, }, + { 4, DWE, DWE, }, + { 25, 32, 32, }, + { 32, 11, DWE, }, + { 25, 4, DWE, }, + { 165, 108, 151, }, + { 117, 235, 83, }, + { 116, 116, 253, }, + { 116, 116, 99, }, + { 116, 122, 134, }, + { 116, 131, 99, }, + { 124, 139, 198, }, + { 116, 132, 99, }, +}); + +const CtxSet ContextSetCfg::TransformSkipFlag = ContextSetCfg::addCtxSet({ +// ctx 1454 to 1455 + { 25, 1, }, + { 25, 1, }, + { 25, 9, }, + { 25, 1, }, + { 5, 5, }, + { 5, 6, }, + { 5, 5, }, + { 2, 5, }, + { 32, DWE, }, + { DWE, 25, }, + { 25, 25, }, + { DWE, DWE, }, + { 108, 99, }, + { 114, 114, }, + { 100, 98, }, + { 162, 101, }, + { 108, 101, }, + { 162, 114, }, + { 117, 99, }, + { 146, 114, }, +}); + +const CtxSet ContextSetCfg::MTSIdx = ContextSetCfg::addCtxSet({ +// ctx 1456 to 1459 + { 50, 45, 38, CNU, }, + { 44, 46, 46, CNU, }, + { 34, 53, 38, CNU, }, + { CNU, 45, 38, CNU, }, + { DWS, 9, 6, DWS, }, + { 13, 10, DWS, DWS, }, + { DWS, 9, DWS, DWS, }, + { 9, 9, 6, DWS, }, + { 11, DWE, 11, DWE, }, + { DWE, 32, 4, DWE, }, + { 11, DWE, 11, DWE, }, + { 11, 32, 11, DWE, }, + { 116, 131, 147, DWO, }, + { 132, 150, 98, DWO, }, + { 130, 133, 133, DWO, }, + { 100, 87, 98, DWO, }, + { 85, 133, 149, DWO, }, + { 154, 99, 83, DWO, }, + { 243, 122, 227, DWO, }, + { 101, 102, 98, DWO, }, +}); + +const CtxSet ContextSetCfg::ISPMode = ContextSetCfg::addCtxSet({ +// ctx 1460 to 1462 + { 33, 43, 0, }, + { 33, 43, 0, }, + { 41, 43, 0, }, + { 33, 43, 0, }, + { 5, 1, 0, }, + { 5, 1, 0, }, + { 9, 1, 0, }, + { 5, 1, 0, }, + { DWE, 11, 32, }, + { 4, 4, 32, }, + { DWE, 4, 32, }, + { 4, 4, 32, }, + { 108, 243, 116, }, + { 147, 117, 116, }, + { 104, 118, 116, }, + { 227, 163, 116, }, + { 113, 117, 116, }, + { 162, 117, 116, }, + { 124, 117, 116, }, + { 163, 243, 116, }, +}); + +const CtxSet ContextSetCfg::SbtFlag = ContextSetCfg::addCtxSet({ +// ctx 1463 to 1464 + { 48, 48, }, + { 41, 56, }, + { CNU, CNU, }, + { 40, 48, }, + { 2, 6, }, + { 2, 6, }, + { DWS, DWS, }, + { 3, 6, }, + { 11, 11, }, + { 4, 4, }, + { DWE, DWE, }, + { 4, 4, }, + { 123, 101, }, + { 131, 131, }, + { 117, 105, }, + { 117, 117, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 122, 105, }, + { 116, 116, }, +}); + +const CtxSet ContextSetCfg::SbtQuadFlag = ContextSetCfg::addCtxSet({ +#if JVET_AJ0260_SBT_CORNER_MODE +// 0 - half/quarter flag +// 1 - rectangular +// 2 - quad +// 3 - quarter + +// ctx 1465 to 1468 + { CNU, 21, 43, CNU, }, + { CNU, 28, 43, CNU, }, + { CNU, CNU, CNU, CNU, }, + { 50, 36, 43, 50, }, + { 12, 10, 10, 10, }, + { 10, DWS, 9, 10, }, + { DWS, DWS, DWS, DWS, }, + { 10, 12, 12, 10, }, + { 4, 25, 32, 4, }, + { 11, 11, 25, 11, }, + { DWE, DWE, DWE, DWE, }, + { 4, DWE, 25, 4, }, + { 83, 249, 250, 130, }, + { 106, 98, 81, 102, }, + { 106, 236, 187, DWO, }, + { 104, 86, 98, 100, }, + { DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { 90, 122, 153, 102, }, + { 116, 75, 73, 100, }, +#else + { 35 }, + { 35 }, + { 35 }, + { 50 }, + { 10 }, + { 10 }, + { 8 }, + { 10 }, + { 4 }, + { 11 }, + { 18 }, + { 4 }, + { 130 }, + { 102 }, + { 119 }, + { 100 }, + { 119 }, + { 119 }, + { 102 }, + { 100 }, +#endif +}); + +const CtxSet ContextSetCfg::SbtHorFlag = ContextSetCfg::addCtxSet({ +// ctx 1469 to 1471 + { 20, 58, 5, }, + { CNU, 51, 27, }, + { CNU, CNU, CNU, }, + { 20, 58, 5, }, + { 4, 5, 3, }, + { 6, 7, 5, }, + { DWS, DWS, DWS, }, + { 6, 5, 2, }, + { 11, 25, 25, }, + { 11, DWE, DWE, }, + { DWE, DWE, DWE, }, + { 11, 11, DWE, }, + { 107, 133, 115, }, + { 104, 107, 130, }, + { 101, 129, 102, }, + { 117, 115, 131, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 100, 195, 115, }, + { 116, 102, 132, }, +}); + +const CtxSet ContextSetCfg::SbtPosFlag = ContextSetCfg::addCtxSet({ +#if JVET_AJ0260_SBT_CORNER_MODE +// 0 - rectangular mode (anchor) +// 1,2 - quad +// 3,4 - quarter + +// ctx 1472 to 1476 + { 28, 28, 28, 36, 36, }, + { 20, 20, 20, 43, 28, }, + { CNU, CNU, CNU, CNU, CNU, }, + { 28, 20, 28, 28, 21, }, + { 13, 13, 13, 12, 12, }, + { 13, 13, 13, 13, 13, }, + { DWS, DWS, DWS, DWS, DWS, }, + { 13, 13, 13, 13, 13, }, + { 4, 4, 4, 4, 11, }, + { 4, 4, 4, DWE, 25, }, + { DWE, DWE, DWE, DWE, DWE, }, + { 4, 4, 11, DWE, 32, }, + { 90, 100, 115, 235, 148, }, + { 146, 106, 163, 99, 130, }, + { 100, 138, 101, 234, 138, }, + { 85, 101, 100, 88, 99, }, + { DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, }, + { 90, 135, 100, 234, 106, }, + { 114, 115, 90, 87, 98, }, +#else + { 28 }, + { 20 }, + { 35 }, + { 20 }, + { 13 }, + { 13 }, + { 8 }, + { 13 }, + { 11 }, + { 4 }, + { 18 }, + { 11 }, + { 84 }, + { 163 }, + { 83 }, + { 122 }, + { 119 }, + { 119 }, + { 83 }, + { 103 }, +#endif +}); + +const CtxSet ContextSetCfg::ChromaQpAdjFlag = ContextSetCfg::addCtxSet({ +// ctx 1477 + { CNU, }, + { CNU, }, + { CNU, }, + { CNU, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, +}); + +const CtxSet ContextSetCfg::DimdFlag = ContextSetCfg::addCtxSet({ +// ctx 1478 to 1480 + { 40, CNU, CNU, }, + { 40, CNU, CNU, }, + { 25, CNU, CNU, }, + { 40, CNU, CNU, }, + { 9, DWS, DWS, }, + { 5, DWS, DWS, }, + { 6, DWS, DWS, }, + { DWS, DWS, DWS, }, + { 11, DWE, DWE, }, + { 4, DWE, DWE, }, + { 4, DWE, DWE, }, + { 4, DWE, DWE, }, + { 132, DWO, DWO, }, + { 103, DWO, DWO, }, + { 99, DWO, DWO, }, + { 133, DWO, DWO, }, + { 115, DWO, DWO, }, + { 163, DWO, DWO, }, + { 179, DWO, DWO, }, + { 244, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::TimdFlag = ContextSetCfg::addCtxSet({ +// ctx 1481 to 1483 + { 41, 34, 34, }, + { 26, 42, 58, }, + { 49, 50, 50, }, + { 41, 49, 50, }, + { 6, 10, 12, }, + { 6, 10, 3, }, + { 6, 6, 2, }, + { DWS, 9, DWS, }, + { 4, 11, 32, }, + { 11, 25, 25, }, + { 4, 4, 4, }, + { 11, 11, 32, }, + { 100, 82, 137, }, + { 135, 227, 145, }, + { 98, 82, 113, }, + { 167, 150, 250, }, + { 105, 100, 139, }, + { 134, 151, 118, }, + { 85, 102, 100, }, + { 124, 147, 147, }, +}); + +#if JVET_AJ0061_TIMD_MERGE +const CtxSet ContextSetCfg::TimdMrgFlag = ContextSetCfg::addCtxSet +({ +// ctx 1484 to 1485 + { 42, 42, }, + { 42, 42, }, + { 19, 34, }, + { 27, 42, }, + { 10, DWS, }, + { 9, DWS, }, + { DWS, DWS, }, + { 9, 12, }, + { 32, 32, }, + { 32, 32, }, + { DWE, DWE, }, + { 32, 32, }, + { 98, 88, }, + { 151, 234, }, + { 98, 83, }, + { 137, 236, }, + { 101, 103, }, + { 148, DWO, }, + { 107, 163, }, + { 136, 227, }, + }); +#endif +#if JVET_AJ0146_TIMDSAD +const CtxSet ContextSetCfg::TimdFlagSad = ContextSetCfg::addCtxSet +({ +// ctx 1486 + { 41, }, + { 34, }, + { 17, }, + { 26, }, + { 9, }, + { 7, }, + { DWS, }, + { 6, }, + { 4, }, + { 4, }, + { 4, }, + { 4, }, + { 151, }, + { 132, }, + { 102, }, + { 180, }, + { 83, }, + { 124, }, + { 115, }, + { 134, }, + }); +#endif +const CtxSet ContextSetCfg::SgpmFlag = ContextSetCfg::addCtxSet({ +// ctx 1487 to 1489 + { 26, 34, 34, }, + { 41, 41, 56, }, + { 34, 27, 20, }, + { 34, 12, 19, }, + { DWS, 4, 0, }, + { DWS, DWS, 0, }, + { 5, 4, 0, }, + { DWS, 5, 0, }, + { DWE, DWE, 32, }, + { 11, 32, 32, }, + { DWE, DWE, DWE, }, + { DWE, 32, 25, }, + { 91, 108, 236, }, + { 195, 243, 116, }, + { 108, 167, 247, }, + { 243, 114, 116, }, + { 108, 103, 121, }, + { 243, 243, 132, }, + { 92, 108, 157, }, + { 147, 130, 116, }, +}); + +const CtxSet ContextSetCfg::ObmcFlag = ContextSetCfg::addCtxSet({ +// ctx 1490 to 1491 + { 39, 60, }, + { 39, 61, }, + { CNU, CNU, }, + { 39, 60, }, + { 4, 4, }, + { 1, 5, }, + { DWS, DWS, }, + { 2, 4, }, + { 25, 25, }, + { 11, 11, }, + { DWE, DWE, }, + { 4, 25, }, + { 120, 99, }, + { 99, DWO, }, + { 180, 226, }, + { 115, 244, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 132, 100, }, + { 115, 116, }, +}); + +const CtxSet ContextSetCfg::ChromaQpAdjIdc = ContextSetCfg::addCtxSet({ +// ctx 1492 + { CNU, }, + { CNU, }, + { CNU, }, + { CNU, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWS, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, +}); + +const CtxSet ContextSetCfg::ImvFlag = ContextSetCfg::addCtxSet({ +// ctx 1493 to 1497 + { 60, 41, 50, 53, 46, }, + { 59, 48, 57, 60, 60, }, + { CNU, CNU, CNU, CNU, CNU, }, + { 38, 26, 42, 59, 46, }, + { 1, 4, 1, 0, 4, }, + { 1, 2, 1, 0, 4, }, + { DWS, DWS, DWS, DWS, DWS, }, + { 1, 1, 0, 0, 4, }, + { 11, 25, 4, 25, 4, }, + { 4, DWE, 4, 32, 4, }, + { DWE, DWE, DWE, DWE, DWE, }, + { 4, DWE, 4, 32, 4, }, + { 117, 100, 116, 116, 132, }, + { 117, 131, 148, 116, 150, }, + { 118, 115, 116, 116, 117, }, + { 117, 131, 164, 116, 103, }, + { DWO, DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, DWO, }, + { 118, 131, 117, 116, 133, }, + { 117, 116, 118, 116, 101, }, +}); + +const CtxSet ContextSetCfg::ImvFlagIBC = ContextSetCfg::addCtxSet({ +// ctx 1498 to 1502 + { 54, 41, CNU, CNU, CNU, }, + { 54, 40, CNU, CNU, CNU, }, + { 51, 0, CNU, CNU, CNU, }, + { 39, 33, CNU, CNU, CNU, }, + { 2, 0, DWS, DWS, DWS, }, + { 2, 0, DWS, DWS, DWS, }, + { 0, 0, DWS, DWS, DWS, }, + { 5, 0, DWS, DWS, DWS, }, + { DWE, DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, }, + { 25, 32, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, DWE, }, + { 115, 132, DWO, DWO, DWO, }, + { 117, 116, DWO, DWO, DWO, }, + { 226, 132, DWO, DWO, DWO, }, + { 116, 117, DWO, DWO, DWO, }, + { DWO, 116, DWO, DWO, DWO, }, + { 117, 116, DWO, DWO, DWO, }, + { 130, 116, DWO, DWO, DWO, }, + { 121, 116, DWO, DWO, DWO, }, +}); + +const CtxSet ContextSetCfg::ctbAlfFlag = ContextSetCfg::addCtxSet({ +// ctx 1503 to 1511 + { 34, 31, 46, 26, 46, 39, 26, 46, 62, }, + { 5, 31, 46, 4, 54, 39, 11, 54, 62, }, + { 31, 39, 39, 54, 39, 39, 54, 39, 39, }, + { 28, 46, 39, 42, 54, 39, 34, 54, 39, }, + { DWS, 0, DWS, DWS, 0, 12, 9, 0, 12, }, + { 12, 0, DWS, 12, 3, 12, 12, 2, 13, }, + { 0, 0, DWS, 0, 0, 4, 0, 0, 9, }, + { 12, 1, 10, 12, 0, 12, 12, 0, 13, }, + { 32, DWE, 32, 32, DWE, 25, 32, DWE, 32, }, + { 32, 11, DWE, 32, DWE, 32, 32, DWE, 25, }, + { 32, DWE, 4, 32, 11, 25, 32, DWE, 32, }, + { 32, DWE, 25, 32, 11, 32, 32, 4, 32, }, + { 86, 133, 123, 82, 116, 106, 81, 132, 131, }, + { 181, 254, 82, 252, 132, 107, 244, 228, 66, }, + { 81, 166, 134, 81, 162, 195, 81, 132, 147, }, + { 229, 254, 84, 235, 232, 226, 234, 242, 209, }, + { 116, 116, 131, 116, 116, 118, 116, 116, 100, }, + { 234, 248, 82, 254, 236, 99, 254, 204, 81, }, + { 65, 148, 115, 65, 116, 99, 65, 132, 130, }, + { 230, 169, 114, 235, 118, 235, 234, 244, 100, }, +}); + +const CtxSet ContextSetCfg::ctbAlfAlternative = ContextSetCfg::addCtxSet({ +// ctx 1512 to 1514 + { 34, 19, 19, }, + { 19, 34, 11, }, + { 26, 26, 26, }, + { 34, 19, 27, }, + { 0, 0, 0, }, + { 0, 0, 0, }, + { 0, 0, 0, }, + { 0, 0, 0, }, + { DWE, 25, 25, }, + { DWE, 25, 25, }, + { 25, 25, 25, }, + { DWE, 25, 25, }, + { 132, 116, 116, }, + { 116, 116, 116, }, + { 132, 116, 116, }, + { 116, 116, 116, }, + { 254, 157, 158, }, + { 116, 116, 116, }, + { 116, 116, 116, }, + { 116, 116, 116, }, +}); + +const CtxSet ContextSetCfg::AlfUseTemporalFilt = ContextSetCfg::addCtxSet({ +// ctx 1515 + { 39, }, + { 39, }, + { 39, }, + { 39, }, + { 4, }, + { 6, }, + { 4, }, + { 4, }, + { 4, }, + { DWE, }, + { 32, }, + { 4, }, + { 196, }, + { 99, }, + { 225, }, + { 100, }, + { 133, }, + { 99, }, + { 132, }, + { 100, }, +}); + +const CtxSet ContextSetCfg::CcAlfFilterControlFlag = ContextSetCfg::addCtxSet({ +// ctx 1516 to 1521 + { 18, 45, 46, 10, 45, 46, }, + { 3, 52, 54, 18, 37, 46, }, + { 18, 29, 46, 18, 37, 46, }, + { 11, 60, 46, 3, 60, 46, }, + { 4, 2, 4, 5, 2, 4, }, + { 10, 2, 6, 7, 2, 6, }, + { 4, 3, 5, 4, 2, 4, }, + { 5, 2, 6, 7, 2, 7, }, + { 4, 11, 4, DWE, DWE, 11, }, + { DWE, 11, 4, 25, DWE, 4, }, + { DWE, 11, DWE, 25, DWE, 11, }, + { 25, DWE, 4, 32, DWE, 4, }, + { 99, 114, 107, 99, 114, 124, }, + { 229, 130, 99, 120, 146, 99, }, + { 105, 130, 116, 122, 115, 227, }, + { 120, 194, 107, 131, 131, 98, }, + { 99, 115, 147, 99, 115, DWO, }, + { 197, 146, 98, 151, 186, 99, }, + { 102, 114, 118, 102, 115, 116, }, + { 151, 114, 98, 130, 114, 104, }, +}); + +const CtxSet ContextSetCfg::CiipFlag = ContextSetCfg::addCtxSet({ +// ctx 1522 to 1523 + { 56, 43, }, + { 48, 28, }, + { CNU, CNU, }, + { 56, 43, }, + { 2, 2, }, + { 2, 3, }, + { DWS, DWS, }, + { 2, 3, }, + { 11, 4, }, + { 11, 4, }, + { DWE, DWE, }, + { 4, 4, }, + { 117, 124, }, + { 117, 121, }, + { 117, 122, }, + { 117, 122, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 117, 122, }, + { 118, 122, }, +}); + +const CtxSet ContextSetCfg::IBCFlag = ContextSetCfg::addCtxSet({ +// ctx 1524 to 1526 + { 25, CNU, 30, }, + { 40, 58, 38, }, + { 1, 18, CNU, }, + { 40, 28, 38, }, + { 9, 5, 9, }, + { 9, 5, 5, }, + { 5, 5, 10, }, + { 9, 5, 9, }, + { 25, 11, DWE, }, + { 25, 11, 11, }, + { 4, 4, DWE, }, + { 25, 11, DWE, }, + { 100, 104, 117, }, + { 146, 163, 242, }, + { 102, 108, 120, }, + { 210, 243, 124, }, + { 211, 148, 116, }, + { DWO, 117, 146, }, + { 101, 106, 116, }, + { 162, 243, 147, }, +}); + +const CtxSet ContextSetCfg::BiPredIbcFlag = ContextSetCfg::addCtxSet({ +// ctx 1527 to 1528 + { CNU, CNU, }, + { CNU, CNU, }, + { 20, 10, }, + { CNU, CNU, }, + { DWS, DWS, }, + { DWS, DWS, }, + { 5, 5, }, + { DWS, DWS, }, + { DWE, DWE, }, + { DWE, DWE, }, + { DWE, 4, }, + { DWE, DWE, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 211, 100, }, + { 100, 195, }, + { 124, 122, }, + { 116, 164, }, +}); + +const CtxSet ContextSetCfg::IbcCiipFlag = ContextSetCfg::addCtxSet({ +// ctx 1529 to 1531 + { 25, CNU, CNU, }, + { 40, CNU, CNU, }, + { 40, 0, CNU, }, + { 40, CNU, CNU, }, + { 6, DWS, DWS, }, + { 0, DWS, DWS, }, + { 10, 4, DWS, }, + { 2, DWS, DWS, }, + { 32, DWE, DWE, }, + { DWE, DWE, DWE, }, + { 32, 4, DWE, }, + { DWE, DWE, DWE, }, + { 98, DWO, DWO, }, + { 161, DWO, DWO, }, + { 116, DWO, DWO, }, + { 148, DWO, DWO, }, + { 81, 99, DWO, }, + { 161, 150, DWO, }, + { 114, 99, DWO, }, + { 242, 137, DWO, }, +}); + +const CtxSet ContextSetCfg::IbcCiipIntraIdx = ContextSetCfg::addCtxSet({ +// ctx 1532 + { 43, }, + { 49, }, + { 50, }, + { 50, }, + { 4, }, + { 0, }, + { 12, }, + { 5, }, + { DWE, }, + { 25, }, + { 11, }, + { DWE, }, + { 227, }, + { 164, }, + { 251, }, + { 116, }, + { 219, }, + { 131, }, + { 252, }, + { 115, }, +}); + +const CtxSet ContextSetCfg::IbcGpmFlag = ContextSetCfg::addCtxSet({ +// ctx 1533 + { 41, }, + { 41, }, + { 33, }, + { 41, }, + { 5, }, + { 2, }, + { 9, }, + { 5, }, + { 11, }, + { 4, }, + { 11, }, + { 11, }, + { 101, }, + { 227, }, + { 117, }, + { 118, }, + { 98, }, + { 147, }, + { 102, }, + { 116, }, +}); + +const CtxSet ContextSetCfg::IbcGpmIntraFlag = ContextSetCfg::addCtxSet({ +// ctx 1534 to 1535 + { 34, 49, }, + { 42, 27, }, + { 50, 42, }, + { 49, 49, }, + { 2, 1, }, + { 2, 2, }, + { 2, 2, }, + { 2, 1, }, + { 4, 4, }, + { 4, 11, }, + { 4, 11, }, + { 4, 4, }, + { 131, 116, }, + { 117, 132, }, + { 116, 115, }, + { 115, 115, }, + { 131, 115, }, + { DWO, 116, }, + { 131, 116, }, + { 131, 116, }, +}); + +const CtxSet ContextSetCfg::IbcGpmSplitDirSetFlag = ContextSetCfg::addCtxSet({ +// ctx 1536 + { 38, }, + { 52, }, + { 22, }, + { 23, }, + { 4, }, + { 6, }, + { 5, }, + { 5, }, + { 4, }, + { 11, }, + { DWE, }, + { 4, }, + { 102, }, + { 117, }, + { 130, }, + { 116, }, + { 131, }, + { 100, }, + { 147, }, + { 118, }, +}); + +const CtxSet ContextSetCfg::IbcGpmBldIdx = ContextSetCfg::addCtxSet({ +// ctx 1537 to 1540 + { CNU, CNU, CNU, CNU, }, + { CNU, CNU, CNU, CNU, }, + { 30, 52, 27, 51, }, + { CNU, CNU, CNU, CNU, }, + { DWS, DWS, DWS, DWS, }, + { DWS, DWS, DWS, DWS, }, + { 5, DWS, 9, 4, }, + { DWS, DWS, DWS, DWS, }, + { DWE, DWE, DWE, DWE, }, + { DWE, DWE, DWE, DWE, }, + { 32, 4, 4, 4, }, + { DWE, DWE, DWE, DWE, }, + { DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { DWO, DWO, DWO, DWO, }, + { 132, 101, 123, 104, }, + { 98, 99, 89, 196, }, + { 226, DWO, 117, 131, }, + { 108, 99, DWO, 118, }, +}); + +const CtxSet ContextSetCfg::IbcLicFlag = ContextSetCfg::addCtxSet({ +// ctx 1541 to 1544 + { 18, CNU, CNU, CNU, }, + { 10, CNU, CNU, CNU, }, + { 26, 17, 25, 18, }, + { 33, CNU, CNU, CNU, }, + { 1, DWS, DWS, DWS, }, + { 2, DWS, DWS, DWS, }, + { 2, 6, 2, 0, }, + { 1, DWS, DWS, DWS, }, + { 25, DWE, DWE, DWE, }, + { 11, DWE, DWE, DWE, }, + { 32, 25, DWE, 32, }, + { 4, DWE, DWE, DWE, }, + { 115, DWO, DWO, DWO, }, + { 131, DWO, DWO, DWO, }, + { 133, DWO, DWO, DWO, }, + { 146, DWO, DWO, DWO, }, + { 114, 97, 115, 116, }, + { 115, 178, 226, 116, }, + { 116, 98, 100, 118, }, + { 131, 162, 226, 115, }, +}); + +const CtxSet ContextSetCfg::IbcLicIndex = ContextSetCfg::addCtxSet({ +// ctx 1545 to 1546 + { 19, 51, }, + { 34, 36, }, + { 34, 26, }, + { 28, 27, }, + { 6, 0, }, + { 1, 1, }, + { 5, 1, }, + { 4, 2, }, + { 32, DWE, }, + { 32, 25, }, + { DWE, 4, }, + { 25, 25, }, + { 132, 116, }, + { 99, 126, }, + { 115, 121, }, + { 218, 115, }, + { 252, 123, }, + { 100, 148, }, + { 131, 115, }, + { 104, 130, }, +}); + +const CtxSet ContextSetCfg::JointCbCrFlag = ContextSetCfg::addCtxSet({ +// ctx 1547 to 1549 + { 34, 43, 59, }, + { 42, 5, 60, }, + { 12, 29, 58, }, + { 34, 43, 59, }, + { 1, 0, 1, }, + { 1, 0, 1, }, + { 1, 1, 1, }, + { 1, 0, 1, }, + { DWE, DWE, DWE, }, + { DWE, DWE, 11, }, + { DWE, DWE, 25, }, + { DWE, DWE, 11, }, + { 117, 132, 115, }, + { 116, 116, 115, }, + { 116, 132, 131, }, + { 123, 117, 115, }, + { 116, 147, 116, }, + { 117, 116, 115, }, + { 116, 116, 115, }, + { 116, 116, 115, }, +}); + +const CtxSet ContextSetCfg::TsSigCoeffGroup = ContextSetCfg::addCtxSet({ +// ctx 1550 to 1552 + { 18, 20, 37, }, + { 18, 27, 44, }, + { 18, 20, 38, }, + { 18, 20, 37, }, + { 10, 9, 5, }, + { 6, 5, 5, }, + { 6, DWS, 6, }, + { 6, 5, 5, }, + { 25, DWE, 4, }, + { 4, 4, 4, }, + { DWE, DWE, DWE, }, + { 11, 4, 4, }, + { 106, 117, 228, }, + { 242, 251, 180, }, + { 105, 139, 123, }, + { 244, 252, 117, }, + { 116, 243, 242, }, + { 147, DWO, 100, }, + { 116, 124, 196, }, + { 227, 247, 122, }, +}); + +const CtxSet ContextSetCfg::TsSigFlag = ContextSetCfg::addCtxSet({ +// ctx 1553 to 1555 + { 25, CNU, 37, }, + { 25, 50, 44, }, + { 25, 28, 38, }, + { 25, CNU, 29, }, + { 13, 9, 5, }, + { 13, 10, 4, }, + { 13, 13, 10, }, + { 13, 9, 5, }, + { 4, 4, DWE, }, + { 4, 4, 11, }, + { 4, DWE, 11, }, + { 4, 4, DWE, }, + { 74, 251, 104, }, + { 148, 251, 108, }, + { 74, 250, 103, }, + { DWO, 250, 104, }, + { 69, 234, 99, }, + { 85, 234, 99, }, + { 74, 251, 103, }, + { 134, 251, 106, }, +}); + +const CtxSet ContextSetCfg::TsParFlag = ContextSetCfg::addCtxSet({ +// ctx 1556 + { 3, }, + { 10, }, + { 11, }, + { 3, }, + { 5, }, + { 2, }, + { 5, }, + { 5, }, + { DWE, }, + { 11, }, + { 4, }, + { DWE, }, + { 116, }, + { 242, }, + { 118, }, + { 147, }, + { 212, }, + { 108, }, + { 116, }, + { 131, }, +}); + +const CtxSet ContextSetCfg::TsGtxFlag = ContextSetCfg::addCtxSet({ +// ctx 1557 to 1561 + { CNU, 3, 4, 5, 5, }, + { CNU, 17, 18, 3, 52, }, + { CNU, 3, 3, 4, 3, }, + { CNU, 3, 4, 4, 5, }, + { DWS, 1, 5, 4, 0, }, + { DWS, 1, 5, 5, 1, }, + { DWS, 1, 5, 1, 1, }, + { DWS, 1, 5, 5, 1, }, + { DWE, DWE, 32, 32, DWE, }, + { DWE, 11, DWE, 25, DWE, }, + { DWE, DWE, 25, DWE, DWE, }, + { DWE, DWE, 25, 25, DWE, }, + { DWO, 117, 130, 131, 180, }, + { DWO, 147, 114, 115, 118, }, + { DWO, 117, 131, 242, 132, }, + { DWO, 117, 102, 116, 122, }, + { DWO, 132, 162, 243, 227, }, + { DWO, 118, 100, 117, 116, }, + { DWO, 117, 130, 210, 132, }, + { DWO, 117, 115, 108, 118, }, +}); + +const CtxSet ContextSetCfg::TsLrg1Flag = ContextSetCfg::addCtxSet({ +// ctx 1562 to 1565 + { 12, 11, 4, CNU, }, + { 33, 11, 12, CNU, }, + { 4, 5, 5, 14, }, + { 26, 11, 5, CNU, }, + { 1, 1, 1, DWS, }, + { 5, 1, 1, DWS, }, + { 5, 2, 2, 7, }, + { 1, 1, 1, DWS, }, + { DWE, 11, 11, DWE, }, + { DWE, 11, 4, DWE, }, + { DWE, 11, DWE, DWE, }, + { 11, 11, 4, DWE, }, + { 118, 163, 243, DWO, }, + { 243, 116, 116, DWO, }, + { 102, 116, 243, DWO, }, + { 242, 116, 116, DWO, }, + { 108, 210, 146, 240, }, + { 162, 115, 115, 98, }, + { 117, 116, 211, 129, }, + { 148, 116, 116, 100, }, +}); + +const CtxSet ContextSetCfg::TsResidualSign = ContextSetCfg::addCtxSet({ +// ctx 1566 to 1571 + { 20, 10, 46, CNU, CNU, CNU, }, + { 12, 10, 53, CNU, CNU, CNU, }, + { 5, 17, 54, 28, 25, 38, }, + { 20, 10, 53, CNU, CNU, CNU, }, + { 1, 5, 5, DWS, DWS, DWS, }, + { 5, 5, 4, DWS, DWS, DWS, }, + { 1, 5, 2, 5, 9, DWS, }, + { 1, 5, 5, DWS, DWS, DWS, }, + { 4, DWE, 25, DWE, DWE, DWE, }, + { 4, 4, 4, DWE, DWE, DWE, }, + { 25, DWE, 4, DWE, 32, DWE, }, + { 4, 11, DWE, DWE, DWE, DWE, }, + { 118, 117, 162, DWO, DWO, DWO, }, + { 118, 131, 117, DWO, DWO, DWO, }, + { 116, 195, 117, DWO, DWO, DWO, }, + { 179, 243, 133, DWO, DWO, DWO, }, + { 116, 101, 147, 194, 184, 118, }, + { 115, 194, 115, 115, 161, 165, }, + { 120, 179, 117, 162, 232, 107, }, + { 120, 163, 116, 115, 130, 251, }, +}); + +const CtxSet ContextSetCfg::signPred[2] = { + ContextSetCfg::addCtxSet({ +// ctx 1572 to 1575 + { 34, 42, 34, 26, }, + { 27, 34, 19, 34, }, + { 42, 42, 34, 26, }, + { 42, 42, 34, 26, }, + { 13, 10, 10, 10, }, + { 13, 13, 13, 10, }, + { 13, 10, 10, 10, }, + { 13, 10, 10, 10, }, + { 4, 4, 4, 4, }, + { 4, 4, 4, 4, }, + { 4, 4, 4, 4, }, + { 4, 4, 4, 4, }, + { DWO, 101, 90, 100, }, + { 84, 100, 106, 100, }, + { 90, 87, 89, 99, }, + { 88, 89, 90, 102, }, + { 90, 101, 104, 121, }, + { 90, 101, 90, 83, }, + { 90, 90, 101, 102, }, + { 89, 103, 103, 100, }, + }), + ContextSetCfg::addCtxSet({ +// ctx 1576 to 1579 + { 26, 41, 34, 41, }, + { 49, 41, 34, 34, }, + { 34, 34, CNU, CNU, }, + { 26, 41, 34, 26, }, + { 13, 13, 10, 6, }, + { 13, 12, 10, 10, }, + { 10, 10, DWS, DWS, }, + { 13, 13, 10, 6, }, + { 4, 4, 4, 4, }, + { 4, 4, 4, 4, }, + { 4, 4, DWE, DWE, }, + { 4, 4, 4, 4, }, + { 84, 68, 113, 99, }, + { 100, 131, 116, 116, }, + { 88, 67, 101, 97, }, + { 100, DWO, 105, 105, }, + { 90, 83, DWO, DWO, }, + { 101, 101, DWO, DWO, }, + { 86, 68, 86, 99, }, + { 162, 87, 100, 107, }, + }), +}; + +const CtxSet ContextSetCfg::CclmDeltaFlags = ContextSetCfg::addCtxSet({ +// ctx 1580 to 1584 + { 20, 42, 58, 59, 51, }, + { 19, 57, 61, 59, 36, }, + { 51, 42, 34, 51, 43, }, + { 58, 50, 12, 59, 51, }, + { 0, 1, 3, 10, 2, }, + { 0, 6, 13, 3, 3, }, + { 0, 10, 0, 9, 13, }, + { 6, 0, 10, 3, 3, }, + { 4, 4, 11, 25, 4, }, + { 11, 32, 25, 32, 32, }, + { 4, 25, 11, 4, 4, }, + { DWE, 4, 32, 4, 4, }, + { 116, 115, 248, 118, 115, }, + { 254, 181, 114, 250, 137, }, + { 116, 250, 218, 250, 244, }, + { 132, 97, 198, 250, 116, }, + { 116, 250, 254, 251, 89, }, + { 254, 100, 116, 100, 182, }, + { 97, 116, 202, 178, 115, }, + { 251, 197, 233, 233, 209, }, +}); + +const CtxSet ContextSetCfg::GlmFlags = ContextSetCfg::addCtxSet({ +// ctx 1585 to 1589 + { 2, 53, 53, 4, 20, }, + { 17, 60, 61, 5, 57, }, + { 25, 14, 52, 36, 43, }, + { 2, 37, 61, CNU, CNU, }, + { 1, 1, 4, 0, 4, }, + { 0, 0, 0, 0, 0, }, + { 0, 4, 0, 0, 5, }, + { 0, 0, 6, 0, 5, }, + { 25, 32, 32, 32, 4, }, + { 11, 32, 25, 11, 4, }, + { 4, 11, DWE, DWE, 32, }, + { 4, 25, 25, DWE, DWE, }, + { 115, 154, 115, 116, 133, }, + { 195, 115, 100, 151, 101, }, + { 117, 140, 116, 117, 116, }, + { 228, 116, 123, 228, 237, }, + { DWO, 141, 116, 116, 162, }, + { 116, 99, 120, 164, 115, }, + { 132, 155, 115, 117, 210, }, + { 149, 116, 106, 148, 101, }, +}); + +const CtxSet ContextSetCfg::CccmFlag = ContextSetCfg::addCtxSet({ +// ctx 1590 to 1592 + { 21, 44, 60, }, + { 29, 60, 13, }, + { 29, 58, 43, }, + { 6, 37, 52, }, + { DWS, 4, 4, }, + { DWS, 4, DWS, }, + { 4, 4, 4, }, + { DWS, 4, 4, }, + { 25, 25, 32, }, + { 32, 25, 32, }, + { 4, 25, 11, }, + { 32, 25, 32, }, + { 178, 131, 147, }, + { 114, 108, 99, }, + { 115, 117, 163, }, + { 114, 116, 82, }, + { 118, 118, 244, }, + { 132, 131, 132, }, + { 130, 115, 131, }, + { 114, 115, 99, }, +}); + +const CtxSet ContextSetCfg::CccmMpfFlag = ContextSetCfg::addCtxSet({ +// ctx 1593 to 1595 + { 27, 43, CNU, }, + { 27, 51, 27, }, + { 43, 45, 50, }, + { 27, 43, 42, }, + { DWS, DWS, 4, }, + { DWS, DWS, 4, }, + { 9, 4, 4, }, + { DWS, DWS, 4, }, + { 32, 25, 25, }, + { 32, 25, 25, }, + { 32, 4, DWE, }, + { 32, DWE, 25, }, + { 130, 136, 101, }, + { 114, 114, 196, }, + { 130, 117, 106, }, + { 99, 146, 211, }, + { 146, 164, 115, }, + { 99, 132, 124, }, + { 98, 165, 102, }, + { 130, 114, 131, }, +}); + +const CtxSet ContextSetCfg::BvgCccmFlag = ContextSetCfg::addCtxSet({ +// ctx 1596 + { CNU, }, + { CNU, }, + { 41, }, + { CNU, }, + { DWS, }, + { DWS, }, + { 1, }, + { DWS, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { 121, }, + { 116, }, + { 125, }, + { 117, }, +}); + +const CtxSet ContextSetCfg::CcInsideFilterFlag = ContextSetCfg::addCtxSet({ +// ctx 1597 + { 53, }, + { 15, }, + { 61, }, + { 60, }, + { 0, }, + { 4, }, + { 0, }, + { 0, }, + { 32, }, + { 32, }, + { 32, }, + { 32, }, + { 116, }, + { 116, }, + { 99, }, + { 115, }, + { 116, }, + { 124, }, + { 116, }, + { 132, }, +}); + +const CtxSet ContextSetCfg::ChromaFusionType = ContextSetCfg::addCtxSet({ +// ctx 1598 + { 30, }, + { 38, }, + { 44, }, + { 22, }, + { DWS, }, + { DWS, }, + { 4, }, + { DWS, }, + { 32, }, + { 32, }, + { 4, }, + { 32, }, + { 171, }, + { 82, }, + { 234, }, + { 82, }, + { 118, }, + { 102, }, + { 152, }, + { 82, }, +}); + +const CtxSet ContextSetCfg::ChromaFusionCclm = ContextSetCfg::addCtxSet({ +// ctx 1599 + { 49, }, + { 57, }, + { 58, }, + { 34, }, + { DWS, }, + { 5, }, + { 4, }, + { DWS, }, + { 32, }, + { 32, }, + { 11, }, + { 32, }, + { 82, }, + { 164, }, + { 98, }, + { 186, }, + { 170, }, + { 131, }, + { 83, }, + { 243, }, +}); + +const CtxSet ContextSetCfg::TmrlDerive = ContextSetCfg::addCtxSet({ +// ctx 1600 to 1607 + { 48, 50, 43, CNU, CNU, CNU, 50, CNU, }, + { 48, 50, 43, CNU, 50, 50, CNU, CNU, }, + { 41, 50, 43, 43, CNU, CNU, 50, CNU, }, + { 41, 50, 43, 43, CNU, CNU, CNU, CNU, }, + { 9, DWS, DWS, DWS, 7, 10, 9, DWS, }, + { 10, DWS, 10, DWS, DWS, 9, 9, DWS, }, + { 5, DWS, DWS, 10, 10, DWS, 9, DWS, }, + { 6, DWS, DWS, 9, 13, 9, DWS, DWS, }, + { DWE, DWE, 4, 4, 4, 4, 4, DWE, }, + { DWE, 4, DWE, DWE, 4, 4, 4, DWE, }, + { DWE, 11, 11, 4, 4, DWE, DWE, DWE, }, + { DWE, 4, 11, 4, DWE, 4, 4, DWE, }, + { 98, 118, 236, 186, 122, 102, 99, DWO, }, + { 114, 163, 85, 99, 115, 136, 247, DWO, }, + { 87, 135, 249, 251, 236, 195, 91, DWO, }, + { 113, 106, 83, 85, 85, 121, 251, DWO, }, + { 108, 103, 252, 201, 250, 103, 100, DWO, }, + { 242, 105, 88, 99, 99, 152, 184, DWO, }, + { 107, 106, 216, 153, 199, 101, 86, DWO, }, + { 241, 132, 85, 100, 129, 218, 251, DWO, }, +}); + +const CtxSet ContextSetCfg::nonLocalCCP = ContextSetCfg::addCtxSet({ +// ctx 1608 + { 52, }, + { 53, }, + { CNU, }, + { 60, }, + { 4, }, + { 5, }, + { 5, }, + { 4, }, + { DWE, }, + { DWE, }, + { 11, }, + { DWE, }, + { 102, }, + { 163, }, + { 101, }, + { 194, }, + { 117, }, + { 147, }, + { 100, }, + { 131, }, +}); + +#if JVET_AG0154_DECODER_DERIVED_CCP_FUSION +const CtxSet ContextSetCfg::decoderDerivedCCP = ContextSetCfg::addCtxSet +({ +// ctx 1609 + { 50, }, + { 27, }, + { 50, }, + { 41, }, + { 4, }, + { 5, }, + { 4, }, + { 4, }, + { DWE, }, + { DWE, }, + { DWE, }, + { 25, }, + { 116, }, + { 116, }, + { 131, }, + { 104, }, + { 106, }, + { 132, }, + { 116, }, + { 102, }, + }); + +const CtxSet ContextSetCfg::ddNonLocalCCP = ContextSetCfg::addCtxSet +({ +// ctx 1610 + { 25, }, + { 25, }, + { 26, }, + { 10, }, + { 4, }, + { DWS, }, + { 4, }, + { 4, }, + { 25, }, + { 25, }, + { 11, }, + { 25, }, + { 100, }, + { DWO, }, + { 82, }, + { 130, }, + { 132, }, + { 132, }, + { 99, }, + { 131, }, + }); +#endif + +const CtxSet ContextSetCfg::InterCccmFlag = ContextSetCfg::addCtxSet({ +// ctx 1611 + { 25, }, + { 0, }, + { CNU, }, + { 17, }, + { 5, }, + { 5, }, + { DWS, }, + { 2, }, + { 25, }, + { DWE, }, + { DWE, }, + { DWE, }, + { 98, }, + { 114, }, + { 99, }, + { 146, }, + { DWO, }, + { DWO, }, + { 115, }, + { 146, }, +}); + +#if JVET_AF0073_INTER_CCP_MERGE +const CtxSet ContextSetCfg::InterCcpMergeFlag = ContextSetCfg::addCtxSet({ +#if JVET_AH0066_JVET_AH0202_CCP_MERGE_LUMACBF0 +// ctx 1612 to 1613 + { 40, 58, }, + { 40, 36, }, + { CNU, CNU, }, + { 25, 34, }, + { 5, 0, }, + { 2, 1, }, + { DWS, DWS, }, + { 5, 1, }, + { 32, 25, }, + { DWE, 11, }, + { DWE, DWE, }, + { 25, DWE, }, + { 98, 116, }, + { 98, 116, }, + { 115, 115, }, + { 130, 115, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 98, 115, }, + { 98, 131, }, +#else + { 40 }, + { 40 }, + { 35 }, + { 40 }, + { 5 }, + { 2 }, + { 8 }, + { 5 }, + { 25 }, + { 18 }, + { 18 }, + { 25 }, + { 99 }, + { 98 }, + { 115 }, + { 162 }, + { 119 }, + { 119 }, + { 99 }, + { 114 }, +#endif +}); +#endif + +#if JVET_AH0066_JVET_AH0202_CCP_MERGE_LUMACBF0 +const CtxSet ContextSetCfg::InterCcpMergeZeroRootCbfIdc = ContextSetCfg::addCtxSet +({ +// ctx 1614 to 1615 + { 0, 5, }, + { 1, 23, }, + { CNU, CNU, }, + { 17, 58, }, + { 1, 0, }, + { 1, 0, }, + { DWS, DWS, }, + { 0, 0, }, + { 32, 32, }, + { 32, 32, }, + { DWE, DWE, }, + { 11, 32, }, + { 115, 116, }, + { 115, 116, }, + { 115, 116, }, + { 115, 116, }, + { DWO, DWO, }, + { DWO, DWO, }, + { 116, 116, }, + { 132, 116, }, + }); +#endif + +#if JVET_AG0058_EIP +const CtxSet ContextSetCfg::EipFlag = ContextSetCfg::addCtxSet + ({ +#if JVET_AJ0082_MM_EIP +// ctx 1616 to 1618 + { 40, 18, 28, }, + { 25, 25, 36, }, + { 17, 34, 36, }, + { 40, 18, 36, }, + { 6, DWS, 9, }, + { 6, 9, 10, }, + { 5, 5, 9, }, + { 5, 9, 10, }, + { 25, 32, 25, }, + { DWE, 32, 25, }, + { DWE, 4, DWE, }, + { DWE, 32, 25, }, + { 106, 99, 251, }, + { 145, 131, 99, }, + { 115, 122, 218, }, + { 225, 113, 98, }, + { 117, 120, 123, }, + { 242, 132, 115, }, + { 102, 115, 153, }, + { 210, 100, 99, }, + }); +#else +// ctx 1594 1595 + { 40, 11 }, + { 25, 18 }, + { 17, 27 }, + { 25, 11 }, + { 6, 8 }, + { 6, 8 }, + { 9, 5 }, + { 6, 9 }, + { 25, 32 }, + { 25, 32 }, + { 25, 4 }, + { 25, 32 }, + { 100, 115 }, + { 130, 116 }, + { 102, 163 }, + { 225, 99 }, + { 105, 134 }, + { 241, 132 }, + { 103, 226 }, + { 241, 100 }, + }); +#endif +#endif + +#if JVET_AG0059_CCP_MERGE_ENHANCEMENT +const CtxSet ContextSetCfg::CCPMergeFusionFlag = ContextSetCfg::addCtxSet({ +// ctx 1619 + { CNU, }, + { CNU, }, + { 19, }, + { CNU, }, + { DWS, }, + { DWS, }, + { 4, }, + { DWS, }, + { DWE, }, + { DWE, }, + { 11, }, + { DWE, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { 132, }, + { 116, }, + { DWO, }, + { DWO, }, +}); +const CtxSet ContextSetCfg::CCPMergeFusionType = ContextSetCfg::addCtxSet({ +// ctx 1620 + { CNU, }, + { CNU, }, + { 59, }, + { CNU, }, + { DWS, }, + { DWS, }, + { 4, }, + { DWS, }, + { DWE, }, + { DWE, }, + { 25, }, + { DWE, }, + { DWO, }, + { DWO, }, + { DWO, }, + { DWO, }, + { 115, }, + { 105, }, + { DWO, }, + { DWO, }, +}); +#endif +#if JVET_AH0076_OBIC +const CtxSet ContextSetCfg::obicFlag = ContextSetCfg::addCtxSet +({ +// ctx 1621 + { 41, }, + { 26, }, + { 26, }, + { 41, }, + { 9, }, + { DWS, }, + { DWS, }, + { 10, }, + { 32, }, + { 32, }, + { DWE, }, + { 32, }, + { 81, }, + { 251, }, + { 83, }, + { 236, }, + { 85, }, + { 134, }, + { 82, }, + { 202, }, + }); +#endif +#if JVET_AI0050_INTER_MTSS +const CtxSet ContextSetCfg::InterLFNSTIntraIdx = ContextSetCfg::addCtxSet({ +// ctx 1622 + { CNU, }, + { CNU, }, + { CNU, }, + { CNU, }, + { DWS, }, + { DWS, }, + { DWS, }, + { 9, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWE, }, + { 121, }, + { 164, }, + { 134, }, + { 118, }, + { DWO, }, + { DWO, }, + { 122, }, + { 117, }, + }); +#endif +#if JVET_AI0136_ADAPTIVE_DUAL_TREE +const CtxSet ContextSetCfg::SeparateTree = ContextSetCfg::addCtxSet +({ +// ctx 1623 to 1625 + { 39, 39, 39, }, + { 39, 39, 39, }, + { CNU, CNU, CNU, }, + { 39, 39, 39, }, + { 0, 0, 0, }, + { 0, 0, 0, }, + { DWS, DWS, DWS, }, + { 0, 0, 0, }, + { 32, 32, 32, }, + { 32, 32, 32, }, + { DWE, DWE, DWE, }, + { 32, 32, 32, }, + { 116, 116, 116, }, + { 116, 116, 116, }, + { 116, 116, 116, }, + { 116, 116, 116, }, + { DWO, DWO, DWO, }, + { DWO, DWO, DWO, }, + { 116, 116, 116, }, + { 116, 116, 116, }, + }); +#endif +#if JVET_AJ0274_REGRESSION_GPM_TM +const CtxSet ContextSetCfg::GeoBlendTMFlag = ContextSetCfg::addCtxSet +({ +// ctx 1626 + { 42, }, + { 27, }, + { CNU, }, + { 49, }, + { DWS, }, + { 9, }, + { DWS, }, + { 10, }, + { DWE, }, + { DWE, }, + { DWE, }, + { DWE, }, + { 100, }, + { 134, }, + { 102, }, + { 120, }, + { DWO, }, + { DWO, }, + { 99, }, + { 120, }, + }); +#endif +#if JVET_AJ0081_CHROMA_TMRL +const CtxSet ContextSetCfg::ChromaTmrlFlag = ContextSetCfg::addCtxSet +({ +// ctx 1627 + { 42, }, + { 11, }, + { 41, }, + { 50, }, + { DWS, }, + { 9, }, + { DWS, }, + { 4, }, + { 25, }, + { 32, }, + { DWE, }, + { 11, }, + { 100, }, + { 120, }, + { 98, }, + { 135, }, + { 87, }, + { 124, }, + { 104, }, + { 149, }, + }); +#endif +#if JVET_AJ0249_NEURAL_NETWORK_BASED +const CtxSet ContextSetCfg::PnnLuminanceFlag = ContextSetCfg::addCtxSet +({ +// ctx 1628 to 1629 + { 49, CNU, }, + { 42, 27, }, + { 49, 50, }, + { 41, 27, }, + { 5, 5, }, + { 2, 3, }, + { DWS, 6, }, + { 5, 3, }, + { DWE, 11, }, + { 11, 4, }, + { DWE, 4, }, + { DWE, 4, }, + { 115, 100, }, + { 116, 116, }, + { 115, 115, }, + { 117, 116, }, + { 116, 101, }, + { 108, 115, }, + { 130, 115, }, + { 108, 116, }, +}); +#endif +// CONTEXTS WSA STOP +#endif +// 1630 replaced diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 7bb08727794f1a90f7ac5dd7636f1392c3be2ca2..ae6d7ba25934e4676e1aa4a95796838348fdc6fe 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -469,7 +469,8 @@ #define JVET_AG0117_CABAC_SPATIAL_TUNING 1 // JVET-AG0117 5.3: spatial CABAC tuning #define JVET_AH0176_LOW_DELAY_B_CTX 1 // JVET-AH0176 6.1: context initialization for B-slice #define JVET_AI0281_CABAC_RETRAIN 1 // JVET-AI0281: context initialization training - +#define JVET_AK0135_CABAC_RETRAIN 1 // JVET-AK0135: context initialization training + // // Loop filters #define ALF_IMPROVEMENT 1 // ALF improvement #define EMBEDDED_APS 1 // Embed APS into picture header