libavcodec/tscc2.c File Reference

TechSmith Screen Codec 2 decoder. More...

#include "avcodec.h"
#include "get_bits.h"
#include "bytestream.h"
#include "tscc2data.h"

Go to the source code of this file.

Data Structures

struct  TSCC2Context

Defines

#define BITSTREAM_READER_LE
#define DEQUANT(val, q)   ((q * val + 0x80) >> 8)
#define DCT1D(d0, d1, d2, d3, s0, s1, s2, s3, OP)
#define COL_OP(a, b)   a = b
#define ROW_OP(a, b)   a = ((b) + 0x20) >> 6

Functions

static av_cold void free_vlcs (TSCC2Context *c)
static av_cold int init_vlcs (TSCC2Context *c)
static void tscc2_idct4_put (int *in, int q[3], uint8_t *dst, int stride)
static int tscc2_decode_mb (TSCC2Context *c, int *q, int vlc_set, uint8_t *dst, int stride, int plane)
static int tscc2_decode_slice (TSCC2Context *c, int mb_y, const uint8_t *buf, int buf_size)
static int tscc2_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
static av_cold int tscc2_decode_init (AVCodecContext *avctx)
static av_cold int tscc2_decode_end (AVCodecContext *avctx)

Variables

AVCodec ff_tscc2_decoder


Detailed Description

TechSmith Screen Codec 2 decoder.

Definition in file tscc2.c.


Define Documentation

#define BITSTREAM_READER_LE

Definition at line 27 of file tscc2.c.

#define COL_OP ( a,
 )     a = b

Definition at line 97 of file tscc2.c.

Referenced by tscc2_idct4_put().

#define DCT1D ( d0,
d1,
d2,
d3,
s0,
s1,
s2,
s3,
OP   ) 

Value:

OP(d0, 5 * ((s0) + (s1) + (s2)) + 2 * (s3));  \
    OP(d1, 5 * ((s0) - (s2) - (s3)) + 2 * (s1));  \
    OP(d2, 5 * ((s0) - (s2) + (s3)) - 2 * (s1));  \
    OP(d3, 5 * ((s0) - (s1) + (s2)) - 2 * (s3));  \

Definition at line 91 of file tscc2.c.

Referenced by tscc2_idct4_put().

#define DEQUANT ( val,
 )     ((q * val + 0x80) >> 8)

Definition at line 90 of file tscc2.c.

Referenced by tscc2_idct4_put().

#define ROW_OP ( a,
 )     a = ((b) + 0x20) >> 6

Definition at line 98 of file tscc2.c.

Referenced by tscc2_idct4_put().


Function Documentation

static av_cold void free_vlcs ( TSCC2Context c  )  [static]

Definition at line 46 of file tscc2.c.

Referenced by init_vlcs(), tscc2_decode_end(), and tscc2_decode_init().

static av_cold int init_vlcs ( TSCC2Context c  )  [static]

Definition at line 57 of file tscc2.c.

static av_cold int tscc2_decode_end ( AVCodecContext avctx  )  [static]

Definition at line 360 of file tscc2.c.

static int tscc2_decode_frame ( AVCodecContext avctx,
void *  data,
int data_size,
AVPacket avpkt 
) [static]

Definition at line 213 of file tscc2.c.

static av_cold int tscc2_decode_init ( AVCodecContext avctx  )  [static]

Definition at line 332 of file tscc2.c.

static int tscc2_decode_mb ( TSCC2Context c,
int q,
int  vlc_set,
uint8_t dst,
int  stride,
int  plane 
) [static]

Definition at line 123 of file tscc2.c.

Referenced by tscc2_decode_slice().

static int tscc2_decode_slice ( TSCC2Context c,
int  mb_y,
const uint8_t buf,
int  buf_size 
) [static]

Definition at line 188 of file tscc2.c.

Referenced by tscc2_decode_frame().

static void tscc2_idct4_put ( int in,
int  q[3],
uint8_t dst,
int  stride 
) [static]

Definition at line 100 of file tscc2.c.

Referenced by tscc2_decode_mb().


Variable Documentation

Initial value:

 {
    .name           = "tscc2",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = AV_CODEC_ID_TSCC2,
    .priv_data_size = sizeof(TSCC2Context),
    .init           = tscc2_decode_init,
    .close          = tscc2_decode_end,
    .decode         = tscc2_decode_frame,
    .capabilities   = CODEC_CAP_DR1,
    .long_name      = NULL_IF_CONFIG_SMALL("TechSmith Screen Codec 2"),
}

Definition at line 372 of file tscc2.c.


Generated on Fri Oct 26 02:50:08 2012 for FFmpeg by  doxygen 1.5.8