Encoder  4.4
VC-5 Sample Encoder
codeset.h File Reference

Go to the source code of this file.

Data Structures

struct  codeset
 

Typedefs

typedef enum _codeset_flags CODESET_FLAGS
 Codeset flags that determine how the codebook is used for encoding. More...
 
typedef struct codeset CODESET
 

Enumerations

enum  _codeset_flags { CODESET_FLAGS_COMPANDING_NONE = 0x0002, CODESET_FLAGS_COMPANDING_CUBIC = 0x0004 }
 Codeset flags that determine how the codebook is used for encoding. More...
 

Variables

CODESET cs17
 Define the codeset used by the reference codec. More...
 

Detailed Description

The codeset data structure includes the codebook and flags that indicate how to use the codebook. The codeset may also include tables that are derived from the codebook to facilite encoding and decoding.

(c) 2013 Society of Motion Picture & Television Engineers LLC and Woodman Labs, Inc. All rights reserved–use subject to compliance with end user license agreement.

Typedef Documentation

◆ CODESET

typedef struct codeset CODESET

The collection of codebooks that are used by the codec are called a codeset.

The codebook in seach codeset is derived from the master codebook that is included in the codec by including the table for the codebook. The encoder uses specialized codebooks for coefficient magnitudes and runs of zeros that are derived from the master codebook.

◆ CODESET_FLAGS

Codeset flags that determine how the codebook is used for encoding.

The codeset flags determine how the codebook in the codeset is used to compute the tables for encoding coefficient magnitudes and runs of zeros.

The companding curve is applied to the quantized coefficients before the values are entropy coded to fit the coefficient magnitudes into the range of magnitudes provided by the codebook. The companding curve is applied when the encoding table for coefficient magnitudes is computed.

Enumeration Type Documentation

◆ _codeset_flags

Codeset flags that determine how the codebook is used for encoding.

The codeset flags determine how the codebook in the codeset is used to compute the tables for encoding coefficient magnitudes and runs of zeros.

The companding curve is applied to the quantized coefficients before the values are entropy coded to fit the coefficient magnitudes into the range of magnitudes provided by the codebook. The companding curve is applied when the encoding table for coefficient magnitudes is computed.

Enumerator
CODESET_FLAGS_COMPANDING_NONE 

Do not apply a companding curve.

CODESET_FLAGS_COMPANDING_CUBIC 

Apply a cubic companding curve.

Variable Documentation

◆ cs17

CODESET cs17

Define the codeset used by the reference codec.

The baseline codec only supports codebook #17.

Codebook #17 is intended to be used with cubic companding (see FillMagnitudeEncodingTable and ComputeCubicTable).