Logo Search packages:      
Sourcecode: blender version File versions

truemotion1.c File Reference


Detailed Description

Duck TrueMotion v1 Video Decoder by Alex Beregszaszi (alex@fsn.hu) and Mike Melanson (melanson@pcisys.net)

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.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "common.h"
#include "avcodec.h"
#include "dsputil.h"
#include "truemotion1data.h"

Go to the source code of this file.

Classes

struct  comp_types
struct  frame_header
struct  TrueMotion1Context

Defines

#define ALGO_NOP   0
#define ALGO_RGB16H   2
#define ALGO_RGB16V   1
#define ALGO_RGB24H   3
#define APPLY_C_PREDICTOR()
#define APPLY_C_PREDICTOR_24()
#define APPLY_Y_PREDICTOR()
#define APPLY_Y_PREDICTOR_24()
#define BLOCK_2x2   0
#define BLOCK_2x4   1
#define BLOCK_4x2   2
#define BLOCK_4x4   3
#define FLAG_INTERFRAME   8
#define FLAG_INTERPOLATED   4
#define FLAG_KEYFRAME   16
#define FLAG_SPRITE   32
#define GET_NEXT_INDEX()
#define OUTPUT_PIXEL_PAIR()

Functions

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 make_cdt15_entry (int p1, int p2, int16_t *cdt)
static int make_cdt16_entry (int p1, int p2, int16_t *cdt)
static int make_cdt24_entry (int p1, int p2, int16_t *cdt)
static int make_ydt15_entry (int p1, int p2, int16_t *ydt)
static int make_ydt16_entry (int p1, int p2, int16_t *ydt)
static int make_ydt24_entry (int p1, int p2, int16_t *ydt)
static void select_delta_tables (TrueMotion1Context *s, int delta_table_index)
static void truemotion1_decode_16bit (TrueMotion1Context *s)
static void truemotion1_decode_24bit (TrueMotion1Context *s)
static int truemotion1_decode_end (AVCodecContext *avctx)
static int truemotion1_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static int truemotion1_decode_header (TrueMotion1Context *s)
static int truemotion1_decode_init (AVCodecContext *avctx)

Variables

static comp_types compression_types [17]
AVCodec truemotion1_decoder


Generated by  Doxygen 1.6.0   Back to index