You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avcodec/vvc/cabac: add 9.3.3.5 k-th order Exp - Golomb binarization process
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
This commit is contained in:
@@ -928,6 +928,27 @@ static int truncated_binary_decode(VVCLocalContext *lc, const int c_max)
|
|||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 9.3.3.5 k-th order Exp - Golomb binarization process
|
||||||
|
static int kth_order_egk_decode(CABACContext *c, int k)
|
||||||
|
{
|
||||||
|
int bit = 1;
|
||||||
|
int value = 0;
|
||||||
|
int symbol = 0;
|
||||||
|
|
||||||
|
while (bit) {
|
||||||
|
bit = get_cabac_bypass(c);
|
||||||
|
value += bit << k++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (--k) {
|
||||||
|
for (int i = 0; i < k; i++)
|
||||||
|
symbol = (symbol << 1) | get_cabac_bypass(c);
|
||||||
|
value += symbol;
|
||||||
|
}
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
// 9.3.3.6 Limited k-th order Exp-Golomb binarization process
|
// 9.3.3.6 Limited k-th order Exp-Golomb binarization process
|
||||||
static int limited_kth_order_egk_decode(CABACContext *c, const int k, const int max_pre_ext_len, const int trunc_suffix_len)
|
static int limited_kth_order_egk_decode(CABACContext *c, const int k, const int max_pre_ext_len, const int trunc_suffix_len)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user