FFmpeg
Macros | Functions | Variables
tak.c File Reference
#include "libavutil/crc.h"
#include "libavutil/intreadwrite.h"
#include "tak.h"

Go to the source code of this file.

Macros

#define BITSTREAM_READER_LE
 

Functions

static int tak_get_nb_samples (int sample_rate, enum TAKFrameSizeType type)
 
int ff_tak_check_crc (const uint8_t *buf, unsigned int buf_size)
 
void ff_tak_parse_streaminfo (TAKStreamInfo *s, GetBitContext *gb)
 
int avpriv_tak_parse_streaminfo (TAKStreamInfo *s, const uint8_t *buf, int size)
 Parse the Streaminfo metadata block. More...
 
int ff_tak_decode_frame_header (AVCodecContext *avctx, GetBitContext *gb, TAKStreamInfo *ti, int log_level_offset)
 Validate and decode a frame header. More...
 

Variables

static const int64_t tak_channel_layouts []
 
static const uint16_t frame_duration_type_quants []
 

Macro Definition Documentation

◆ BITSTREAM_READER_LE

#define BITSTREAM_READER_LE

Definition at line 25 of file tak.c.

Function Documentation

◆ tak_get_nb_samples()

static int tak_get_nb_samples ( int  sample_rate,
enum TAKFrameSizeType  type 
)
static

Definition at line 54 of file tak.c.

Referenced by ff_tak_parse_streaminfo().

◆ ff_tak_check_crc()

int ff_tak_check_crc ( const uint8_t buf,
unsigned int  buf_size 
)

Definition at line 77 of file tak.c.

Referenced by tak_decode_frame(), and tak_parse().

◆ ff_tak_parse_streaminfo()

void ff_tak_parse_streaminfo ( TAKStreamInfo s,
GetBitContext gb 
)

Definition at line 93 of file tak.c.

Referenced by avpriv_tak_parse_streaminfo(), and ff_tak_decode_frame_header().

◆ avpriv_tak_parse_streaminfo()

int avpriv_tak_parse_streaminfo ( TAKStreamInfo s,
const uint8_t buf,
int  size 
)

Parse the Streaminfo metadata block.

Parameters
[out]sstorage for parsed information
[in]bufinput buffer
[in]sizesize of input buffer in bytes
Returns
non-zero on error, 0 if OK

Definition at line 128 of file tak.c.

Referenced by tak_read_header().

◆ ff_tak_decode_frame_header()

int ff_tak_decode_frame_header ( AVCodecContext avctx,
GetBitContext gb,
TAKStreamInfo s,
int  log_level_offset 
)

Validate and decode a frame header.

Parameters
avctxAVCodecContext to use as av_log() context
[in]gbGetBitContext from which to read frame header
[out]sframe information
log_level_offsetlog level offset, can be used to silence error messages.
Returns
non-zero on error, 0 if OK

Definition at line 141 of file tak.c.

Referenced by tak_decode_frame(), and tak_parse().

Variable Documentation

◆ tak_channel_layouts

const int64_t tak_channel_layouts[]
static

◆ frame_duration_type_quants

const uint16_t frame_duration_type_quants[]
static
Initial value:
= {
3, 4, 6, 8, 4096, 8192, 16384, 512, 1024, 2048,
}

Definition at line 50 of file tak.c.

Referenced by tak_get_nb_samples().

AV_CH_TOP_FRONT_CENTER
#define AV_CH_TOP_FRONT_CENTER
Definition: channel_layout.h:62
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_TOP_BACK_LEFT
#define AV_CH_TOP_BACK_LEFT
Definition: channel_layout.h:64
AV_CH_TOP_BACK_CENTER
#define AV_CH_TOP_BACK_CENTER
Definition: channel_layout.h:65
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_TOP_BACK_RIGHT
#define AV_CH_TOP_BACK_RIGHT
Definition: channel_layout.h:66
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_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