The term post-processing (or postproc for short) is used in the video/film business for quality-improvement image processing (specifically digital image processing) methods used in video playback devices, (such as stand-alone DVD-Video players), and video players software and transcoding software. It is also commonly used in real-time 3D rendering (such as in video games) to add additional effects.
Video post-processing is the process of changing the perceived quality of a video on playback (done after the decoding process). Image scaling routines such as linear interpolation, bilinear interpolation, or cubic interpolation can for example be performed when increasing the size of images; this involves either subsampling (reducing or shrinking an image) or zooming (enlarging an image). This helps reduce or hide image artifacts and flaws in the original film material. It is important to understand that post-processing always involves a trade-off between speed, smoothness and sharpness.
Image scaling and multivariate interpolation:
Nearest-neighbor interpolation
linear interpolation
bilinear interpolation
cubic interpolation
bicubic interpolation
Bézier surface
Lanczos resampling
trilinear interpolation
Tricubic interpolation
SPP (Statistical-Post-Processing)
Deblocking
Deringing
Sharpen / Unsharpen (often referred to as "soften")
Requantization
Luminance alterations
Blurring / Denoising
Deinterlacing
weave deinterlace method
bob deinterlace method
linear deinterlace method
yadif deinterlace method
Deflicking
2:3 pull-down / ivtc (inverse telecine) for conversion from 24 frames/s and 23.976 frames/s to 30 frames/s and 29.97 frames/s
3:2 pull-up (telecine conversion) for conversion from 30 frames/s and 29.97 frames/s to 24 frames/s and 23.976 frames/s
Additionally, post-processing is commonly used in 3D rendering, especially for video games. Instead of rendering 3D objects directly to the display, the scene is first rendered to a buffer in the memory of the video card. Pixel shaders and optionally Vertex shaders are then used to apply post-processing filters to the image buffer before displaying it to the screen. Some post-processing effects also require multiple-passes, gamma inputs, vertex manpulation and depth buffer access. Post-processing allows effects to be used that require awareness of the entire image (since normally each 3D object is rendered in isolation). Such effects include:
Upscaling for example xBR, Super xBR and SuperRes
High dynamic range rendering
Particle Effects
Bloom
Light Scattering
Screen Space Reflections
Point Light Attenuation
Filmic Scene Tone Mapping
Digital Camera Light Compensation
Eye Adaptation
Image Distortion
Barrel Distortion
Chromatic Aberration
Bokeh Effect
Sobel Operator
Glow
Lens flare
Pseudo Lens Flare
Cubic Lens Distorion Flare
Sharpen / Unsharpen(Texture Unsharp Mask, LumaSharpen, Sharpen, Sharpen Complex 1/2, Adaptive-Sharpen)
Bump mapping
Motion blur
Smart Blur
Heat Haze
Ambient Occlusion including custom types.
HBAO
Cel shading
Outlines
Sketch Shading
Paint Shading
Ink Shading
Crepuscular rays
Film grain simulation
Grayscale simulation
Infrared and Nightvision simulation
Bloodlust effect.
Sepia
Screen Borders
Screen Rotation
Splitscreen
Anaglyph
Depth of field
Depth Haze
Shadow mapping
Global illumination
Gamma Correction
Color grading
Color correction
Contrast Adjustement
Dynamic Contrast
Antialiasing like FXAA, AGAA, MSAA, SSAA and SMAA and custom antialiasing methods
Texture filtering like Point, Linear, Bilinear, Trilinear, Anisotropic and custom algorithms.
Dithering including Subpixel Dithering.
Vignette
Pixel Vibrance
Posterization and Deposterization.
Scanline simulation
Fog/Mist