libavcodec/intrax8dsp.c File Reference

IntraX8 frame subdecoder image manipulation routines. More...

#include "dsputil.h"

Go to the source code of this file.

Defines

#define area1   (0)
#define area2   (8)
#define area3   (8+8)
#define area4   (8+8+1)
#define area5   (8+8+1+8)
#define area6   (8+8+1+16)

Functions

static void x8_setup_spatial_compensation (uint8_t *src, uint8_t *dst, int linesize, int *range, int *psum, int edges)
 Collect statistics and prepare the edge pixels required by the other spatial compensation functions.
static void spatial_compensation_0 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_1 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_2 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_3 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_4 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_5 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_6 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_7 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_8 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_9 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_10 (uint8_t *src, uint8_t *dst, int linesize)
static void spatial_compensation_11 (uint8_t *src, uint8_t *dst, int linesize)
static void x8_loop_filter (uint8_t *ptr, const int a_stride, const int b_stride, int quant)
static void x8_h_loop_filter (uint8_t *src, int stride, int qscale)
static void x8_v_loop_filter (uint8_t *src, int stride, int qscale)
void ff_intrax8dsp_init (DSPContext *dsp, AVCodecContext *avctx)

Variables

static const uint16_t zero_prediction_weights [64 *2]


Detailed Description

IntraX8 frame subdecoder image manipulation routines.

Definition in file intrax8dsp.c.


Define Documentation

#define area1   (0)

Definition at line 42 of file intrax8dsp.c.

Referenced by spatial_compensation_8(), and x8_setup_spatial_compensation().

#define area2   (8)

#define area3   (8+8)

#define area4   (8+8+1)

#define area5   (8+8+1+8)

Definition at line 46 of file intrax8dsp.c.

Referenced by x8_setup_spatial_compensation().

#define area6   (8+8+1+16)

Definition at line 47 of file intrax8dsp.c.

Referenced by spatial_compensation_4(), and x8_setup_spatial_compensation().


Function Documentation

void ff_intrax8dsp_init ( DSPContext dsp,
AVCodecContext avctx 
)

Definition at line 416 of file intrax8dsp.c.

Referenced by dsputil_init().

static void spatial_compensation_0 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 150 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_1 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 205 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_10 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 303 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_11 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 313 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_2 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 215 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_3 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 225 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_4 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 235 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_5 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 245 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_6 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 259 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_7 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 269 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_8 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 283 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void spatial_compensation_9 ( uint8_t *  src,
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 293 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void x8_h_loop_filter ( uint8_t *  src,
int  stride,
int  qscale 
) [static]

Definition at line 408 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void x8_loop_filter ( uint8_t *  ptr,
const int  a_stride,
const int  b_stride,
int  quant 
) [static]

Definition at line 324 of file intrax8dsp.c.

Referenced by x8_h_loop_filter(), and x8_v_loop_filter().

static void x8_setup_spatial_compensation ( uint8_t *  src,
uint8_t *  dst,
int  linesize,
int *  range,
int *  psum,
int  edges 
) [static]

Collect statistics and prepare the edge pixels required by the other spatial compensation functions.

Parameters:
src pointer to the beginning of the processed block
dst pointer to emu_edge, edge pixels are stored the way other compensation routines do.
linesize byte offset between 2 vertical pixels in the source image
range pointer to the variable where the edge pixel range is to be stored (max-min values)
psum pointer to the variable where the edge pixel sum is to be stored
edges Informs this routine that the block is on an image border, so it has to interpolate the missing edge pixels. and some of the edge pixels should be interpolated, the flag has the following meaning: 1 - mb_x==0 - first block in the row, interpolate area #1,#2,#3; 2 - mb_y==0 - first row, interpolate area #3,#4,#5,#6; note: 1|2 - mb_x==mb_y==0 - first block, use 0x80 value for all areas; 4 - mb_x>= (mb_width-1) last block in the row, interpolate area #5;

Definition at line 64 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().

static void x8_v_loop_filter ( uint8_t *  src,
int  stride,
int  qscale 
) [static]

Definition at line 412 of file intrax8dsp.c.

Referenced by ff_intrax8dsp_init().


Variable Documentation

const uint16_t zero_prediction_weights[64 *2] [static]

Initial value:

 {
    640,  640,  669,  480,  708,  354,  748, 257,  792, 198,  760, 143,  808, 101,  772,  72,
    480,  669,  537,  537,  598,  416,  661, 316,  719, 250,  707, 185,  768, 134,  745,  97,
    354,  708,  416,  598,  488,  488,  564, 388,  634, 317,  642, 241,  716, 179,  706, 132,
    257,  748,  316,  661,  388,  564,  469, 469,  543, 395,  571, 311,  655, 238,  660, 180,
    198,  792,  250,  719,  317,  634,  395, 543,  469, 469,  507, 380,  597, 299,  616, 231,
    161,  855,  206,  788,  266,  710,  340, 623,  411, 548,  455, 455,  548, 366,  576, 288,
    122,  972,  159,  914,  211,  842,  276, 758,  341, 682,  389, 584,  483, 483,  520, 390,
    110, 1172,  144, 1107,  193, 1028,  254, 932,  317, 846,  366, 731,  458, 611,  499, 499
}

Definition at line 139 of file intrax8dsp.c.

Referenced by spatial_compensation_0().


Generated on Fri Oct 26 02:35:43 2012 for FFmpeg by  doxygen 1.5.8