8svx audio decoder More...
#include "avcodec.h"
Go to the source code of this file.
Data Structures | |
struct | EightSvxContext |
decoder context More... | |
Defines | |
#define | MAX_FRAME_SIZE 32768 |
Typedefs | |
typedef struct EightSvxContext | EightSvxContext |
decoder context | |
Functions | |
static void | delta_decode (uint8_t *dst, const uint8_t *src, int src_size, uint8_t *state, const int8_t *table, int channels) |
Delta decode the compressed values in src, and put the resulting decoded samples in dst. | |
static void | raw_decode (uint8_t *dst, const int8_t *src, int src_size, int channels) |
static int | eightsvx_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt) |
decode a frame | |
static av_cold int | eightsvx_decode_init (AVCodecContext *avctx) |
initialize 8svx decoder | |
static av_cold int | eightsvx_decode_close (AVCodecContext *avctx) |
Variables | |
static const int8_t | fibonacci [16] |
static const int8_t | exponential [16] |
AVCodec | ff_eightsvx_fib_decoder |
AVCodec | ff_eightsvx_exp_decoder |
AVCodec | ff_pcm_s8_planar_decoder |
8svx audio decoder
supports: fibonacci delta encoding : exponential encoding
Definition in file 8svx.c.
#define MAX_FRAME_SIZE 32768 |
Definition at line 51 of file 8svx.c.
Referenced by eightsvx_decode_frame().
typedef struct EightSvxContext EightSvxContext |
decoder context
static void delta_decode | ( | uint8_t * | dst, | |
const uint8_t * | src, | |||
int | src_size, | |||
uint8_t * | state, | |||
const int8_t * | table, | |||
int | channels | |||
) | [static] |
Delta decode the compressed values in src, and put the resulting decoded samples in dst.
[in,out] | state | starting value. it is saved for use in the next call. |
Definition at line 59 of file 8svx.c.
Referenced by eightsvx_decode_frame().
static av_cold int eightsvx_decode_close | ( | AVCodecContext * | avctx | ) | [static] |
static int eightsvx_decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | got_frame_ptr, | |||
AVPacket * | avpkt | |||
) | [static] |
static av_cold int eightsvx_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
static void raw_decode | ( | uint8_t * | dst, | |
const int8_t * | src, | |||
int | src_size, | |||
int | channels | |||
) | [static] |
Definition at line 77 of file 8svx.c.
Referenced by eightsvx_decode_frame().
const int8_t exponential[16] [static] |
{ -128, -64, -32, -16, -8, -4, -2, -1, 0, 1, 2, 4, 8, 16, 32, 64 }
Definition at line 48 of file 8svx.c.
Referenced by eightsvx_decode_init().
{ .name = "8svx_exp", .type = AVMEDIA_TYPE_AUDIO, .id = CODEC_ID_8SVX_EXP, .priv_data_size = sizeof (EightSvxContext), .init = eightsvx_decode_init, .close = eightsvx_decode_close, .decode = eightsvx_decode_frame, .capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"), }
{ .name = "8svx_fib", .type = AVMEDIA_TYPE_AUDIO, .id = CODEC_ID_8SVX_FIB, .priv_data_size = sizeof (EightSvxContext), .init = eightsvx_decode_init, .close = eightsvx_decode_close, .decode = eightsvx_decode_frame, .capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"), }
{ .name = "pcm_s8_planar", .type = AVMEDIA_TYPE_AUDIO, .id = CODEC_ID_PCM_S8_PLANAR, .priv_data_size = sizeof(EightSvxContext), .init = eightsvx_decode_init, .close = eightsvx_decode_close, .decode = eightsvx_decode_frame, .capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit planar"), }
const int8_t fibonacci[16] [static] |
{ -34, -21, -13, -8, -5, -3, -2, -1, 0, 1, 2, 3, 5, 8, 13, 21 }
Definition at line 46 of file 8svx.c.
Referenced by eightsvx_decode_init().