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(), and mov_read_dmlp().

◆ 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:62
AV_CH_LOW_FREQUENCY_2
#define AV_CH_LOW_FREQUENCY_2
Definition: channel_layout.h:73
AV_CH_TOP_FRONT_RIGHT
#define AV_CH_TOP_FRONT_RIGHT
Definition: channel_layout.h:63
AV_CH_TOP_FRONT_LEFT
#define AV_CH_TOP_FRONT_LEFT
Definition: channel_layout.h:61
AV_CH_WIDE_LEFT
#define AV_CH_WIDE_LEFT
Definition: channel_layout.h:69
AV_CH_SURROUND_DIRECT_RIGHT
#define AV_CH_SURROUND_DIRECT_RIGHT
Definition: channel_layout.h:72
AV_CH_WIDE_RIGHT
#define AV_CH_WIDE_RIGHT
Definition: channel_layout.h:70
AV_CH_BACK_LEFT
#define AV_CH_BACK_LEFT
Definition: channel_layout.h:53
AV_CH_LOW_FREQUENCY
#define AV_CH_LOW_FREQUENCY
Definition: channel_layout.h:52
AV_CH_TOP_CENTER
#define AV_CH_TOP_CENTER
Definition: channel_layout.h:60
AV_CH_FRONT_CENTER
#define AV_CH_FRONT_CENTER
Definition: channel_layout.h:51
AV_CH_FRONT_LEFT_OF_CENTER
#define AV_CH_FRONT_LEFT_OF_CENTER
Definition: channel_layout.h:55
AV_CH_FRONT_RIGHT_OF_CENTER
#define AV_CH_FRONT_RIGHT_OF_CENTER
Definition: channel_layout.h:56
AV_CH_BACK_CENTER
#define AV_CH_BACK_CENTER
Definition: channel_layout.h:57
AV_CH_FRONT_LEFT
#define AV_CH_FRONT_LEFT
Definition: channel_layout.h:49
AV_CH_SIDE_RIGHT
#define AV_CH_SIDE_RIGHT
Definition: channel_layout.h:59
AV_CH_SURROUND_DIRECT_LEFT
#define AV_CH_SURROUND_DIRECT_LEFT
Definition: channel_layout.h:71
AV_CH_FRONT_RIGHT
#define AV_CH_FRONT_RIGHT
Definition: channel_layout.h:50
AV_CH_BACK_RIGHT
#define AV_CH_BACK_RIGHT
Definition: channel_layout.h:54
AV_CH_SIDE_LEFT
#define AV_CH_SIDE_LEFT
Definition: channel_layout.h:58