FFmpeg
|
Shorten decoder. More...
#include <limits.h>
#include "avcodec.h"
#include "bytestream.h"
#include "get_bits.h"
#include "golomb.h"
#include "internal.h"
Go to the source code of this file.
Data Structures | |
struct | ShortenContext |
Macros | |
#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_S8 1 |
#define | TYPE_U8 2 |
#define | TYPE_S16HL 3 |
#define | TYPE_U16HL 4 |
#define | TYPE_S16LH 5 |
#define | TYPE_U16LH 6 |
#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 |
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 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] |
AVCodec | ff_shorten_decoder |
Shorten decoder.
Definition in file shorten.c.
#define MAX_CHANNELS 8 |
Definition at line 36 of file shorten.c.
Referenced by read_header().
#define MAX_BLOCKSIZE 65535 |
Definition at line 37 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
#define OUT_BUFFER_SIZE 16384 |
Definition at line 39 of file shorten.c.
Referenced by read_header().
#define ULONGSIZE 2 |
Definition at line 41 of file shorten.c.
Referenced by get_uint().
#define WAVE_FORMAT_PCM 0x0001 |
Definition at line 43 of file shorten.c.
Referenced by decode_wave_header().
#define DEFAULT_BLOCK_SIZE 256 |
Definition at line 45 of file shorten.c.
Referenced by read_header().
#define TYPESIZE 4 |
Definition at line 47 of file shorten.c.
Referenced by read_header().
#define CHANSIZE 0 |
Definition at line 48 of file shorten.c.
Referenced by read_header().
#define LPCQSIZE 2 |
Definition at line 49 of file shorten.c.
Referenced by decode_subframe_lpc(), and read_header().
#define ENERGYSIZE 3 |
Definition at line 50 of file shorten.c.
Referenced by shorten_decode_frame().
#define BITSHIFTSIZE 2 |
Definition at line 51 of file shorten.c.
Referenced by shorten_decode_frame().
#define TYPE_U8 2 |
Definition at line 54 of file shorten.c.
Referenced by init_offset(), and shorten_decode_frame().
#define TYPE_S16HL 3 |
Definition at line 55 of file shorten.c.
Referenced by init_offset(), and shorten_decode_frame().
#define TYPE_S16LH 5 |
Definition at line 57 of file shorten.c.
Referenced by init_offset(), and shorten_decode_frame().
#define NWRAP 3 |
Definition at line 60 of file shorten.c.
Referenced by read_header().
#define NSKIPSIZE 1 |
Definition at line 61 of file shorten.c.
Referenced by read_header().
#define LPCQUANT 5 |
Definition at line 63 of file shorten.c.
Referenced by decode_subframe_lpc().
#define V2LPCQOFFSET (1 << LPCQUANT) |
Definition at line 64 of file shorten.c.
Referenced by read_header().
#define FNSIZE 2 |
Definition at line 66 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
#define FN_QUIT 4 |
Definition at line 71 of file shorten.c.
Referenced by shorten_decode_frame().
#define FN_BLOCKSIZE 5 |
Definition at line 72 of file shorten.c.
Referenced by shorten_decode_frame().
#define FN_BITSHIFT 6 |
Definition at line 73 of file shorten.c.
Referenced by shorten_decode_frame().
#define FN_QLPC 7 |
Definition at line 74 of file shorten.c.
Referenced by decode_subframe_lpc().
#define FN_ZERO 8 |
Definition at line 75 of file shorten.c.
Referenced by shorten_decode_frame().
#define FN_VERBATIM 9 |
Definition at line 76 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
#define VERBATIM_CKSIZE_SIZE 5 |
Definition at line 81 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
#define VERBATIM_BYTE_SIZE 8 |
Definition at line 82 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
#define CANONICAL_HEADER_SIZE 44 |
Definition at line 83 of file shorten.c.
Referenced by read_header().
|
static |
|
static |
Definition at line 123 of file shorten.c.
Referenced by read_header().
|
inlinestatic |
Definition at line 165 of file shorten.c.
Referenced by read_header(), and shorten_decode_frame().
|
static |
Definition at line 172 of file shorten.c.
Referenced by shorten_decode_frame().
|
static |
Definition at line 181 of file shorten.c.
Referenced by read_header().
|
static |
Definition at line 207 of file shorten.c.
Referenced by read_header().
|
static |
Definition at line 279 of file shorten.c.
Referenced by shorten_decode_frame().
|
static |
Definition at line 334 of file shorten.c.
Referenced by shorten_decode_frame().
|
static |
|
static |
|
static |
indicates if the FN_* command is audio or non-audio
Definition at line 79 of file shorten.c.
Referenced by shorten_decode_frame().
|
static |
Definition at line 272 of file shorten.c.
Referenced by decode_subframe_lpc().
AVCodec ff_shorten_decoder |