Duck TrueMotion v1 Video Decoder by Alex Beregszaszi and Mike Melanson (melan) son@ pcisy s.ne tMore...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "avcodec.h"
#include "dsputil.h"
#include "libavutil/imgutils.h"
#include "truemotion1data.h"
Go to the source code of this file.
Data Structures | |
struct | TrueMotion1Context |
struct | frame_header |
struct | comp_types |
Macros | |
#define | FLAG_SPRITE 32 |
#define | FLAG_KEYFRAME 16 |
#define | FLAG_INTERFRAME 8 |
#define | FLAG_INTERPOLATED 4 |
#define | ALGO_NOP 0 |
#define | ALGO_RGB16V 1 |
#define | ALGO_RGB16H 2 |
#define | ALGO_RGB24H 3 |
#define | BLOCK_2x2 0 |
#define | BLOCK_2x4 1 |
#define | BLOCK_4x2 2 |
#define | BLOCK_4x4 3 |
#define | GET_NEXT_INDEX() |
#define | APPLY_C_PREDICTOR() |
#define | APPLY_C_PREDICTOR_24() |
#define | APPLY_Y_PREDICTOR() |
#define | APPLY_Y_PREDICTOR_24() |
#define | OUTPUT_PIXEL_PAIR() |
Typedefs | |
typedef struct TrueMotion1Context | TrueMotion1Context |
typedef struct comp_types | comp_types |
Functions | |
static void | select_delta_tables (TrueMotion1Context *s, int delta_table_index) |
static int | make_ydt15_entry (int p1, int p2, int16_t *ydt) |
static int | make_cdt15_entry (int p1, int p2, int16_t *cdt) |
static int | make_ydt16_entry (int p1, int p2, int16_t *ydt) |
static int | make_cdt16_entry (int p1, int p2, int16_t *cdt) |
static int | make_ydt24_entry (int p1, int p2, int16_t *ydt) |
static int | make_cdt24_entry (int p1, int p2, int16_t *cdt) |
static void | gen_vector_table15 (TrueMotion1Context *s, const uint8_t *sel_vector_table) |
static void | gen_vector_table16 (TrueMotion1Context *s, const uint8_t *sel_vector_table) |
static void | gen_vector_table24 (TrueMotion1Context *s, const uint8_t *sel_vector_table) |
static int | truemotion1_decode_header (TrueMotion1Context *s) |
static av_cold int | truemotion1_decode_init (AVCodecContext *avctx) |
static void | truemotion1_decode_16bit (TrueMotion1Context *s) |
static void | truemotion1_decode_24bit (TrueMotion1Context *s) |
static int | truemotion1_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
static av_cold int | truemotion1_decode_end (AVCodecContext *avctx) |
Variables | |
static const comp_types | compression_types [17] |
AVCodec | ff_truemotion1_decoder |
Duck TrueMotion v1 Video Decoder by Alex Beregszaszi and Mike Melanson (melan) son@ pcisy s.ne t
The TrueMotion v1 decoder presently only decodes 16-bit TM1 data and outputs RGB555 (or RGB565) data. 24-bit TM1 data is not supported yet.
Definition in file truemotion1.c.
#define ALGO_NOP 0 |
Definition at line 102 of file truemotion1.c.
Referenced by truemotion1_decode_frame().
#define ALGO_RGB16H 2 |
Definition at line 104 of file truemotion1.c.
#define ALGO_RGB16V 1 |
Definition at line 103 of file truemotion1.c.
#define ALGO_RGB24H 3 |
Definition at line 105 of file truemotion1.c.
Referenced by truemotion1_decode_frame(), and truemotion1_decode_header().
#define APPLY_C_PREDICTOR | ( | ) |
Definition at line 526 of file truemotion1.c.
Referenced by truemotion1_decode_16bit().
#define APPLY_C_PREDICTOR_24 | ( | ) |
Definition at line 543 of file truemotion1.c.
Referenced by truemotion1_decode_24bit().
#define APPLY_Y_PREDICTOR | ( | ) |
Definition at line 561 of file truemotion1.c.
Referenced by truemotion1_decode_16bit().
#define APPLY_Y_PREDICTOR_24 | ( | ) |
Definition at line 578 of file truemotion1.c.
Referenced by truemotion1_decode_24bit().
#define BLOCK_2x2 0 |
Definition at line 108 of file truemotion1.c.
Referenced by truemotion1_decode_16bit(), and truemotion1_decode_24bit().
#define BLOCK_2x4 1 |
Definition at line 109 of file truemotion1.c.
#define BLOCK_4x2 2 |
Definition at line 110 of file truemotion1.c.
Referenced by truemotion1_decode_16bit(), and truemotion1_decode_24bit().
#define BLOCK_4x4 3 |
Definition at line 111 of file truemotion1.c.
#define FLAG_INTERFRAME 8 |
Definition at line 81 of file truemotion1.c.
Referenced by truemotion1_decode_header().
#define FLAG_INTERPOLATED 4 |
Definition at line 82 of file truemotion1.c.
Referenced by truemotion1_decode_header().
#define FLAG_KEYFRAME 16 |
Definition at line 80 of file truemotion1.c.
Referenced by truemotion1_decode_16bit(), truemotion1_decode_24bit(), and truemotion1_decode_header().
#define FLAG_SPRITE 32 |
Definition at line 79 of file truemotion1.c.
Referenced by truemotion1_decode_header().
#define GET_NEXT_INDEX | ( | ) |
Definition at line 517 of file truemotion1.c.
Referenced by truemotion1_decode_16bit(), and truemotion1_decode_24bit().
#define OUTPUT_PIXEL_PAIR | ( | ) |
Definition at line 595 of file truemotion1.c.
Referenced by truemotion1_decode_16bit(), and truemotion1_decode_24bit().
typedef struct comp_types comp_types |
typedef struct TrueMotion1Context TrueMotion1Context |
|
static |
Definition at line 236 of file truemotion1.c.
Referenced by truemotion1_decode_header().
|
static |
Definition at line 257 of file truemotion1.c.
Referenced by truemotion1_decode_header().
|
static |
Definition at line 278 of file truemotion1.c.
Referenced by truemotion1_decode_header().
|
static |
Definition at line 183 of file truemotion1.c.
Referenced by gen_vector_table15().
|
static |
Definition at line 208 of file truemotion1.c.
Referenced by gen_vector_table16().
|
static |
Definition at line 227 of file truemotion1.c.
Referenced by gen_vector_table24().
|
static |
Definition at line 171 of file truemotion1.c.
Referenced by gen_vector_table15().
|
static |
Definition at line 196 of file truemotion1.c.
Referenced by gen_vector_table16().
|
static |
Definition at line 218 of file truemotion1.c.
Referenced by gen_vector_table24().
|
static |
Definition at line 145 of file truemotion1.c.
Referenced by truemotion1_decode_header().
|
static |
Definition at line 599 of file truemotion1.c.
Referenced by truemotion1_decode_frame().
|
static |
Definition at line 725 of file truemotion1.c.
Referenced by truemotion1_decode_frame().
|
static |
Definition at line 887 of file truemotion1.c.
|
static |
Definition at line 852 of file truemotion1.c.
|
static |
Definition at line 307 of file truemotion1.c.
Referenced by truemotion1_decode_frame().
|
static |
Definition at line 470 of file truemotion1.c.
|
static |
Definition at line 121 of file truemotion1.c.
AVCodec ff_truemotion1_decoder |
Definition at line 899 of file truemotion1.c.