AMD Advanced Media Acceleration (AMA) Release Notes¶
Note
Version: 1.4.0
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.4.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 Alma 9.6, Rocky 9.6, and Debian 12.11
Support for kernel 6.14
FFmpeg 7.1, which is the
onlysupported version.
Obsolete Features¶
Device native 2D processing functions such as crop, rotate, ... . See 2D Engines for supported features.
Device native inference engine, formerly known as ML Engine
Gstreamer
Feature Highlight¶
Support for video transcode using either our supplied FFmpeg (7.1), 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.
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
|
5.15.0, 6.8.0 and 6.14.0
|
Preferred kernels are 5.15.0 and 6.8.0
|
Debian 12.11
|
6.1
|
|
Alma 9.6
Rocky 9.6
|
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 AV1 Type 2 both height and width must be divisible by 8.)
For decoding, only resolutions that are divisible by 2 are supported, i.e., both height and width.
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 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.
For virtualization, if upgrading from SDK versions prior to 1.2, ensure to follow the updated instructions in Virtualization section.
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.
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.
An AV1 HLS stream may playback at slower than real time speeds. Recommend explicitly setting the fps playback frame rate, when using ffplay versions earlier than 5.1.2.
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.
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 update firmware before the 10-minute mark, of card uptime, with 9.7.35 satellite controller firmware will fail.
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_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.
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.
For this release, rebuild of FFmpeg does not include Rocky and Alma