FFmpeg
|
Smacker decoder. More...
#include <stdio.h>
#include <stdlib.h>
#include "libavutil/channel_layout.h"
#include "avcodec.h"
#include "internal.h"
#include "mathops.h"
#include "get_bits.h"
#include "bytestream.h"
Go to the source code of this file.
Data Structures | |
struct | SmackVContext |
struct | HuffContext |
Context used for code reconstructing. More... | |
struct | DBCtx |
Macros | |
#define | BITSTREAM_READER_LE |
#define | SMKTREE_BITS 9 |
#define | SMK_NODE 0x80000000 |
Typedefs | |
typedef struct SmackVContext | SmackVContext |
typedef struct HuffContext | HuffContext |
Context used for code reconstructing. More... | |
typedef struct DBCtx | DBCtx |
Enumerations | |
enum | SmkBlockTypes { SMK_BLK_MONO = 0, SMK_BLK_FULL = 1, SMK_BLK_SKIP = 2, SMK_BLK_FILL = 3 } |
Functions | |
static int | smacker_decode_tree (GetBitContext *gb, HuffContext *hc, uint32_t prefix, int length) |
Decode local frame tree. More... | |
static int | smacker_decode_bigtree (GetBitContext *gb, HuffContext *hc, DBCtx *ctx) |
Decode header tree. More... | |
static int | smacker_decode_header_tree (SmackVContext *smk, GetBitContext *gb, int **recodes, int *last, int size) |
Store large tree as FFmpeg's vlc codes. More... | |
static int | decode_header_trees (SmackVContext *smk) |
static av_always_inline void | last_reset (int *recode, int *last) |
static av_always_inline int | smk_get_code (GetBitContext *gb, int *recode, int *last) |
static int | decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
static av_cold int | decode_init (AVCodecContext *avctx) |
static av_cold int | decode_end (AVCodecContext *avctx) |
static av_cold int | smka_decode_init (AVCodecContext *avctx) |
static int | smka_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt) |
Decode Smacker audio data. More... | |
Variables | |
static const int | block_runs [64] |
AVCodec | ff_smacker_decoder |
AVCodec | ff_smackaud_decoder |
Detailed Description
Smacker decoder.
Definition in file libavcodec/smacker.c.
Macro Definition Documentation
#define BITSTREAM_READER_LE |
Definition at line 39 of file libavcodec/smacker.c.
#define SMK_NODE 0x80000000 |
Definition at line 44 of file libavcodec/smacker.c.
Referenced by smacker_decode_bigtree(), and smk_get_code().
#define SMKTREE_BITS 9 |
Definition at line 43 of file libavcodec/smacker.c.
Referenced by smacker_decode_bigtree(), smacker_decode_header_tree(), smacker_decode_tree(), and smka_decode_frame().
Typedef Documentation
typedef struct HuffContext HuffContext |
Context used for code reconstructing.
typedef struct SmackVContext SmackVContext |
Enumeration Type Documentation
enum SmkBlockTypes |
Enumerator | |
---|---|
SMK_BLK_MONO | |
SMK_BLK_FULL | |
SMK_BLK_SKIP | |
SMK_BLK_FILL |
Definition at line 89 of file libavcodec/smacker.c.
Function Documentation
|
static |
Definition at line 556 of file libavcodec/smacker.c.
|
static |
Definition at line 368 of file libavcodec/smacker.c.
|
static |
Definition at line 293 of file libavcodec/smacker.c.
Referenced by decode_init().
|
static |
Definition at line 528 of file libavcodec/smacker.c.
|
static |
Definition at line 344 of file libavcodec/smacker.c.
Referenced by decode_frame().
|
static |
Decode header tree.
Definition at line 134 of file libavcodec/smacker.c.
Referenced by smacker_decode_header_tree().
|
static |
Store large tree as FFmpeg's vlc codes.
Definition at line 179 of file libavcodec/smacker.c.
Referenced by decode_header_trees().
|
static |
Decode local frame tree.
Definition at line 98 of file libavcodec/smacker.c.
Referenced by smacker_decode_header_tree(), and smka_decode_frame().
|
static |
Definition at line 349 of file libavcodec/smacker.c.
Referenced by decode_frame().
|
static |
Decode Smacker audio data.
Definition at line 586 of file libavcodec/smacker.c.
|
static |
Definition at line 571 of file libavcodec/smacker.c.
Variable Documentation
|
static |
Definition at line 79 of file libavcodec/smacker.c.
Referenced by decode_frame().
AVCodec ff_smackaud_decoder |
Definition at line 774 of file libavcodec/smacker.c.
AVCodec ff_smacker_decoder |
Definition at line 762 of file libavcodec/smacker.c.
Generated on Fri Dec 20 2024 06:56:15 for FFmpeg by 1.8.11