mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-12 02:07:33 +09:00
aom: update libaom to 0ec86ac7ae1e32a7e70410fa4972a655ec3670a4
This commit is contained in:
parent
bc3f20e378
commit
eb361970c5
438 changed files with 52661 additions and 21905 deletions
49
third_party/aom/aom_dsp/bitreader_buffer.c
vendored
49
third_party/aom/aom_dsp/bitreader_buffer.c
vendored
|
|
@ -14,6 +14,8 @@
|
|||
#include "config/aom_config.h"
|
||||
|
||||
#include "aom_dsp/bitreader_buffer.h"
|
||||
#include "aom_dsp/recenter.h"
|
||||
#include "aom_ports/bitops.h"
|
||||
|
||||
size_t aom_rb_bytes_read(const struct aom_read_bit_buffer *rb) {
|
||||
return (rb->bit_offset + 7) >> 3;
|
||||
|
|
@ -65,3 +67,50 @@ uint32_t aom_rb_read_uvlc(struct aom_read_bit_buffer *rb) {
|
|||
const uint32_t value = aom_rb_read_literal(rb, leading_zeros);
|
||||
return base + value;
|
||||
}
|
||||
|
||||
static uint16_t aom_rb_read_primitive_quniform(struct aom_read_bit_buffer *rb,
|
||||
uint16_t n) {
|
||||
if (n <= 1) return 0;
|
||||
const int l = get_msb(n) + 1;
|
||||
const int m = (1 << l) - n;
|
||||
const int v = aom_rb_read_literal(rb, l - 1);
|
||||
return v < m ? v : (v << 1) - m + aom_rb_read_bit(rb);
|
||||
}
|
||||
|
||||
static uint16_t aom_rb_read_primitive_subexpfin(struct aom_read_bit_buffer *rb,
|
||||
uint16_t n, uint16_t k) {
|
||||
int i = 0;
|
||||
int mk = 0;
|
||||
|
||||
while (1) {
|
||||
int b = (i ? k + i - 1 : k);
|
||||
int a = (1 << b);
|
||||
|
||||
if (n <= mk + 3 * a) {
|
||||
return aom_rb_read_primitive_quniform(rb, n - mk) + mk;
|
||||
}
|
||||
|
||||
if (!aom_rb_read_bit(rb)) {
|
||||
return aom_rb_read_literal(rb, b) + mk;
|
||||
}
|
||||
|
||||
i = i + 1;
|
||||
mk += a;
|
||||
}
|
||||
|
||||
assert(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static uint16_t aom_rb_read_primitive_refsubexpfin(
|
||||
struct aom_read_bit_buffer *rb, uint16_t n, uint16_t k, uint16_t ref) {
|
||||
return inv_recenter_finite_nonneg(n, ref,
|
||||
aom_rb_read_primitive_subexpfin(rb, n, k));
|
||||
}
|
||||
|
||||
int16_t aom_rb_read_signed_primitive_refsubexpfin(
|
||||
struct aom_read_bit_buffer *rb, uint16_t n, uint16_t k, int16_t ref) {
|
||||
ref += n - 1;
|
||||
const uint16_t scaled_n = (n << 1) - 1;
|
||||
return aom_rb_read_primitive_refsubexpfin(rb, scaled_n, k, ref) - n + 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue