OpenJPH
Open-source implementation of JPEG2000 Part-15
Loading...
Searching...
No Matches
ojph_block_common.cpp File Reference

defines tables used for decoding HTJ2K blocks More...

#include <cassert>
#include <cstddef>
#include <cstring>
#include "ojph_block_common.h"
#include "table0.h"
#include "table1.h"

Go to the source code of this file.

Namespaces

namespace  ojph
namespace  ojph::local

Functions

static bool ojph::local::vlc_init_tables ()
 Initializes vlc_tbl0 and vlc_tbl1 tables, from table0.h and table1.h.
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::vlc_tbl0 [1024] = { 0 }
 vlc_tbl0 contains decoding information for initial row of quads
ui16 ojph::local::vlc_tbl1 [1024] = { 0 }
 vlc_tbl1 contains decoding information for non-initial row of quads
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::vlc_tables_initialized = vlc_init_tables()
 Initializes VLC tables vlc_tbl0 and vlc_tbl1.
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.

Detailed Description

defines tables used for decoding HTJ2K blocks

Definition in file ojph_block_common.cpp.