Definition in file postprocess.c.
Go to the source code of this file.
Functions | |
| static | DECLARE_ALIGNED (8, uint64_t attribute_used, w05)=0x0005000500050005LL |
| static | DECLARE_ALIGNED (8, uint64_t attribute_used, w04)=0x0004000400040004LL |
| static | DECLARE_ALIGNED (8, uint64_t attribute_used, w20)=0x0020002000200020LL |
| static | DECLARE_ALIGNED (8, uint64_t attribute_used, b00)=0x0000000000000000LL |
| static | DECLARE_ALIGNED (8, uint64_t attribute_used, b01)=0x0101010101010101LL |
| static | DECLARE_ALIGNED (8, uint64_t attribute_used, b02)=0x0202020202020202LL |
| static | DECLARE_ALIGNED (8, uint64_t attribute_used, b08)=0x0808080808080808LL |
| static | DECLARE_ALIGNED (8, uint64_t attribute_used, b80)=0x8080808080808080LL |
| static void | prefetchnta (void *p) |
| static void | prefetcht0 (void *p) |
| static void | prefetcht1 (void *p) |
| static void | prefetcht2 (void *p) |
| static int | isHorizDC_C (uint8_t src[], int stride, PPContext *c) |
| Check if the given 8x8 Block is mostly "flat". | |
| static int | isVertDC_C (uint8_t src[], int stride, PPContext *c) |
| Check if the middle 8x8 Block in the given 8x16 block is flat. | |
| static int | isHorizMinMaxOk_C (uint8_t src[], int stride, int QP) |
| static int | isVertMinMaxOk_C (uint8_t src[], int stride, int QP) |
| static int | horizClassify_C (uint8_t src[], int stride, PPContext *c) |
| static int | vertClassify_C (uint8_t src[], int stride, PPContext *c) |
| static void | doHorizDefFilter_C (uint8_t dst[], int stride, PPContext *c) |
| static void | doHorizLowPass_C (uint8_t dst[], int stride, PPContext *c) |
| Do a horizontal low pass filter on the 10x8 block (dst points to middle 8x8 Block) using the 9-Tap Filter (1,1,2,2,4,2,2,1,1)/16 (C version). | |
| static void | horizX1Filter (uint8_t *src, int stride, int QP) |
| Experimental Filter 1 (Horizontal) 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 not identical with the vertical one. | |
| static av_always_inline void | do_a_deblock_C (uint8_t *src, int step, int stride, PPContext *c) |
| accurate deblock filter | |
| static void | postProcess (uint8_t src[], int srcStride, uint8_t dst[], int dstStride, int width, int height, QP_STORE_T QPs[], int QPStride, int isColor, pp_mode_t *vm, pp_context_t *vc) |
| pp_mode_t * | pp_get_mode_by_name_and_quality (char *name, int quality) |
| returns a pp_mode_t or NULL if an error occured name is the string after "-pp" on the command line quality is a number from 0 to PP_QUALITY_MAX | |
| void | pp_free_mode (pp_mode_t *mode) |
| static void | reallocAlign (void **p, int alignment, int size) |
| static void | reallocBuffers (PPContext *c, int width, int height, int stride, int qpStride) |
| static void | global_init (void) |
| static const char * | context_to_name (void *ptr) |
| pp_context_t * | pp_get_context (int width, int height, int cpuCaps) |
| void | pp_free_context (void *vc) |
| void | pp_postprocess (uint8_t *src[3], int srcStride[3], uint8_t *dst[3], int dstStride[3], int width, int height, QP_STORE_T *QP_store, int QPStride, pp_mode_t *vm, void *vc, int pict_type) |
Variables | |
| static uint8_t | clip_table [3 *256] |
| static uint8_t *const | clip_tab = clip_table + 256 |
| static const int attribute_used | deringThreshold = 20 |
| static struct PPFilter | filters [] |
| static const char * | replaceTable [] |
| char * | pp_help |
| a simple help text | |
| static AVClass | av_codec_context_class = { "Postproc", context_to_name, NULL } |
| static DECLARE_ALIGNED | ( | 8 | , | |
| uint64_t | attribute_used, | |||
| w05 | ||||
| ) | [static, pure virtual] |
Referenced by dering_altivec(), doVertDefFilter_altivec(), doVertLowPass_altivec(), and vertClassify_altivec().
| static DECLARE_ALIGNED | ( | 8 | , | |
| uint64_t | attribute_used, | |||
| w04 | ||||
| ) | [static, pure virtual] |
| static DECLARE_ALIGNED | ( | 8 | , | |
| uint64_t | attribute_used, | |||
| w20 | ||||
| ) | [static, pure virtual] |
| static DECLARE_ALIGNED | ( | 8 | , | |
| uint64_t | attribute_used, | |||
| b00 | ||||
| ) | [static, pure virtual] |
| static DECLARE_ALIGNED | ( | 8 | , | |
| uint64_t | attribute_used, | |||
| b01 | ||||
| ) | [static, pure virtual] |
| static DECLARE_ALIGNED | ( | 8 | , | |
| uint64_t | attribute_used, | |||
| b02 | ||||
| ) | [static, pure virtual] |
| static DECLARE_ALIGNED | ( | 8 | , | |
| uint64_t | attribute_used, | |||
| b08 | ||||
| ) | [static, pure virtual] |
| static DECLARE_ALIGNED | ( | 8 | , | |
| uint64_t | attribute_used, | |||
| b80 | ||||
| ) | [static, pure virtual] |
| static void prefetchnta | ( | void * | p | ) | [inline, static] |
Definition at line 155 of file postprocess.c.
| static void prefetcht0 | ( | void * | p | ) | [inline, static] |
Definition at line 162 of file postprocess.c.
| static void prefetcht1 | ( | void * | p | ) | [inline, static] |
Definition at line 169 of file postprocess.c.
| static void prefetcht2 | ( | void * | p | ) | [inline, static] |
Definition at line 176 of file postprocess.c.
| static int isHorizDC_C | ( | uint8_t | src[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
Check if the given 8x8 Block is mostly "flat".
Definition at line 189 of file postprocess.c.
Referenced by horizClassify_C().
| static int isVertDC_C | ( | 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 213 of file postprocess.c.
Referenced by vertClassify_C().
| static int isHorizMinMaxOk_C | ( | uint8_t | src[], | |
| int | stride, | |||
| int | QP | |||
| ) | [inline, static] |
| static int isVertMinMaxOk_C | ( | uint8_t | src[], | |
| int | stride, | |||
| int | QP | |||
| ) | [inline, static] |
| static int horizClassify_C | ( | uint8_t | src[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
Definition at line 299 of file postprocess.c.
| static int vertClassify_C | ( | uint8_t | src[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
Definition at line 310 of file postprocess.c.
| static void doHorizDefFilter_C | ( | uint8_t | dst[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
Definition at line 321 of file postprocess.c.
| static void doHorizLowPass_C | ( | uint8_t | dst[], | |
| int | stride, | |||
| PPContext * | c | |||
| ) | [inline, static] |
Do a horizontal low pass filter on the 10x8 block (dst points to middle 8x8 Block) using the 9-Tap Filter (1,1,2,2,4,2,2,1,1)/16 (C version).
Definition at line 362 of file postprocess.c.
| static void horizX1Filter | ( | uint8_t * | src, | |
| int | stride, | |||
| int | QP | |||
| ) | [inline, static] |
Experimental Filter 1 (Horizontal) 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 not identical with the vertical one.
Definition at line 403 of file postprocess.c.
| static av_always_inline void do_a_deblock_C | ( | uint8_t * | src, | |
| int | step, | |||
| int | stride, | |||
| PPContext * | c | |||
| ) | [static] |
| static void postProcess | ( | uint8_t | src[], | |
| int | srcStride, | |||
| uint8_t | dst[], | |||
| int | dstStride, | |||
| int | width, | |||
| int | height, | |||
| QP_STORE_T | QPs[], | |||
| int | QPStride, | |||
| int | isColor, | |||
| pp_mode_t * | vm, | |||
| pp_context_t * | vc | |||
| ) | [inline, static] |
| pp_mode_t* pp_get_mode_by_name_and_quality | ( | char * | name, | |
| int | quality | |||
| ) |
returns a pp_mode_t or NULL if an error occured name is the string after "-pp" on the command line quality is a number from 0 to PP_QUALITY_MAX
Definition at line 744 of file postprocess.c.
Referenced by new_filter().
| void pp_free_mode | ( | pp_mode_t * | mode | ) |
| static void reallocAlign | ( | void ** | p, | |
| int | alignment, | |||
| int | size | |||
| ) | [static] |
| static void reallocBuffers | ( | PPContext * | c, | |
| int | width, | |||
| int | height, | |||
| int | stride, | |||
| int | qpStride | |||
| ) | [static] |
| static void global_init | ( | void | ) | [static] |
| static const char* context_to_name | ( | void * | ptr | ) | [static] |
Definition at line 981 of file postprocess.c.
| pp_context_t* pp_get_context | ( | int | width, | |
| int | height, | |||
| int | cpuCaps | |||
| ) |
| void pp_free_context | ( | void * | vc | ) |
| void pp_postprocess | ( | uint8_t * | src[3], | |
| int | srcStride[3], | |||
| uint8_t * | dst[3], | |||
| int | dstStride[3], | |||
| int | width, | |||
| int | height, | |||
| QP_STORE_T * | QP_store, | |||
| int | QPStride, | |||
| pp_mode_t * | vm, | |||
| void * | vc, | |||
| int | pict_type | |||
| ) |
uint8_t clip_table[3 *256] [static] |
Definition at line 114 of file postprocess.c.
Referenced by global_init(), globalInit(), sws_getContext(), and yuv2packed2().
uint8_t* const clip_tab = clip_table + 256 [static] |
Definition at line 115 of file postprocess.c.
const int attribute_used deringThreshold = 20 [static] |
Initial value:
{
{"hb", "hdeblock", 1, 1, 3, H_DEBLOCK},
{"vb", "vdeblock", 1, 2, 4, V_DEBLOCK},
{"h1", "x1hdeblock", 1, 1, 3, H_X1_FILTER},
{"v1", "x1vdeblock", 1, 2, 4, V_X1_FILTER},
{"ha", "ahdeblock", 1, 1, 3, H_A_DEBLOCK},
{"va", "avdeblock", 1, 2, 4, V_A_DEBLOCK},
{"dr", "dering", 1, 5, 6, DERING},
{"al", "autolevels", 0, 1, 2, LEVEL_FIX},
{"lb", "linblenddeint", 1, 1, 4, LINEAR_BLEND_DEINT_FILTER},
{"li", "linipoldeint", 1, 1, 4, LINEAR_IPOL_DEINT_FILTER},
{"ci", "cubicipoldeint", 1, 1, 4, CUBIC_IPOL_DEINT_FILTER},
{"md", "mediandeint", 1, 1, 4, MEDIAN_DEINT_FILTER},
{"fd", "ffmpegdeint", 1, 1, 4, FFMPEG_DEINT_FILTER},
{"l5", "lowpass5", 1, 1, 4, LOWPASS5_DEINT_FILTER},
{"tn", "tmpnoise", 1, 7, 8, TEMP_NOISE_FILTER},
{"fq", "forcequant", 1, 0, 0, FORCE_QUANT},
{NULL, NULL,0,0,0,0}
}
Definition at line 120 of file postprocess.c.
Referenced by ChannelWizard::ChannelWizard(), NuppelVideoPlayer::InitFilters(), PlaybackBox::startPlayer(), and tta_decode_frame().
const char* replaceTable[] [static] |
Initial value:
{
"default", "hdeblock:a,vdeblock:a,dering:a",
"de", "hdeblock:a,vdeblock:a,dering:a",
"fast", "x1hdeblock:a,x1vdeblock:a,dering:a",
"fa", "x1hdeblock:a,x1vdeblock:a,dering:a",
"ac", "ha:a:128:7,va:a,dering:a",
NULL
}
Definition at line 143 of file postprocess.c.
Referenced by pp_get_mode_by_name_and_quality().
| char* pp_help |
AVClass av_codec_context_class = { "Postproc", context_to_name, NULL } [static] |
Definition at line 985 of file postprocess.c.
1.5.5