#include "libavutil/x86/asm.h"
Go to the source code of this file.
Defines | |
#define | PAVGB(a, b) REAL_PAVGB(a,b) |
#define | FAST_L2_DIFF |
Functions | |
static void | doVertLowPass_TMPL (uint8_t *src, int stride, PPContext *c) |
Do a vertical low pass filter on the 8x16 block (only write to the 8x8 block in the middle) using the 9-Tap Filter (1,1,2,2,4,2,2,1,1)/16. | |
static void | vertX1Filter_TMPL (uint8_t *src, int stride, PPContext *co) |
Experimental Filter 1 will not damage linear gradients Flat blocks should look like they were passed through the (1,1,2,2,4,2,2,1,1) 9-Tap filter can only smooth blocks at the expected locations (it cannot smooth them if they did move) MMX2 version does correct clipping C version does not. | |
static void | doVertDefFilter_TMPL (uint8_t src[], int stride, PPContext *c) |
static void | dering_TMPL (uint8_t src[], int stride, PPContext *c) |
static void | deInterlaceInterpolateLinear_TMPL (uint8_t src[], int stride) |
Deinterlace the given block by linearly interpolating every second line. | |
static void | deInterlaceInterpolateCubic_TMPL (uint8_t src[], int stride) |
Deinterlace the given block by cubic interpolating every second line. | |
static void | deInterlaceFF_TMPL (uint8_t src[], int stride, uint8_t *tmp) |
Deinterlace the given block by filtering every second line with a (-1 4 2 4 -1) filter. | |
static void | deInterlaceL5_TMPL (uint8_t src[], int stride, uint8_t *tmp, uint8_t *tmp2) |
Deinterlace the given block by filtering every line with a (-1 2 6 2 -1) filter. | |
static void | deInterlaceBlendLinear_TMPL (uint8_t src[], int stride, uint8_t *tmp) |
Deinterlace the given block by filtering all lines with a (1 2 1) filter. | |
static void | deInterlaceMedian_TMPL (uint8_t src[], int stride) |
Deinterlace the given block by applying a median filter to every second line. | |
static void | tempNoiseReducer_TMPL (uint8_t *src, int stride, uint8_t *tempBlurred, uint32_t *tempBlurredPast, int *maxNoise) |
static void | postProcess_TMPL (const uint8_t src[], int srcStride, uint8_t dst[], int dstStride, int width, int height, const QP_STORE_T QPs[], int QPStride, int isColor, PPContext *c2) |
Filter array of bytes (Y or U or V values). | |
static void | blockCopy_TMPL (uint8_t dst[], int dstStride, const uint8_t src[], int srcStride, int levelFix, int64_t *packedOffsetAndScale) |
Copy a block from src to dst and fixes the blacklevel. | |
static void | duplicate_TMPL (uint8_t src[], int stride) |
Duplicate the given 8 src pixels ? times upward. |
Definition in file postprocess_template.c.
#define FAST_L2_DIFF |
#define PAVGB | ( | a, | |||
b | ) | REAL_PAVGB(a,b) |
Definition at line 38 of file postprocess_template.c.
static void blockCopy_TMPL | ( | uint8_t | dst[], | |
int | dstStride, | |||
const uint8_t | src[], | |||
int | srcStride, | |||
int | levelFix, | |||
int64_t * | packedOffsetAndScale | |||
) | [inline, static] |
Copy a block from src to dst and fixes the blacklevel.
levelFix == 0 -> do not touch the brighness & contrast
Definition at line 3013 of file postprocess_template.c.
static void deInterlaceBlendLinear_TMPL | ( | uint8_t | src[], | |
int | stride, | |||
uint8_t * | tmp | |||
) | [inline, static] |
Deinterlace the given block by filtering all lines with a (1 2 1) filter.
will be called for every 8x8 block and can read & write from line 4-15 lines 0-3 have been passed through the deblock / dering filters already, but can be read, too. lines 4-12 will be read into the deblocking filter and should be deinterlaced this filter will read lines 4-13 and write 4-11
Definition at line 1693 of file postprocess_template.c.
Deinterlace the given block by filtering every second line with a (-1 4 2 4 -1) filter.
will be called for every 8x8 block and can read & write from line 4-15 lines 0-3 have been passed through the deblock / dering filters already, but can be read, too. lines 4-12 will be read into the deblocking filter and should be deinterlaced this filter will read lines 4-13 and write 5-11
Definition at line 1513 of file postprocess_template.c.
Deinterlace the given block by cubic interpolating every second line.
will be called for every 8x8 block and can read & write from line 4-15 lines 0-3 have been passed through the deblock / dering filters already, but can be read, too. lines 4-12 will be read into the deblocking filter and should be deinterlaced this filter will read lines 3-15 and write 7-13
Definition at line 1449 of file postprocess_template.c.
Deinterlace the given block by linearly interpolating every second line.
will be called for every 8x8 block and can read & write from line 4-15 lines 0-3 have been passed through the deblock / dering filters already, but can be read, too. lines 4-12 will be read into the deblocking filter and should be deinterlaced
Definition at line 1396 of file postprocess_template.c.
static void deInterlaceL5_TMPL | ( | uint8_t | src[], | |
int | stride, | |||
uint8_t * | tmp, | |||
uint8_t * | tmp2 | |||
) | [inline, static] |
Deinterlace the given block by filtering every line with a (-1 2 6 2 -1) filter.
will be called for every 8x8 block and can read & write from line 4-15 lines 0-3 have been passed through the deblock / dering filters already, but can be read, too. lines 4-12 will be read into the deblocking filter and should be deinterlaced this filter will read lines 4-13 and write 4-11
Definition at line 1592 of file postprocess_template.c.
Deinterlace the given block by applying a median filter to every second line.
will be called for every 8x8 block and can read & write from line 4-15, lines 0-3 have been passed through the deblock / dering filters already, but can be read, too. lines 4-12 will be read into the deblocking filter and should be deinterlaced
Definition at line 1794 of file postprocess_template.c.
Definition at line 1041 of file postprocess_template.c.
Definition at line 484 of file postprocess_template.c.
Do a vertical low pass filter on the 8x16 block (only write to the 8x8 block in the middle) using the 9-Tap Filter (1,1,2,2,4,2,2,1,1)/16.
Definition at line 179 of file postprocess_template.c.
Duplicate the given 8 src pixels ? times upward.
Definition at line 3141 of file postprocess_template.c.
static void tempNoiseReducer_TMPL | ( | uint8_t * | src, | |
int | stride, | |||
uint8_t * | tempBlurred, | |||
uint32_t * | tempBlurredPast, | |||
int * | maxNoise | |||
) | [inline, static] |
Definition at line 2080 of file postprocess_template.c.
Experimental Filter 1 will not damage linear gradients Flat blocks should look like they were passed through the (1,1,2,2,4,2,2,1,1) 9-Tap filter can only smooth blocks at the expected locations (it cannot smooth them if they did move) MMX2 version does correct clipping C version does not.
Definition at line 358 of file postprocess_template.c.