V-Nova LCEVC-XSA employs the MPEG-5 Part 2 Low-complexity enhancement video coding standard (LCEVC), a unique video encoding approach that significantly enhances the quality and throughput of any standard codec such as AVC/H.264, HEVC, VP8, VP9 and AV1.
Vendor: V-Nova
Last Update: March 22, 2021
Size: 1 GB
Container Version:
Alveo U50 | vnova_lcevc_xsa_onprem_gpl_u50_20201:3.1.0.2 |
Alveo U200 | vnova_lcevc_xsa_onprem_gpl_u200_20201:3.1.0.1 |
Alveo U250 | vnova_lcevc_xsa_onprem_gpl_u250_20201:3.1.0.1 |
Obtain an entitlement to evaluate or purchase this product.
Begin a free trial and run the application example below.
View and purchase available pricing plans for this application.
This application is containerized and can be easily run in a few minutes in the cloud, or on-premises.
On Premises | |
---|---|
Alveo U50 View & Buy Product |
|
Alveo U200 View & Buy Product |
|
Alveo U250 View & Buy Product |
|
Follow the instructions based on your deployment method.
An access key is required to authenticate a user and grant them access to the application based on their entitlements. To obtain your account access key, follow these steps:
Note: The resulting access key will enable all entitlements within your account. If you have not yet obtained entitlements from the "TRY OR BUY" section above, you must do so before following these steps for generating your access key.
The Xilinx Runtime (XRT) host application is supported on Ubuntu 16.04 /18.04 and CentOS 7.x. With sudo access, use the following command to download and run the setup script:
git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git && cd Xilinx_Base_Runtime
./host_setup.sh -v 2020.1 -p alveo-u50
./host_setup.sh -v 2020.1 -p alveo-u200
./host_setup.sh -v 2020.1 -p alveo-u250
Note:
With sudo access, use the following command to run the utility script to install docker.
cd Xilinx_Base_Runtime/utilities
./docker_install.sh
source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh
docker pull xilinxpartners/vnova_lcevc_xsa_onprem_gpl:alveo_u50_20201_3.1.0.2
docker pull xilinxpartners/vnova_lcevc_xsa_onprem_gpl:alveo_u200_20201_3.1.0.11
docker pull xilinxpartners/vnova_lcevc_xsa_onprem_gpl:alveo_u250_20201_3.1.0.1
GPL Licensing:
FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. The FFmpeg distribution for LCEVC-XSA is GPL Licensed and the corresponding Linux binaries and libraries can be downloaded from: Contact V-Nova.
Note:
Please ensure <path-to-ffmpeg-dir> contains the ffmpeg_lcevc executable before proceeding.
Please ensure <path-to-cred.json> contains your cred.json file before proceeding.
3.4.1. U50
docker run -it --rm $XILINX_DOCKER_DEVICES -v <path-to-ffmpeg-dir>:/ffmpeg_dist:Z -v /dev/shm:/io:Z -v <path-to-cred.json>:/vnova_lcevc/cred.json:Z xilinxpartners/vnova_lcevc_xsa_onprem_gpl:alveo_u50_20201_3.1.0.2 x265 3840 2160 8000 1 1
3.4.2. U200
docker run -it --rm $XILINX_DOCKER_DEVICES -v <path-to-ffmpeg-dir>:/ffmpeg_dist:Z -v /dev/shm:/io:Z -v <path-to-cred.json>:/vnova_lcevc/cred.json:Z xilinxpartners/vnova_lcevc_xsa_onprem_gpl:alveo_u200_20201_3.1.0.1 x265 3840 2160 8000 1 1
3.4.2. U250
docker run -it --rm $XILINX_DOCKER_DEVICES -v <path-to-ffmpeg-dir>:/ffmpeg_dist:Z -v /dev/shm:/io:Z -v <path-to-cred.json>:/vnova_lcevc/cred.json:Z xilinxpartners/vnova_lcevc_xsa_onprem_gpl:alveo_u250_20201_3.1.0.1 x265 3840 2160 8000 1 1
Description of command arguments:
-v <path-to-cred.json>:/vnova_lcevc/cred.json:Z
- Map local cred.json file : container cred.json file-v /dev/shm:/io:Z
- Map the local dir : container dir for input & output file$XILINX_DOCKER_DEVICES
- Environment variable set by the host setup script-it --rm
- Run Docker in interactive mode and delete container after execution has completed (this allows execution exit when ‘q’ is pressed)docker run
......... [codec] [width] [height] [bitrate] [use-lcevc-flag] [loop]e.g .docker run
...... x265 3840 2160 8000 1 -1 [loop input file indefinitely] Note:
Please ensure <path-to-ffmpeg-dir> contains the ffmpeg_lcevc executable before proceeding.
Please ensure <path-to-cred.json> contains your cred.json file before proceeding.
Please ensure /dev/shm contains your input video <some-video-file.yuv> before proceeding.
3.5.1. U50
docker run -it --rm $XILINX_DOCKER_DEVICES -v <path-to-ffmpeg-dir>:/ffmpeg_dist:Z -v /dev/shm:/io:Z -v <path-to-cred.json>:/vnova_lcevc/cred.json:Z xilinxpartners/vnova_lcevc_xsa_onprem_gpl:alveo_u50_20201_3.1.0.2 -y -s 3840x2160 -pix_fmt yuv420p -vcodec rawvideo -r 60 -stream_loop 1 -i /io/<some-video-file.yuv> -c:v lcevc_hevc -base_encoder x265 -eil_params "accel_type=xilinx_xma;encoding_transform_type=dd;api_mode=asynchronous;baseEncType=x265;encoding_upsample=stergy;rate_control_mode=adaptiveratio;rc_bucket_duration_ms=4000;rc_bitrate_max_base_prop=0.875;rc_bitrate_base_prop=0.875;encoding_downsample_luma=lanczos3;encoding_downsample_chroma=larea3;rc_max_pcrf=35;rc_pcrf_base_prop=0.8;rc_pcrf_gop_length=120;rc_pcrf_min_bitrate=2000;rc_pcrf_base_rc_mode=cbr;encoding_step_width_loq_1_min=32767;bframes=3;preset=medium;encoding_mode=enhanced;residual_mode_priority_enabled=0;temporal_sw_modifier=-2;temporal_use_priority_map=0;temporal_cq_sw_multiplier=0;temporal_use_new_cost=0;temporal_use_temporal_type=0;encoding_adaptive_deadzone_enabled=1;lcevc_tune=disabled" -b:v 8000k -vsync 0 "/io/lcevc_x265_fpga.ts"
3.5.2. U200
docker run -it --rm $XILINX_DOCKER_DEVICES -v <path-to-ffmpeg-dir>:/ffmpeg_dist:Z -v /dev/shm:/io:Z -v <path-to-cred.json>:/vnova_lcevc/cred.json:Z xilinxpartners/vnova_lcevc_xsa_onprem_gpl:alveo_u200_20201_3.1.0.1 -y -s 3840x2160 -pix_fmt yuv420p -vcodec rawvideo -r 60 -stream_loop 1 -i /io/<some-video-file.yuv> -c:v lcevc_hevc -base_encoder x265 -eil_params "accel_type=xilinx_xma;encoding_transform_type=dd;api_mode=asynchronous;baseEncType=x265;encoding_upsample=stergy;rate_control_mode=adaptiveratio;rc_bucket_duration_ms=4000;rc_bitrate_max_base_prop=0.875;rc_bitrate_base_prop=0.875;encoding_downsample_luma=lanczos3;encoding_downsample_chroma=larea3;rc_max_pcrf=35;rc_pcrf_base_prop=0.8;rc_pcrf_gop_length=120;rc_pcrf_min_bitrate=2000;rc_pcrf_base_rc_mode=cbr;encoding_step_width_loq_1_min=32767;bframes=3;preset=medium;encoding_mode=enhanced;residual_mode_priority_enabled=0;temporal_sw_modifier=-2;temporal_use_priority_map=0;temporal_cq_sw_multiplier=0;temporal_use_new_cost=0;temporal_use_temporal_type=0;encoding_adaptive_deadzone_enabled=1;lcevc_tune=disabled" -b:v 8000k -vsync 0 "/io/lcevc_x265_fpga.ts"
3.5.3. U250
docker run -it --rm $XILINX_DOCKER_DEVICES -v <path-to-ffmpeg-dir>:/ffmpeg_dist:Z -v /dev/shm:/io:Z -v <path-to-cred.json>:/vnova_lcevc/cred.json:Z xilinxpartners/vnova_lcevc_xsa_onprem_gpl:alveo_u250_20201_3.1.0.1 -y -s 3840x2160 -pix_fmt yuv420p -vcodec rawvideo -r 60 -stream_loop 1 -i /io/<some-video-file.yuv> -c:v lcevc_hevc -base_encoder x265 -eil_params "accel_type=xilinx_xma;encoding_transform_type=dd;api_mode=asynchronous;baseEncType=x265;encoding_upsample=stergy;rate_control_mode=adaptiveratio;rc_bucket_duration_ms=4000;rc_bitrate_max_base_prop=0.875;rc_bitrate_base_prop=0.875;encoding_downsample_luma=lanczos3;encoding_downsample_chroma=larea3;rc_max_pcrf=35;rc_pcrf_base_prop=0.8;rc_pcrf_gop_length=120;rc_pcrf_min_bitrate=2000;rc_pcrf_base_rc_mode=cbr;encoding_step_width_loq_1_min=32767;bframes=3;preset=medium;encoding_mode=enhanced;residual_mode_priority_enabled=0;temporal_sw_modifier=-2;temporal_use_priority_map=0;temporal_cq_sw_multiplier=0;temporal_use_new_cost=0;temporal_use_temporal_type=0;encoding_adaptive_deadzone_enabled=1;lcevc_tune=disabled" -b:v 8000k -vsync 0 "/io/lcevc_x265_fpga.ts"
Description of command arguments:
-v <path-to-cred.json>:/vnova_lcevc/cred.json:Z
- Map local cred.json file : container cred.json file-v /dev/shm:/io:Z
- Map the local dir : container dir for input & output file$XILINX_DOCKER_DEVICES
- Environment variable set by the host setup script-it --rm
- Run Docker in interactive mode and delete container after execution has completed (this allows execution exit when ‘q’ is pressed)-y
- Overwrite output files without asking-s WxH
- Resolution of input-pix_fmt
- Pixel format of input file (yuv420p)-c:v codec
- FFmpeg LCEVC plugin used for encoding (options are, lcevc_h264, lcevc_hevc, lcevc_vp8, lcevc_vp9, lcevc_av1, which specifies LCEVC with a base codec)-base_encoder codec
- Host driver base encoder plugin (options are x264, x265, qsv_h264, qsv_hevc, vpx, av1)-baseEncType codec
- FPGA specific variable (options are x264, x265, vpx, av1) and must match codec specified above [e.g -c:v lcevc_h264 -base_encoder qsv_h264 -eil_params “baseEncType=x264”]. All three variables should be consistent in definition.-stream_loop
- Specifies the number of times to loop over the input file during encodes, set to -1 for infinite-eil_params "params"
- Prefix option for defining LCEVC encoder specific parameterspreset=value
- eil_params Target quality, options are veryslow, slow, medium, fast, veryfast, ultrafast [x264, x265 and QSV codecs only]quality=value
- eil_params Target quality, options are best, good, realtime [VP8, VP9, AV1 only (‘best’ option not supported for AV1)]-b:v
- Specifies the encoding bit rate, e.g 4500k will encode at 4.5mbpsOnce your job is complete, an “lcevc_x265_fpga.ts” 4K encoded sample will be available in "/dev/shm". You can use The LCEVC decoder on Microsoft Windows 10 to display it (H.264 and HEVC only). For VPx or AV1 please contact V-Nova. You will need to install these 2 apps:
https://www.microsoft.com/en-us/store/p/hevc-video-extension/9n4wgh0z6vhq
https://www.microsoft.com/store/productId/9N9C2Z21XHL9
When running in Basic mode:
When running in Advanced mode: