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)
av_cold 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

av_cold void ff_intrax8dsp_init ( DSPContext dsp,
AVCodecContext avctx 
)

Definition at line 414 of file intrax8dsp.c.

Referenced by ff_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 203 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 301 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 311 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 213 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 223 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 233 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 243 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 257 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 267 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 281 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 291 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 406 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 322 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 410 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:47:57 2012 for FFmpeg by  doxygen 1.5.8