
Go to the source code of this file.
Defines | |
| #define | REGa eax |
| #define | REGc ecx |
| #define | REGd edx |
| #define | REG_a "eax" |
| #define | REG_c "ecx" |
| #define | REG_d "edx" |
| #define | REG_SP "esp" |
| #define | ALIGN_MASK "$0xFFFFFFF8" |
| #define | PAVGB(a, b) REAL_PAVGB(a,b) |
| #define | FAST_L2_DIFF |
Functions | |
| static void RENAME() | doVertLowPass (uint8_t *src, int stride, PPContext *c) |
| static void RENAME() | vertX1Filter (uint8_t *src, int stride, PPContext *co) |
| static void RENAME() | doVertDefFilter (uint8_t src[], int stride, PPContext *c) |
| static void RENAME() | dering (uint8_t src[], int stride, PPContext *c) |
| static void RENAME() | deInterlaceInterpolateLinear (uint8_t src[], int stride) |
| static void RENAME() | deInterlaceInterpolateCubic (uint8_t src[], int stride) |
| static void RENAME() | deInterlaceFF (uint8_t src[], int stride, uint8_t *tmp) |
| static void RENAME() | deInterlaceL5 (uint8_t src[], int stride, uint8_t *tmp, uint8_t *tmp2) |
| static void RENAME() | deInterlaceBlendLinear (uint8_t src[], int stride, uint8_t *tmp) |
| static void RENAME() | deInterlaceMedian (uint8_t src[], int stride) |
| static void RENAME() | tempNoiseReducer (uint8_t *src, int stride, uint8_t *tempBlured, uint32_t *tempBluredPast, int *maxNoise) |
| static void RENAME() | postProcess (uint8_t src[], int srcStride, uint8_t dst[], int dstStride, int width, int height, QP_STORE_T QPs[], int QPStride, int isColor, PPContext *c) |
| static void RENAME() | blockCopy (uint8_t dst[], int dstStride, uint8_t src[], int srcStride, int levelFix, int64_t *packedOffsetAndScale) |
| static void RENAME() | duplicate (uint8_t src[], int stride) |
Definition in file postprocess_template.c.
| #define ALIGN_MASK "$0xFFFFFFF8" |
Definition at line 42 of file postprocess_template.c.
Referenced by dering(), and doVertDefFilter().
| #define FAST_L2_DIFF |
| #define REG_a "eax" |
Definition at line 38 of file postprocess_template.c.
| #define REG_c "ecx" |
Definition at line 39 of file postprocess_template.c.
Referenced by deInterlaceInterpolateCubic(), deInterlaceInterpolateLinear(), dering(), doVertDefFilter(), doVertLowPass(), tempNoiseReducer(), and vertX1Filter().
| #define REG_d "edx" |
Definition at line 40 of file postprocess_template.c.
Referenced by blockCopy(), deInterlaceBlendLinear(), deInterlaceFF(), deInterlaceInterpolateCubic(), deInterlaceL5(), deInterlaceMedian(), dering(), and tempNoiseReducer().
| #define REG_SP "esp" |
Definition at line 41 of file postprocess_template.c.
Referenced by dering(), and doVertDefFilter().
| #define REGa eax |
Definition at line 35 of file postprocess_template.c.
Referenced by blockCopy(), deInterlaceFF(), deInterlaceInterpolateCubic(), deInterlaceL5(), deInterlaceMedian(), dering(), doVertLowPass(), and tempNoiseReducer().
| #define REGc ecx |
Definition at line 36 of file postprocess_template.c.
Referenced by deInterlaceInterpolateCubic(), doVertDefFilter(), doVertLowPass(), and tempNoiseReducer().
| #define REGd edx |
Definition at line 37 of file postprocess_template.c.
Referenced by blockCopy(), deInterlaceFF(), deInterlaceInterpolateCubic(), deInterlaceL5(), deInterlaceMedian(), dering(), and tempNoiseReducer().
| static void RENAME() blockCopy | ( | uint8_t | dst[], | |
| int | dstStride, | |||
| uint8_t | src[], | |||
| int | srcStride, | |||
| int | levelFix, | |||
| int64_t * | packedOffsetAndScale | |||
| ) | [inline, static] |
| static void RENAME() deInterlaceBlendLinear | ( | uint8_t | src[], | |
| int | stride, | |||
| uint8_t * | tmp | |||
| ) | [inline, static] |
Deinterlaces 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 allready, 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 1849 of file postprocess_template.c.
| static void RENAME() deInterlaceFF | ( | uint8_t | src[], | |
| int | stride, | |||
| uint8_t * | tmp | |||
| ) | [inline, static] |
Deinterlaces 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 allready, 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 1667 of file postprocess_template.c.
| static void RENAME() deInterlaceInterpolateCubic | ( | uint8_t | src[], | |
| int | stride | |||
| ) | [inline, static] |
Deinterlaces 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 allready, 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 1602 of file postprocess_template.c.
| static void RENAME() deInterlaceInterpolateLinear | ( | uint8_t | src[], | |
| int | stride | |||
| ) | [inline, static] |
Deinterlaces 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 allready, but can be read too lines 4-12 will be read into the deblocking filter and should be deinterlaced
Definition at line 1549 of file postprocess_template.c.
| static void RENAME() deInterlaceL5 | ( | uint8_t | src[], | |
| int | stride, | |||
| uint8_t * | tmp, | |||
| uint8_t * | tmp2 | |||
| ) | [inline, static] |
Deinterlaces 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 allready, 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 1747 of file postprocess_template.c.
| static void RENAME() deInterlaceMedian | ( | uint8_t | src[], | |
| int | stride | |||
| ) | [inline, static] |
Deinterlaces 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 allready, but can be read too lines 4-12 will be read into the deblocking filter and should be deinterlaced
Definition at line 1950 of file postprocess_template.c.
| static void RENAME() dering | ( | uint8_t | src[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
| static void RENAME() doVertDefFilter | ( | uint8_t | src[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
| static void RENAME() doVertLowPass | ( | uint8_t * | src, | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
| static void RENAME() duplicate | ( | uint8_t | src[], | |
| int | stride | |||
| ) | [inline, static] |
Duplicates the given 8 src pixels ? times upward
Definition at line 3322 of file postprocess_template.c.
References memcpy.
| static void RENAME() postProcess | ( | uint8_t | src[], | |
| int | srcStride, | |||
| uint8_t | dst[], | |||
| int | dstStride, | |||
| int | width, | |||
| int | height, | |||
| QP_STORE_T | QPs[], | |||
| int | QPStride, | |||
| int | isColor, | |||
| PPContext * | c2 | |||
| ) | [static] |
Filters array of bytes (Y or U or V values)
| static void RENAME() tempNoiseReducer | ( | uint8_t * | src, | |
| int | stride, | |||
| uint8_t * | tempBlured, | |||
| uint32_t * | tempBluredPast, | |||
| int * | maxNoise | |||
| ) | [inline, static] |
| static void RENAME() vertX1Filter | ( | uint8_t * | src, | |
| int | stride, | |||
| PPContext * | co | |||
| ) | [inline, static] |
Experimental Filter 1 will not damage linear gradients Flat blocks should look like they where passed through the (1,1,2,2,4,2,2,1,1) 9-Tap filter can only smooth blocks at the expected locations (it cant smooth them if they did move) MMX2 version does correct clipping C version doesnt
Definition at line 482 of file postprocess_template.c.
References a, ABS, b, c, co(), MANGLE, MAX, PAVGB, REG_c, SIGN, and stride.

1.5.5