Definition in file postprocess_template.c.
Go to the source code of this file.
Functions | |
| static int RENAME() | vertClassify (uint8_t src[], int stride, PPContext *c) |
| Check if the middle 8x8 Block in the given 8x16 block is flat. | |
| static void RENAME() | doVertLowPass (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 RENAME() | vertRK1Filter (uint8_t *src, int stride, int QP) |
| Experimental implementation of the filter (Algorithm 1) described in a paper from Ramkishor & Karandikar values are correctly clipped (MMX2) values are wraparound (C) Conclusion: It is fast, but introduces ugly horizontal patterns if there is a continuous gradient. | |
| static void RENAME() | vertX1Filter (uint8_t *src, int stride, PPContext *co) |
| 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 cannot smooth them if they did move) MMX2 version does correct clipping C version does not. | |
| 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) |
| Deinterlaces the given block by linearly interpolating every second line. | |
| static void RENAME() | deInterlaceInterpolateCubic (uint8_t src[], int stride) |
| Deinterlaces the given block by cubic interpolating every second line. | |
| static void RENAME() | deInterlaceFF (uint8_t src[], int stride, uint8_t *tmp) |
| Deinterlaces the given block by filtering every second line with a (-1 4 2 4 -1) filter. | |
| static void RENAME() | deInterlaceL5 (uint8_t src[], int stride, uint8_t *tmp, uint8_t *tmp2) |
| Deinterlaces the given block by filtering every line with a (-1 2 6 2 -1) filter. | |
| static void RENAME() | deInterlaceBlendLinear (uint8_t src[], int stride, uint8_t *tmp) |
| Deinterlaces the given block by filtering all lines with a (1 2 1) filter. | |
| static void RENAME() | deInterlaceMedian (uint8_t src[], int stride) |
| Deinterlaces the given block by applying a median filter to every second line. | |
| static void RENAME() | transpose1 (uint8_t *dst1, uint8_t *dst2, uint8_t *src, int srcStride) |
| transposes and shift the given 8x8 Block into dst1 and dst2 | |
| static void RENAME() | transpose2 (uint8_t *dst, int dstStride, uint8_t *src) |
| transposes the given 8x8 block | |
| static void RENAME() | tempNoiseReducer (uint8_t *src, int stride, uint8_t *tempBlured, uint32_t *tempBluredPast, int *maxNoise) |
| static av_always_inline void RENAME() | do_a_deblock (uint8_t *src, int step, int stride, PPContext *c) |
| accurate deblock filter | |
| 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) |
| Filters array of bytes (Y or U or V values). | |
| static void RENAME() | blockCopy (uint8_t dst[], int dstStride, uint8_t src[], int srcStride, int levelFix, int64_t *packedOffsetAndScale) |
| Copies a block from src to dst and fixes the blacklevel. | |
| static void RENAME() | duplicate (uint8_t src[], int stride) |
| Duplicates the given 8 src pixels ? times upward. | |
| static int RENAME() vertClassify | ( | uint8_t | src[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
Check if the middle 8x8 Block in the given 8x16 block is flat.
Definition at line 81 of file postprocess_template.c.
| static void RENAME() doVertLowPass | ( | uint8_t * | src, | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
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 198 of file postprocess_template.c.
| static void RENAME() vertRK1Filter | ( | uint8_t * | src, | |
| int | stride, | |||
| int | QP | |||
| ) | [inline, static] |
Experimental implementation of the filter (Algorithm 1) described in a paper from Ramkishor & Karandikar values are correctly clipped (MMX2) values are wraparound (C) Conclusion: It is fast, but introduces ugly horizontal patterns if there is a continuous gradient.
0 8 16 24 x = 8 x/2 = 4 x/8 = 1 1 12 12 23
Definition at line 384 of file postprocess_template.c.
| 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 cannot smooth them if they did move) MMX2 version does correct clipping C version does not.
Definition at line 485 of file postprocess_template.c.
| static void RENAME() doVertDefFilter | ( | uint8_t | src[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
Definition at line 614 of file postprocess_template.c.
| static void RENAME() dering | ( | uint8_t | src[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
Definition at line 1186 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 1552 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 1605 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 1670 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 1750 of file postprocess_template.c.
| 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 1852 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 1953 of file postprocess_template.c.
| static void RENAME() transpose1 | ( | uint8_t * | dst1, | |
| uint8_t * | dst2, | |||
| uint8_t * | src, | |||
| int | srcStride | |||
| ) | [inline, static] |
transposes and shift the given 8x8 Block into dst1 and dst2
Definition at line 2076 of file postprocess_template.c.
| static void RENAME() transpose2 | ( | uint8_t * | dst, | |
| int | dstStride, | |||
| uint8_t * | src | |||
| ) | [inline, static] |
| static void RENAME() tempNoiseReducer | ( | uint8_t * | src, | |
| int | stride, | |||
| uint8_t * | tempBlured, | |||
| uint32_t * | tempBluredPast, | |||
| int * | maxNoise | |||
| ) | [inline, static] |
Definition at line 2241 of file postprocess_template.c.
| static av_always_inline void RENAME() do_a_deblock | ( | uint8_t * | src, | |
| int | step, | |||
| int | stride, | |||
| PPContext * | c | |||
| ) | [static] |
| 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] |
Filters array of bytes (Y or U or V values).
| static void RENAME() blockCopy | ( | uint8_t | dst[], | |
| int | dstStride, | |||
| uint8_t | src[], | |||
| int | srcStride, | |||
| int | levelFix, | |||
| int64_t * | packedOffsetAndScale | |||
| ) | [inline, static] |
Copies a block from src to dst and fixes the blacklevel.
levelFix == 0 -> do not touch the brighness & contrast
Definition at line 3192 of file postprocess_template.c.
| static void RENAME() duplicate | ( | uint8_t | src[], | |
| int | stride | |||
| ) | [inline, static] |
Duplicates the given 8 src pixels ? times upward.
Definition at line 3323 of file postprocess_template.c.
Referenced by AutoExpire::ExpireEpisodesOverMax(), and if().
1.5.5