AMD Advanced Media Acceleration (AMA) Release Notes¶
Note
Version: 1.2.1
Overview¶
This section describes various requirements, limitations, known issues and their respective workarounds that are applicable to AMD AMA Video SDK.
Release Requirements¶
This release will upgrade the MA35D firmware versions to:
ZSP Version = 2.1.0 SC Version = 9.8.5 eSecure Version = 1.0.0 PCIe FW Version = 2.1.0 PCIe CTRL Patch Version = 1.0.3 PCIe PHY Patch A Version = 1.0.0
This documentation is applicable to 1.2.1 release.
Ensure that chassis's BIOS is set to performance mode, e.g., sleep states, clock throttling, etc. are disabled.
New in This Release¶
Support for Alma 9.4, Debian 12.6, and Ubuntu 24.04.
Updates to ensure compliance, when encoding with H.264 baseline profile.
Obsoleted Features¶
To ensure consistent video quality, encoding parameters such as bit rate, qp, and crf value must be set, explicitly.
To ensure optimal host-device data transaction, generic
hwupload
, andhwdownload
plugins are replaced by their specialized counterpartshwupload_ama
andhwdownload_ama
.
Feature Highlight¶
Support for video transcode using either our supplied FFmpeg (6.1.1), Gstreamer (v1.22), or custom Xilinx Media Acceleration (XMA) applications.
Support for up to 8 x 4Kp60 8-bit or 10-bit video decode VP9, AVC or HEVC per device.
Support for up to 4 x 4Kp60 8-bit or 10-bit video decode of AV1 per device.
Support for up to 2 x 4Kp60 8-bit or 10-bit video transcode of AVC or HEVC per device.
Support for up to 4 x 4Kp60 8-bit or 10-bit video transcode of AV1 per device.
Support for up to 1 x 8Kp30 8-bit or 10-bit video transcode of AV1 per device
Support for integration with software-based video image filters using our hardware DMA support to/from device memory.
Support for up to 160 Mbps encode throughput per device.
Support for encoder levels >= 6.
Support for for JPEG and AVIF image processing.
Support for passing through CEA 608, 708 closed captions in transcode flows.
Support for passing through DolbyVision T.35s in transcode flows.
Support for virtualization using either SR-IOV or PCIe passthrough.
Optional use of our supplied resource management daemon (xrmd) for automated accelerator selection and load balancing.
Detailed telemetry report, which includes resource utilization, power usage, heat dissipation, PCIe and memory bandwidth.
Dedicated 2D GPU and Machine Learning (ML) engines for pixel processing and encoding enhancements.
Face and text-based ML models for enhanced low bitrate video encoding for fine text and faces using the ML engine of the card.
Dual core AV1 encoding enabling 4kp120 and 8Kp30.
Programmable latency modes from 0 - 40 frames, with no impact on density.
Selectable video metrics modes MOS, SSIM and PSNR, with no impact on density.
HDR10, HDR10+ and/or HLG metadata pass through transcode support.
Simple to use validation applications.
Flexible frame definition that, among other things, allows for arbitrary insertion of IDR frames, e.g., Insert IDR.
Supported Kernels and Distributions¶
The following table denotes the current supported kernels and distributions.
OS Name(s) |
Generic Kernel(s) |
Notes |
---|---|---|
Ubuntu 24.04
Ubuntu 22.04
Ubuntu 20.04
|
5.15.0, 5.19.0, 6.2.0, 6.5.0 and 6.8.0
|
Preferred kernels are 5.15.0, 6.2.0 and 6.5.0
|
Debian 12
Debian 12.6
|
6.1
|
|
Fedora 40
|
6.8
|
Preferred kernel is 6.10.10
|
Alma 9.4
|
5.14.0
|
Known Limitations¶
Natively, MA35D does not support interlaced video processing. (See Decoding and De-interlacing for a hybrid solution.)
PF and VF must support PCIe memory regions BAR0 of 8 MB, BAR2 of 64 MB and BAR4 of 512 MB sizes.
PF and VF release versions must match.
A device that has been assigned to a VM cannot share its resources with its host.
Only a single VF may be assigned to a VM.
For maximum server scalability, ensure that a single VF is assigned to a VM.
Ensure that both the host and VMs are running the same SDK version.
MA35D only supports progressive content, i.e., interlaced contents are not supported in either the decoder or encoder.
For encoding, only resolutions that are divisible by 4 are supported, i.e., both height and width.
For decoding, only resolutions that are divisible by 2 are supported, i.e., both height and width.
This version of the SDK does not support splitting a video acceleration use case across multiple MA35D devices.
Older versions of FFmpeg, e.g., 5.1.2, are not recommended to transport AV1 over MPEG TS.
XMA sample applications are not meant to be run at maximum density.
Encode rates up to maximum of 400 Mbps are supported. (Note that real-time is not guaranteed at rates above 160 Mbps.)
4Kp120 is only supported for AV1 (type 1) encoder, under ultra low latency mode, using both cores.
VBR and CVBR rate control modes are not supported for lookahead depth between 0 and 4.
See Encoding Compatibility Matrix for supported combinations of LA depth, rate control modes, encoder types, etc.
When using the encoder
fast
preset, lookahead_depth must be > 0.Mixing 2-slice AV1 Type 1 encoding and 1-slice encoding is not supported on a single device
Encoder does not support dynamic QP maps in either AV1 Type 2 encoding or with lookahead_depth = 0.
AV1 decoder does not support 8k resolution in portrait mode.
When distributing a multi-resloution pipeline across multiple devices, the 1 st output of the scaler ladder, of the current device, must be passed to the other devices, for task distribution purposes.
Known Issues¶
A secondary bus reset (SBR) will cause the server to hang. A cold boot of the server will restore function. After installation of our driver package, our setup.sh script should be run prior to utilizing any of the features of the SDK. The setup.sh will disable secondary bus reset.
AV1 decoding using the included ama_av1dec Gstreamer plugin requires the use of an IVF packaged AV1 raw video stream and a corresponding ivfparse plugin to be utilized to demux the AV1 video stream.
If the kernel driver is not loaded, tools such as mautil may crash when invoked.
An AV1 HLS stream may playback at slower than real time speeds. Recommend explicitly setting of fps playback frame rate when using ffplay or use ffplay from ffmpeg 5.1.2 or 6.0
Recommend playback of raw video using more recent versions of ffplay (n5.1.2n6.0 or later) or more recent versions of media players such as VLC v3.0.17.4. Alternatively, muxing the raw video into an IVF container format is also permitted.
ROI Model currently doesn't support portrait mode in a specific resolution of 1080x1920.
A strict HDR10+ compliance checker may report some warnings in encoded HDR10+ bitstreams generated by this release.
Firmware downgrade to GA1.0 may not work on some desktop machines or low end servers. Warm boot the server to get to working state.
AV1 decoder accepts streams up to 40 Mbps.
Attempts to firmware updates before the 10-minute mark, of card uptime, with 9.7.35 satellite controller firmware will fail.
XMA ML APIs do not include roi_scale xma filter.
Logo overlay prints error messages every 30s, which are innocuous.
Encoding density for HEVC, 720p, 10-bit, with SSIM tuning, under normal latency may not reach the tabulated results.
In FFmpeg, using with
-stream_loop
option with JPEG decoding is not supported.4K Portrait mode is not supported in AV1 Type 2 encoding.
2D engines that allow for multiple video inputs, e.g.,
tile_ama
, andcompositor_ama
, then all the frame rates must be made equal.