FFmpeg  4.0
Macros | Functions | Variables
pcm_tablegen.h File Reference
#include <stdint.h>
#include "libavutil/attributes.h"

Go to the source code of this file.

Macros

#define SIGN_BIT   (0x80) /* Sign bit for a A-law byte. */
 
#define QUANT_MASK   (0xf) /* Quantization field mask. */
 
#define NSEGS   (8) /* Number of A-law segments. */
 
#define SEG_SHIFT   (4) /* Left shift for segment number. */
 
#define SEG_MASK   (0x70) /* Segment field mask. */
 
#define BIAS   (0x84) /* Bias for linear code. */
 

Functions

static av_cold int alaw2linear (unsigned char a_val)
 
static av_cold int ulaw2linear (unsigned char u_val)
 
static av_cold void build_xlaw_table (uint8_t *linear_to_xlaw, int(*xlaw2linear)(unsigned char), int mask)
 
static void pcm_alaw_tableinit (void)
 
static void pcm_ulaw_tableinit (void)
 

Variables

static uint8_t linear_to_alaw [16384]
 
static uint8_t linear_to_ulaw [16384]
 

Macro Definition Documentation

◆ SIGN_BIT

#define SIGN_BIT   (0x80) /* Sign bit for a A-law byte. */

Definition at line 31 of file pcm_tablegen.h.

Referenced by alaw2linear(), and ulaw2linear().

◆ QUANT_MASK

#define QUANT_MASK   (0xf) /* Quantization field mask. */

Definition at line 32 of file pcm_tablegen.h.

Referenced by alaw2linear(), and ulaw2linear().

◆ NSEGS

#define NSEGS   (8) /* Number of A-law segments. */

Definition at line 33 of file pcm_tablegen.h.

◆ SEG_SHIFT

#define SEG_SHIFT   (4) /* Left shift for segment number. */

Definition at line 34 of file pcm_tablegen.h.

Referenced by alaw2linear(), and ulaw2linear().

◆ SEG_MASK

#define SEG_MASK   (0x70) /* Segment field mask. */

Definition at line 35 of file pcm_tablegen.h.

Referenced by alaw2linear().

◆ BIAS

#define BIAS   (0x84) /* Bias for linear code. */

Definition at line 37 of file pcm_tablegen.h.

Referenced by ulaw2linear().

Function Documentation

◆ alaw2linear()

static av_cold int alaw2linear ( unsigned char  a_val)
static

Definition at line 40 of file pcm_tablegen.h.

Referenced by pcm_alaw_tableinit(), and pcm_decode_init().

◆ ulaw2linear()

static av_cold int ulaw2linear ( unsigned char  u_val)
static

Definition at line 55 of file pcm_tablegen.h.

Referenced by pcm_decode_init(), and pcm_ulaw_tableinit().

◆ build_xlaw_table()

static av_cold void build_xlaw_table ( uint8_t linear_to_xlaw,
int(*)(unsigned char)  xlaw2linear,
int  mask 
)
static

Definition at line 81 of file pcm_tablegen.h.

Referenced by pcm_alaw_tableinit(), and pcm_ulaw_tableinit().

◆ pcm_alaw_tableinit()

static void pcm_alaw_tableinit ( void  )
static

Definition at line 105 of file pcm_tablegen.h.

Referenced by main(), and pcm_encode_init().

◆ pcm_ulaw_tableinit()

static void pcm_ulaw_tableinit ( void  )
static

Definition at line 110 of file pcm_tablegen.h.

Referenced by main(), and pcm_encode_init().

Variable Documentation

◆ linear_to_alaw

uint8_t linear_to_alaw[16384]
static

Definition at line 78 of file pcm_tablegen.h.

Referenced by main(), pcm_alaw_tableinit(), and pcm_encode_frame().

◆ linear_to_ulaw

uint8_t linear_to_ulaw[16384]
static

Definition at line 79 of file pcm_tablegen.h.

Referenced by main(), pcm_encode_frame(), and pcm_ulaw_tableinit().