Shorten decoder. More...
#include <limits.h>#include "avcodec.h"#include "bytestream.h"#include "get_bits.h"#include "golomb.h"Go to the source code of this file.
Data Structures | |
| struct | ShortenContext |
Defines | |
| #define | MAX_CHANNELS 8 |
| #define | MAX_BLOCKSIZE 65535 |
| #define | OUT_BUFFER_SIZE 16384 |
| #define | ULONGSIZE 2 |
| #define | WAVE_FORMAT_PCM 0x0001 |
| #define | DEFAULT_BLOCK_SIZE 256 |
| #define | TYPESIZE 4 |
| #define | CHANSIZE 0 |
| #define | LPCQSIZE 2 |
| #define | ENERGYSIZE 3 |
| #define | BITSHIFTSIZE 2 |
| #define | TYPE_S16HL 3 |
| #define | TYPE_S16LH 5 |
| #define | NWRAP 3 |
| #define | NSKIPSIZE 1 |
| #define | LPCQUANT 5 |
| #define | V2LPCQOFFSET (1 << LPCQUANT) |
| #define | FNSIZE 2 |
| #define | FN_DIFF0 0 |
| #define | FN_DIFF1 1 |
| #define | FN_DIFF2 2 |
| #define | FN_DIFF3 3 |
| #define | FN_QUIT 4 |
| #define | FN_BLOCKSIZE 5 |
| #define | FN_BITSHIFT 6 |
| #define | FN_QLPC 7 |
| #define | FN_ZERO 8 |
| #define | FN_VERBATIM 9 |
| #define | VERBATIM_CKSIZE_SIZE 5 |
| #define | VERBATIM_BYTE_SIZE 8 |
| #define | CANONICAL_HEADER_SIZE 44 |
Typedefs | |
| typedef struct ShortenContext | ShortenContext |
Functions | |
| static av_cold int | shorten_decode_init (AVCodecContext *avctx) |
| static int | allocate_buffers (ShortenContext *s) |
| static unsigned int | get_uint (ShortenContext *s, int k) |
| static void | fix_bitshift (ShortenContext *s, int32_t *buffer) |
| static int | init_offset (ShortenContext *s) |
| static int | decode_wave_header (AVCodecContext *avctx, const uint8_t *header, int header_size) |
| static void | interleave_buffer (int16_t *samples, int nchan, int blocksize, int32_t **buffer) |
| static int | decode_subframe_lpc (ShortenContext *s, int command, int channel, int residual_size, int32_t coffset) |
| static int | read_header (ShortenContext *s) |
| static int | shorten_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt) |
| static av_cold int | shorten_decode_close (AVCodecContext *avctx) |
Variables | |
| static const uint8_t | is_audio_command [10] = { 1, 1, 1, 1, 0, 0, 0, 1, 1, 0 } |
| indicates if the FN_* command is audio or non-audio | |
| static const int | fixed_coeffs [3][3] |
| AVCodec | ff_shorten_decoder |
Shorten decoder.
Definition in file shorten.c.
| #define BITSHIFTSIZE 2 |
Definition at line 50 of file shorten.c.
Referenced by shorten_decode_frame().
| #define CANONICAL_HEADER_SIZE 44 |
Definition at line 78 of file shorten.c.
Referenced by read_header().
| #define CHANSIZE 0 |
Definition at line 47 of file shorten.c.
Referenced by read_header().
| #define DEFAULT_BLOCK_SIZE 256 |
Definition at line 44 of file shorten.c.
Referenced by read_header().
| #define ENERGYSIZE 3 |
Definition at line 49 of file shorten.c.
Referenced by shorten_decode_frame().
| #define FN_BITSHIFT 6 |
Definition at line 68 of file shorten.c.
Referenced by shorten_decode_frame().
| #define FN_BLOCKSIZE 5 |
Definition at line 67 of file shorten.c.
Referenced by shorten_decode_frame().
| #define FN_QLPC 7 |
Definition at line 69 of file shorten.c.
Referenced by decode_subframe_lpc().
| #define FN_QUIT 4 |
Definition at line 66 of file shorten.c.
Referenced by shorten_decode_frame().
| #define FN_VERBATIM 9 |
Definition at line 71 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
| #define FN_ZERO 8 |
Definition at line 70 of file shorten.c.
Referenced by shorten_decode_frame().
| #define FNSIZE 2 |
Definition at line 61 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
| #define LPCQSIZE 2 |
Definition at line 48 of file shorten.c.
Referenced by decode_subframe_lpc(), and read_header().
| #define LPCQUANT 5 |
Definition at line 58 of file shorten.c.
Referenced by decode_subframe_lpc().
| #define MAX_BLOCKSIZE 65535 |
Definition at line 36 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
| #define MAX_CHANNELS 8 |
Definition at line 35 of file shorten.c.
Referenced by read_header().
| #define NSKIPSIZE 1 |
Definition at line 56 of file shorten.c.
Referenced by read_header().
| #define NWRAP 3 |
Definition at line 55 of file shorten.c.
Referenced by read_header().
| #define OUT_BUFFER_SIZE 16384 |
Definition at line 38 of file shorten.c.
Referenced by read_header().
| #define TYPE_S16HL 3 |
Definition at line 52 of file shorten.c.
Referenced by init_offset().
| #define TYPE_S16LH 5 |
Definition at line 53 of file shorten.c.
Referenced by init_offset().
| #define TYPESIZE 4 |
Definition at line 46 of file shorten.c.
Referenced by read_header().
| #define ULONGSIZE 2 |
Definition at line 40 of file shorten.c.
Referenced by get_uint().
| #define VERBATIM_BYTE_SIZE 8 |
Definition at line 77 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
| #define VERBATIM_CKSIZE_SIZE 5 |
Definition at line 76 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
| #define WAVE_FORMAT_PCM 0x0001 |
Definition at line 42 of file shorten.c.
Referenced by decode_wave_header().
| typedef struct ShortenContext ShortenContext |
| static int allocate_buffers | ( | ShortenContext * | s | ) | [static] |
Definition at line 123 of file shorten.c.
Referenced by read_header().
| static int decode_subframe_lpc | ( | ShortenContext * | s, | |
| int | command, | |||
| int | channel, | |||
| int | residual_size, | |||
| int32_t | coffset | |||
| ) | [static] |
Definition at line 275 of file shorten.c.
Referenced by shorten_decode_frame().
| static int decode_wave_header | ( | AVCodecContext * | avctx, | |
| const uint8_t * | header, | |||
| int | header_size | |||
| ) | [static] |
Definition at line 203 of file shorten.c.
Referenced by read_header().
| static void fix_bitshift | ( | ShortenContext * | s, | |
| int32_t * | buffer | |||
| ) | [static] |
Definition at line 172 of file shorten.c.
Referenced by shorten_decode_frame().
| static unsigned int get_uint | ( | ShortenContext * | s, | |
| int | k | |||
| ) | [inline, static] |
Definition at line 165 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
| static int init_offset | ( | ShortenContext * | s | ) | [static] |
Definition at line 181 of file shorten.c.
Referenced by read_header().
| static void interleave_buffer | ( | int16_t * | samples, | |
| int | nchan, | |||
| int | blocksize, | |||
| int32_t ** | buffer | |||
| ) | [static] |
Definition at line 260 of file shorten.c.
Referenced by shorten_decode_frame().
| static int read_header | ( | ShortenContext * | s | ) | [static] |
Definition at line 325 of file shorten.c.
Referenced by shorten_decode_frame().
| static av_cold int shorten_decode_close | ( | AVCodecContext * | avctx | ) | [static] |
| static int shorten_decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | got_frame_ptr, | |||
| AVPacket * | avpkt | |||
| ) | [static] |
| static av_cold int shorten_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
{
.name = "shorten",
.type = AVMEDIA_TYPE_AUDIO,
.id = CODEC_ID_SHORTEN,
.priv_data_size = sizeof(ShortenContext),
.init = shorten_decode_init,
.close = shorten_decode_close,
.decode = shorten_decode_frame,
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1,
.long_name= NULL_IF_CONFIG_SMALL("Shorten"),
}
const int fixed_coeffs[3][3] [static] |
{
{ 1, 0, 0 },
{ 2, -1, 0 },
{ 3, -3, 1 }
}
Definition at line 269 of file shorten.c.
Referenced by decode_subframe_lpc().
const uint8_t is_audio_command[10] = { 1, 1, 1, 1, 0, 0, 0, 1, 1, 0 } [static] |
indicates if the FN_* command is audio or non-audio
Definition at line 74 of file shorten.c.
Referenced by shorten_decode_frame().