Video Processing Engine (VPE) SDK
nablet VPE (Video Processing Engine) is a powerful collection of modules which can perform various media processing functions with exceptional quality and performance. Processes include deinterlacing, interlacing, alpha blending, scaling, denoising, color conversion and more. In many cases, these components can perform functions in software that previously required specialized, expensive hardware.
VPE now supports new CPU architecture extenstions and several other speed and quality enhancements.
Windows, macOS, Linux
The modules in the toolkit can help:
- Reduce file size by as much as 50%, achieving better quality at the same bitrate or a lower bitrate at the same quality
- Reduce video processing and transcoding time
- Increase video quality significantly
- Add 4K or 8K support to existing workflows
- Generate high-quality progressive frames from interlaced video
- Convert between color spaces quickly with high quality
- Upscale or downscale video
nablet VPE uses different approaches and algorithms than other image processing engines on the market. For example, the Deinterlacer module can create new frames without having reference frames to work with, using adaptive methods to avoid artifacts and generate high-quality video.
The SDK comes with easy to use sample binaries to run on RAW video and picture files.
The toolkit includes these components:
Deinterlacer / Interlacer
This component includes an automated decision engine which chooses the best parameters for optimal results.
The comparison below shows the Deinterlacer in action. The left image shows the input, and the other image shows the output.
New Alpha Blender
This powerful component can composite multiple layers up to 4K directly in the YUV buffer.
nablet Scaler supports FIR filtering with unique features that provide higher picture quality. Even though it uses more bits in the individual scaling steps, it does not require more CPU cycles. It offers sub-pixel rendering for the highest possible quality.
All of the example images above are available in a single zip file for downloading and further evaluation. Click here.
The nablet denoiser is part of our high quality XAVC Video codec which is shipped with our AMA (Avid Media Access) plugin. It includes a video analysis engine and does automated preprocessing for the highest possible quality without losing speed. The noise level is set automatically without requiring interaction within the video processing chain.
New Video Rotator/Flipper
This module fixes issues with upside down or rotated images captured by older cell phones or security cameras.
The Color Converter uses a unique method of converting between color spaces. During the conversion process it uses 16-32 bit interim memory which creates more data than normal converters, resulting in higher video quality.
- SSE – AVX optimizations
- Any to any format conversion
- Up to 8K high quality scaling
- Alpha channel scaling
Supported Input and Output Formats (Defined by FourCC)
BGR3, BGR4, BGRA – RGB, range is black=0, white=255 (default)
R24C, R32C, R32A – RGB, range is black=16, white=235 used in video-editing to keep super-black and super-white
VUY4, VUYA – YCbCr interleaved to 4-bytes words
I410, I420, I411, I422, I444 – YCbCr planar formats (Y plane, Cb-plane, Cr-plane)
YVU9, YV12, YV16, YV24 – YCbCr planar formats (Y plane, Cr-plane, Cb-plane)
YUY2 (alias YUYV), UYVY – YCbCb 4:2:2 interleaved (Y,Cb,Y,Cr… or Cb,Y,Cr,Y)
v210 – YCbCr, 10 bits UYVY packed to 32-bits words
NV12, NV16, NV24 – YCbCr special format used by hardware
UYV9 – UYV12
16 bits uint16_t planar I420,I422, I444
S-Log3 (currently in Development)