AMD Advanced Media Acceleration (AMA) Release Notes¶
Note
Version: 1.5.0
Overview¶
This section describes various requirements, limitations, known issues and their respective workarounds that are applicable to AMD AMA Video SDK.
Qualified Server List¶
Please refer to the qualified server list for the most up-to-date information on compatible servers for this release.
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.5.0 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 Azure Linux 3.0 VM, Alma 10.1, Rocky 10.1, and Debian 13.3
Support for kernel 6.17
Improved driver and firmware packaging, with GPL only licensing
FFmpeg 8.0
Obsolete Features¶
FFmpeg 7.1
Alma 9.7, Rocky 9.7, and Debian 12.11
Kernel 6.14
Feature Highlight¶
Support for video transcode using either our supplied FFmpeg, 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.
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.
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
|
6.17.0, and 6.8.0
|
|
Ubuntu 22.04
|
5.15.0, and 6.8.0
|
|
Debian 13.3
|
6.12.0
|
|
Azure Linux 3.0 VM
|
6.6
|
Only as a VM guest
|
Alma 10.1
Rocky 10.1
|
6.12.0
|
Known Limitations¶
Natively, MA35D only supports progressive video processing. (See Decoding and De-interlacing for a hybrid de-interlacing solution.)
PF and VF must support PCIe memory regions BAR0 of 8 MB, BAR2 of 64 MB and BAR4 of 512 MB sizes.
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 encoding, only resolutions that are divisible by 4 are supported, i.e., both height and width. For AV1 Type 2 both height and width must be divisible by 8. See AV1 Type Selection for details.
For decoding, only resolutions that are divisible by 2 are supported, i.e., both height and width.
XMA sample applications are not meant to be run at maximum density.
Encode rates up to maximum of 400 Mbps are supported per encoder. (Note that real-time is not guaranteed for encode rates above 40 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
fastpreset, 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.
Each encoding
-slicecan handle up to 125 requests independently of its total 4Kp60 capacity.A system reboot is required after each kernel update to ensure the proper installation and functioning of the SDK.
In a deployed chassis, it is imperative to ensure that all the MA35D cards, existing and newly introduced ones, have the same firmware version as specified by the SDK.
PCIe PEX switches are not supported.
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.
If the kernel driver is not loaded, tools such as mautil may crash when invoked.
A strict HDR10+ compliance checker may report some warnings in encoded HDR10+ bitstreams generated by this release.
AV1 decoder accepts streams up to 40 Mbps.
Encoding density for HEVC, 720p, 10-bit, with SSIM tuning, under normal latency may not reach the tabulated results.
In FFmpeg, using with
-stream_loopoption with JPEG decoding is not supported.4K Portrait mode is not supported in AV1 Type 2 encoding.
Min & Max dynamic bit rate parameters, truncate their associated values to the nearest Kilobits per second.
When using FFmpeg, to optimally utilise MA35D's resources, usage of identically repeated input entries should be avoided, and instead such repetitions should be replaced with the application of the split filter. See FFmpeg Tutorials for example usage.
When running a video pipeline through a container, e.g., see Docker example, it should be noted that all MA35D PCIe devices are visible to that container.