tak.c File Reference
#include "libavutil/bswap.h"
#include "libavutil/crc.h"
#include "libavutil/intreadwrite.h"
#include "tak.h"
Include dependency graph for tak.c:

Go to the source code of this file.

Macros

#define CRC_TABLE_SIZE   1024
 

Functions

static int tak_get_nb_samples (int sample_rate, enum TAKFrameSizeType type)
 
av_cold void ff_tak_init_crc (void)
 
int ff_tak_check_crc (const uint8_t *buf, unsigned int buf_size)
 
void avpriv_tak_parse_streaminfo (GetBitContext *gb, TAKStreamInfo *s)
 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 []
 
static int crc_init = 0
 
static AVCRC crc_24 [CRC_TABLE_SIZE]
 

Macro Definition Documentation

#define CRC_TABLE_SIZE   1024

Definition at line 80 of file tak.c.

Function Documentation

void avpriv_tak_parse_streaminfo ( GetBitContext gb,
TAKStreamInfo s 
)

Parse the Streaminfo metadata block.

Parameters
[in]gbpointer to GetBitContext
[out]sstorage for parsed information

Definition at line 108 of file tak.c.

Referenced by ff_tak_decode_frame_header(), and tak_read_header().

int ff_tak_check_crc ( const uint8_t buf,
unsigned int  buf_size 
)

Definition at line 92 of file tak.c.

Referenced by tak_decode_frame(), and tak_parse().

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 143 of file tak.c.

Referenced by tak_decode_frame(), and tak_parse().

av_cold void ff_tak_init_crc ( void  )

Definition at line 84 of file tak.c.

Referenced by tak_decode_init(), and tak_init().

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

Definition at line 53 of file tak.c.

Referenced by avpriv_tak_parse_streaminfo().

Variable Documentation

AVCRC crc_24[CRC_TABLE_SIZE]
static

Definition at line 82 of file tak.c.

Referenced by ff_tak_check_crc(), and ff_tak_init_crc().

int crc_init = 0
static

Definition at line 76 of file tak.c.

Referenced by ff_tak_init_crc().

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

Definition at line 49 of file tak.c.

Referenced by tak_get_nb_samples().

const int64_t tak_channel_layouts[]
static
Initial value:
= {
0,
}
#define AV_CH_TOP_FRONT_RIGHT
#define AV_CH_TOP_FRONT_LEFT
#define AV_CH_TOP_FRONT_CENTER
#define AV_CH_TOP_BACK_LEFT
#define AV_CH_TOP_BACK_CENTER
#define AV_CH_LOW_FREQUENCY
#define AV_CH_BACK_LEFT
#define AV_CH_TOP_CENTER
#define AV_CH_FRONT_LEFT_OF_CENTER
#define AV_CH_FRONT_CENTER
#define AV_CH_FRONT_RIGHT_OF_CENTER
#define AV_CH_FRONT_LEFT
#define AV_CH_TOP_BACK_RIGHT
#define AV_CH_BACK_CENTER
#define AV_CH_SIDE_RIGHT
#define AV_CH_FRONT_RIGHT
#define AV_CH_SIDE_LEFT
#define AV_CH_BACK_RIGHT

Definition at line 27 of file tak.c.

Referenced by avpriv_tak_parse_streaminfo().