FFmpeg
|
#include <inttypes.h>
#include "libavutil/mem.h"
#include "avcodec.h"
#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
Go to the source code of this file.
Data Structures | |
struct | TM2Context |
struct | TM2Codes |
Huffman codes for each of streams. More... | |
struct | TM2Huff |
structure for gathering Huffman codes information More... | |
Macros | |
#define | TM2_ESCAPE 0x80000000 |
#define | TM2_DELTAS 64 |
#define | TM2_OLD_HEADER_MAGIC 0x00000100 |
#define | TM2_NEW_HEADER_MAGIC 0x00000101 |
#define | TM2_INIT_POINTERS() |
#define | TM2_INIT_POINTERS_2() |
#define | TM2_RECALC_BLOCK(CHR, stride, last, CD) |
#define | TM2_HEADER_SIZE 40 |
Enumerations | |
enum | TM2_STREAMS { TM2_C_HI = 0, TM2_C_LO, TM2_L_HI, TM2_L_LO, TM2_UPD, TM2_MOT, TM2_TYPE, TM2_NUM_STREAMS } |
enum | TM2_BLOCKS { TM2_HI_RES = 0, TM2_MED_RES, TM2_LOW_RES, TM2_NULL_RES, TM2_UPDATE, TM2_STILL, TM2_MOTION } |
Functions | |
static int | tm2_read_tree (TM2Context *ctx, int length, TM2Huff *huff) |
static int | tm2_build_huff_table (TM2Context *ctx, TM2Codes *code) |
static void | tm2_free_codes (TM2Codes *code) |
static int | tm2_get_token (GetBitContext *gb, TM2Codes *code) |
static int | tm2_read_header (TM2Context *ctx, const uint8_t *buf) |
static int | tm2_read_deltas (TM2Context *ctx, int stream_id) |
static int | tm2_read_stream (TM2Context *ctx, const uint8_t *buf, int stream_id, int buf_size) |
static int | GET_TOK (TM2Context *ctx, int type) |
static void | tm2_apply_deltas (TM2Context *ctx, int *Y, int stride, int *deltas, int *last) |
static void | tm2_high_chroma (int *data, int stride, int *last, unsigned *CD, int *deltas) |
static void | tm2_low_chroma (int *data, int stride, int *clast, unsigned *CD, int *deltas, int bx) |
static void | tm2_hi_res_block (TM2Context *ctx, AVFrame *pic, int bx, int by) |
static void | tm2_med_res_block (TM2Context *ctx, AVFrame *pic, int bx, int by) |
static void | tm2_low_res_block (TM2Context *ctx, AVFrame *pic, int bx, int by) |
static void | tm2_null_res_block (TM2Context *ctx, AVFrame *pic, int bx, int by) |
static void | tm2_still_block (TM2Context *ctx, AVFrame *pic, int bx, int by) |
static void | tm2_update_block (TM2Context *ctx, AVFrame *pic, int bx, int by) |
static void | tm2_motion_block (TM2Context *ctx, AVFrame *pic, int bx, int by) |
static int | tm2_decode_blocks (TM2Context *ctx, AVFrame *p) |
static int | decode_frame (AVCodecContext *avctx, AVFrame *rframe, int *got_frame, AVPacket *avpkt) |
static av_cold int | decode_init (AVCodecContext *avctx) |
static av_cold int | decode_end (AVCodecContext *avctx) |
Variables | |
static const int | tm2_stream_order [TM2_NUM_STREAMS] |
const FFCodec | ff_truemotion2_decoder |
Duck TrueMotion2 decoder.
Definition in file truemotion2.c.
#define TM2_ESCAPE 0x80000000 |
Definition at line 37 of file truemotion2.c.
#define TM2_DELTAS 64 |
Definition at line 38 of file truemotion2.c.
#define TM2_OLD_HEADER_MAGIC 0x00000100 |
Definition at line 238 of file truemotion2.c.
#define TM2_NEW_HEADER_MAGIC 0x00000101 |
Definition at line 239 of file truemotion2.c.
#define TM2_INIT_POINTERS | ( | ) |
#define TM2_INIT_POINTERS_2 | ( | ) |
Definition at line 435 of file truemotion2.c.
#define TM2_RECALC_BLOCK | ( | CHR, | |
stride, | |||
last, | |||
CD | |||
) |
Definition at line 448 of file truemotion2.c.
#define TM2_HEADER_SIZE 40 |
Definition at line 887 of file truemotion2.c.
enum TM2_STREAMS |
Enumerator | |
---|---|
TM2_C_HI | |
TM2_C_LO | |
TM2_L_HI | |
TM2_L_LO | |
TM2_UPD | |
TM2_MOT | |
TM2_TYPE | |
TM2_NUM_STREAMS |
Definition at line 41 of file truemotion2.c.
enum TM2_BLOCKS |
Enumerator | |
---|---|
TM2_HI_RES | |
TM2_MED_RES | |
TM2_LOW_RES | |
TM2_NULL_RES | |
TM2_UPDATE | |
TM2_STILL | |
TM2_MOTION |
Definition at line 53 of file truemotion2.c.
|
static |
Definition at line 120 of file truemotion2.c.
Referenced by tm2_build_huff_table().
|
static |
Definition at line 150 of file truemotion2.c.
Referenced by tm2_read_stream().
|
static |
Definition at line 223 of file truemotion2.c.
Referenced by tm2_read_stream().
|
inlinestatic |
Definition at line 229 of file truemotion2.c.
Referenced by tm2_read_stream().
|
inlinestatic |
Definition at line 241 of file truemotion2.c.
Referenced by decode_frame().
|
static |
Definition at line 258 of file truemotion2.c.
Referenced by tm2_read_stream().
|
static |
Definition at line 285 of file truemotion2.c.
Referenced by decode_frame().
|
inlinestatic |
Definition at line 401 of file truemotion2.c.
Referenced by tm2_decode_blocks(), tm2_hi_res_block(), tm2_low_res_block(), tm2_med_res_block(), tm2_motion_block(), and tm2_update_block().
|
inlinestatic |
Definition at line 455 of file truemotion2.c.
Referenced by tm2_hi_res_block(), tm2_low_res_block(), tm2_med_res_block(), and tm2_null_res_block().
|
inlinestatic |
Definition at line 473 of file truemotion2.c.
Referenced by tm2_hi_res_block(), and tm2_low_chroma().
|
inlinestatic |
Definition at line 486 of file truemotion2.c.
Referenced by tm2_low_res_block(), tm2_med_res_block(), and tm2_null_res_block().
|
inlinestatic |
Definition at line 505 of file truemotion2.c.
Referenced by tm2_decode_blocks().
|
inlinestatic |
Definition at line 526 of file truemotion2.c.
Referenced by tm2_decode_blocks().
|
inlinestatic |
Definition at line 548 of file truemotion2.c.
Referenced by tm2_decode_blocks().
|
inlinestatic |
Definition at line 589 of file truemotion2.c.
Referenced by tm2_decode_blocks().
|
inlinestatic |
Definition at line 636 of file truemotion2.c.
Referenced by tm2_decode_blocks().
|
inlinestatic |
Definition at line 671 of file truemotion2.c.
Referenced by tm2_decode_blocks().
|
inlinestatic |
Definition at line 711 of file truemotion2.c.
Referenced by tm2_decode_blocks().
|
static |
Definition at line 765 of file truemotion2.c.
Referenced by decode_frame().
|
static |
Definition at line 889 of file truemotion2.c.
|
static |
Definition at line 948 of file truemotion2.c.
|
static |
Definition at line 994 of file truemotion2.c.
|
static |
Definition at line 883 of file truemotion2.c.
Referenced by decode_frame().
const FFCodec ff_truemotion2_decoder |
Definition at line 1013 of file truemotion2.c.