#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] |
Definition in file intrax8dsp.c.
#define area1 (0) |
Definition at line 42 of file intrax8dsp.c.
Referenced by spatial_compensation_8(), and x8_setup_spatial_compensation().
#define area2 (8) |
Definition at line 43 of file intrax8dsp.c.
Referenced by spatial_compensation_0(), spatial_compensation_10(), spatial_compensation_11(), spatial_compensation_5(), spatial_compensation_7(), spatial_compensation_8(), spatial_compensation_9(), and x8_setup_spatial_compensation().
#define area3 (8+8) |
Definition at line 44 of file intrax8dsp.c.
Referenced by spatial_compensation_6(), spatial_compensation_7(), and x8_setup_spatial_compensation().
#define area4 (8+8+1) |
Definition at line 45 of file intrax8dsp.c.
Referenced by spatial_compensation_0(), spatial_compensation_1(), spatial_compensation_10(), spatial_compensation_11(), spatial_compensation_2(), spatial_compensation_3(), spatial_compensation_4(), spatial_compensation_5(), and x8_setup_spatial_compensation().
#define area5 (8+8+1+8) |
#define area6 (8+8+1+16) |
Definition at line 47 of file intrax8dsp.c.
Referenced by spatial_compensation_4(), and x8_setup_spatial_compensation().
void ff_intrax8dsp_init | ( | DSPContext * | dsp, | |
AVCodecContext * | avctx | |||
) |
static void spatial_compensation_0 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_1 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_10 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_11 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_2 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_3 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_4 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_5 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_6 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_7 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_8 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void spatial_compensation_9 | ( | uint8_t * | src, | |
uint8_t * | dst, | |||
int | linesize | |||
) | [static] |
static void x8_h_loop_filter | ( | uint8_t * | src, | |
int | stride, | |||
int | qscale | |||
) | [static] |
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.
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] |
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().