|
OpenJPH
Open-source implementation of JPEG2000 Part-15
|
Functions | |
| static bool | ojph::local::uvlc_init_tables () |
| Initializes uvlc_tbl0 and uvlc_tbl1 tables. | |
| static bool | ojph::local::uvlc_init_wide_table () |
| Initializes uvlc_tbl1_wide: wider UVLC table for non-initial rows. Index = mode(2b) * 1024 + vlc(10b). Entry packs total_bits[4:0], u_q0[12:5], u_q1[20:13]. total_bits == 0x1F signals fallback to original decode. | |
Variables | |
| ui16 | ojph::local::uvlc_tbl0 [256+64] = { 0 } |
| uvlc_tbl0 contains decoding information for initial row of quads | |
| ui16 | ojph::local::uvlc_tbl1 [256] = { 0 } |
| uvlc_tbl1 contains decoding information for non-initial row of quads | |
| ui32 | ojph::local::uvlc_tbl1_wide [4096] = { 0 } |
| uvlc_tbl1_wide: wider UVLC table for non-initial rows. Index = mode(2 bits) * 1024 + vlc_data(10 bits) = 12 bits. Entry bits: [4:0]=total_bits, [12:5]=u_q0, [20:13]=u_q1. total_bits == 0x1F means fallback to original decode path. | |
| ui8 | ojph::local::uvlc_bias [256+64] = { 0 } |
| uvlc_bias contains decoding info. for initial row of quads | |
| static bool | ojph::local::uvlc_tables_initialized = uvlc_init_tables() |
| Initializes UVLC tables uvlc_tbl0 and uvlc_tbl1. | |
| static bool | ojph::local::uvlc_wide_initialized = uvlc_init_wide_table() |
| Initializes wide UVLC table uvlc_tbl1_wide. | |
UVLC decoding tables used to partially decode u values from UVLC
codewords.
The table index is 8 (or 9) bits and composed of two parts:
The 6 LSBs carries the head of the VLC to be decoded. Up to 6 bits to be used; these are uvlc prefix code for quad 0 and 1
The 2 (or 3) MSBs contain u_off of quad 0 + 2 * o_off quad 1
total total prefix length for quads 0 and 1 (3 bits) total total suffix length for quads 0 and 1 (4 bits) suffix length for quad 0 (3 bits) prefix for quad 0 (3 bits) prefix for quad 1 (3 bits) u_q0 bias is 2 bits u_q1 bias is 2 bits
|
static |
#include <ojph_block_common.cpp>
Initializes uvlc_tbl0 and uvlc_tbl1 tables.
Definition at line 196 of file ojph_block_common.cpp.
References uvlc_bias, uvlc_tbl0, and uvlc_tbl1.
Referenced by initialize_block_encoder_tables().
|
static |
#include <ojph_block_common.cpp>
Initializes uvlc_tbl1_wide: wider UVLC table for non-initial rows. Index = mode(2b) * 1024 + vlc(10b). Entry packs total_bits[4:0], u_q0[12:5], u_q1[20:13]. total_bits == 0x1F signals fallback to original decode.
Definition at line 346 of file ojph_block_common.cpp.
References uvlc_tbl1_wide.
| ui8 ojph::local::uvlc_bias = { 0 } |
#include <ojph_block_common.cpp>
uvlc_bias contains decoding info. for initial row of quads
Definition at line 116 of file ojph_block_common.cpp.
Referenced by ojph_decode_codeblock64(), and uvlc_init_tables().
|
static |
#include <ojph_block_common.cpp>
Initializes UVLC tables uvlc_tbl0 and uvlc_tbl1.
Definition at line 428 of file ojph_block_common.cpp.
| ui16 ojph::local::uvlc_tbl0 = { 0 } |
#include <ojph_block_common.cpp>
uvlc_tbl0 contains decoding information for initial row of quads
Definition at line 106 of file ojph_block_common.cpp.
Referenced by ojph_decode_codeblock32(), ojph_decode_codeblock64(), ojph_decode_codeblock_wasm(), and uvlc_init_tables().
| ui16 ojph::local::uvlc_tbl1 = { 0 } |
#include <ojph_block_common.cpp>
uvlc_tbl1 contains decoding information for non-initial row of quads
Definition at line 109 of file ojph_block_common.cpp.
Referenced by ojph_decode_codeblock32(), ojph_decode_codeblock64(), ojph_decode_codeblock_wasm(), and uvlc_init_tables().
| ui32 ojph::local::uvlc_tbl1_wide = { 0 } |
#include <ojph_block_common.cpp>
uvlc_tbl1_wide: wider UVLC table for non-initial rows. Index = mode(2 bits) * 1024 + vlc_data(10 bits) = 12 bits. Entry bits: [4:0]=total_bits, [12:5]=u_q0, [20:13]=u_q1. total_bits == 0x1F means fallback to original decode path.
Definition at line 114 of file ojph_block_common.cpp.
Referenced by uvlc_init_wide_table().
|
static |
#include <ojph_block_common.cpp>
Initializes wide UVLC table uvlc_tbl1_wide.
Definition at line 434 of file ojph_block_common.cpp.