FFmpeg
Data Structures | Functions | Variables
mlp_parse.h File Reference
#include <stdint.h>
#include "libavutil/channel_layout.h"
#include "get_bits.h"

Go to the source code of this file.

Data Structures

struct  MLPHeaderInfo
 

Functions

static int mlp_samplerate (int in)
 
static int truehd_channels (int chanmap)
 
static uint64_t truehd_layout (int chanmap)
 
int ff_mlp_read_major_sync (void *log, MLPHeaderInfo *mh, GetBitContext *gb)
 Read a major sync info header - contains high level information about the stream - sample rate, channel arrangement etc. More...
 

Variables

static const uint8_t thd_chancount [13]
 
static const uint64_t thd_layout [13]
 

Function Documentation

◆ mlp_samplerate()

static int mlp_samplerate ( int  in)
inlinestatic

Definition at line 84 of file mlp_parse.h.

Referenced by ff_mlp_read_major_sync(), mlp_read_header(), and mov_read_dmlp().

◆ truehd_channels()

static int truehd_channels ( int  chanmap)
inlinestatic

Definition at line 92 of file mlp_parse.h.

Referenced by ff_mlp_read_major_sync().

◆ truehd_layout()

static uint64_t truehd_layout ( int  chanmap)
inlinestatic

Definition at line 102 of file mlp_parse.h.

Referenced by ff_mlp_read_major_sync(), and mov_read_dmlp().

◆ ff_mlp_read_major_sync()

int ff_mlp_read_major_sync ( void *  log,
MLPHeaderInfo mh,
GetBitContext gb 
)

Read a major sync info header - contains high level information about the stream - sample rate, channel arrangement etc.

Most of this information is not actually necessary for decoding, only for playback. gb must be a freshly initialized GetBitContext with no bits read.

Definition at line 86 of file mlp_parse.c.

Referenced by mlp_parse(), read_major_sync(), and truehd_core_filter().

Variable Documentation

◆ thd_chancount

const uint8_t thd_chancount[13]
static
Initial value:
= {
2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1
}

Definition at line 63 of file mlp_parse.h.

Referenced by truehd_channels().

◆ thd_layout

const uint64_t thd_layout[13]
static
AV_CH_TOP_FRONT_CENTER
#define AV_CH_TOP_FRONT_CENTER
Definition: channel_layout.h:171
AV_CH_LOW_FREQUENCY_2
#define AV_CH_LOW_FREQUENCY_2
Definition: channel_layout.h:182
AV_CH_TOP_FRONT_RIGHT
#define AV_CH_TOP_FRONT_RIGHT
Definition: channel_layout.h:172
AV_CH_TOP_FRONT_LEFT
#define AV_CH_TOP_FRONT_LEFT
Definition: channel_layout.h:170
AV_CH_WIDE_LEFT
#define AV_CH_WIDE_LEFT
Definition: channel_layout.h:178
AV_CH_SURROUND_DIRECT_RIGHT
#define AV_CH_SURROUND_DIRECT_RIGHT
Definition: channel_layout.h:181
AV_CH_WIDE_RIGHT
#define AV_CH_WIDE_RIGHT
Definition: channel_layout.h:179
AV_CH_BACK_LEFT
#define AV_CH_BACK_LEFT
Definition: channel_layout.h:162
AV_CH_LOW_FREQUENCY
#define AV_CH_LOW_FREQUENCY
Definition: channel_layout.h:161
AV_CH_TOP_CENTER
#define AV_CH_TOP_CENTER
Definition: channel_layout.h:169
AV_CH_FRONT_CENTER
#define AV_CH_FRONT_CENTER
Definition: channel_layout.h:160
AV_CH_FRONT_LEFT_OF_CENTER
#define AV_CH_FRONT_LEFT_OF_CENTER
Definition: channel_layout.h:164
AV_CH_FRONT_RIGHT_OF_CENTER
#define AV_CH_FRONT_RIGHT_OF_CENTER
Definition: channel_layout.h:165
AV_CH_BACK_CENTER
#define AV_CH_BACK_CENTER
Definition: channel_layout.h:166
AV_CH_FRONT_LEFT
#define AV_CH_FRONT_LEFT
Definition: channel_layout.h:158
AV_CH_SIDE_RIGHT
#define AV_CH_SIDE_RIGHT
Definition: channel_layout.h:168
AV_CH_SURROUND_DIRECT_LEFT
#define AV_CH_SURROUND_DIRECT_LEFT
Definition: channel_layout.h:180
AV_CH_FRONT_RIGHT
#define AV_CH_FRONT_RIGHT
Definition: channel_layout.h:159
AV_CH_BACK_RIGHT
#define AV_CH_BACK_RIGHT
Definition: channel_layout.h:163
AV_CH_SIDE_LEFT
#define AV_CH_SIDE_LEFT
Definition: channel_layout.h:167