Attention

This version of the SDK has been superseded by the latest release of the SDK.

AMD Advanced Media Acceleration (AMA) Release Notes

Note

Version: 1.2


Overview

This section describes various requirements, limitations, known issues and their respective workarounds that are applicable to AMD AMA Video SDK.

Release Requirements

  1. 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
    
  2. This documentation is applicable to 1.2 release.

  3. Ensure that chassis's BIOS is set to performance mode, e.g., sleep states, clock throttling, etc. are disabled.

New in This Release

  1. Support for new encoder features in resource management toolchain.

  2. New rate control modifier -cabr.

  3. Improvements to board management utilities, e.g., see mautil and mamgmt.

  4. Preview of ML based content adaptive (mlcae) rate control mode.

  5. Support for PCIe passthrough.

  6. Support for FFmpeg v6.1.1. (v5.1.2 deprecated.)

  7. Compositor 2D gpu plugin support, e.g., see compositor_ama.

  8. Support for downscaling using the decoder, e.g., see -resize.

  9. Support for pipelines spanning multiple devices.

  10. Created AMA specific DMA filters to improve throughput, e.g., see hwupload_ama and hwdownload_ama.

  11. Support for 2D gpu color space conversion, input rotation, color subsampling, and overlay and tiling in GStreamer. See 2D Engines for details.

  12. Support for JPEG and AVIF image processing, e.g., see -c:v.

  13. Dual core AV1 encoding, enabling 4kp120 and 8Kp30, is now supported for all lookahead depths.

  14. Support for min QP and CABR with ULL

  15. Support for passing through CEA 608, 708 closed captions in transcode flows.

  16. Support for passing through video full range flag in transcode flows.

  17. Support for passing through DolbyVision T.35s in transcode flows.

  18. Simplified command-line options for configuring CRF.

  19. Support for unified QP range among all codecs.

  20. Support for Fedora 40.

  21. Support for pipeline and inference_period in ML plugin.

Feature Highlight

  1. Support for video transcode using either our supplied FFmpeg (6.1.1), Gstreamer (v1.22), or custom Xilinx Media Acceleration (XMA) applications.

  2. Support for up to 8 x 4Kp60 8-bit or 10-bit video decode VP9, AVC or HEVC per device.

  3. Support for up to 4 x 4Kp60 8-bit or 10-bit video decode of AV1 per device.

  4. Support for up to 2 x 4Kp60 8-bit or 10-bit video transcode of AVC or HEVC per device.

  5. Support for up to 4 x 4Kp60 8-bit or 10-bit video transcode of AV1 per device.

  6. Support for up to 1 x 8Kp30 8-bit or 10-bit video transcode of AV1 per device

  7. Support for integration with software-based video image filters using our hardware DMA support to/from device memory.

  8. Support for up to 160 Mbps encode throughput per device.

  9. Support for encoder levels >= 6.

  10. Support for virtualization using either SR-IOV or PCIe passthrough.

  11. Optional use of our supplied resource management daemon (xrmd) for automated accelerator selection and load balancing.

  12. Detailed telemetry report, which includes resource utilization, power usage, heat dissipation, PCIe and memory bandwidth.

  13. Dedicated 2D GPU and Machine Learning (ML) engines for pixel processing and encoding enhancements.

  14. Face and text-based ML models for enhanced low bitrate video encoding for fine text and faces using the ML engine of the card.

  15. Dual core AV1 encoding enabling 4kp120 and 8Kp30.

  16. Programmable latency modes from 0 - 40 frames, with no impact on density.

  17. Selectable video metrics modes MOS, SSIM and PSNR, with no impact on density.

  18. HDR10, HDR10+ and/or HLG metadata pass through transcode support.

  19. Simple to use validation applications.

  20. 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.

Supported OS & Kernel

OS Name(s)

Generic Kernel(s)

Notes

Ubuntu 22.04
Ubuntu 20.04
5.15.0, 5.19.0, 6.2.0 and 6.5.0
Preferred kernels are 5.15.0, 6.2.0 and 6.5.0
Debian 12
6.1

Fedora 40
6.8
Preferred kernel is 6.9

Known Limitations

  1. PF and VF must support PCIe memory regions BAR0 of 8 MB, BAR2 of 64 MB and BAR4 of 512 MB sizes.

  2. PF and VF release versions must match.

  3. A device that has been assigned to a VM cannot share its resources with its host.

  4. Only a single VF may be assigned to a VM.

  5. For maximum server scalability, ensure that a single VF is assigned to a VM.

  6. Ensure that both the host and VMs are running the same SDK version.

  7. MA35D only supports progressive content, i.e., interlaced contents are not supported in either the decoder or encoder.

  8. For encoding, only resolutions that are divisible by 4 are supported, i.e., both height and width.

  9. For decoding, only resolutions that are divisible by 2 are supported, i.e., both height and width.

  10. This version of the SDK does not support splitting a video acceleration use case across multiple MA35D devices.

  11. Older versions of FFmpeg, e.g., 5.1.2, are not recommended to transport AV1 over MPEG TS.

  12. XMA sample applications are not meant to be run at maximum density.

  13. Encode rates up to maximum of 400 Mbps are supported. (Note that real-time is not guaranteed at rates above 160 Mbps.)

  14. 4Kp120 is only supported for AV1 (type 1) encoder, under ultra low latency mode, using both cores.

  15. VBR and CVBR rate control modes are not supported for lookahead depth between 0 and 4.

  16. See Encoding Compatibility Matrix for supported combinations of LA depth, rate control modes, encoder types, etc.

  17. When using the encoder fast preset, lookahead_depth must be > 0.

  18. Mixing 2-slice AV1 Type 1 encoding and 1-slice encoding is not supported on a single device

  19. Encoder does not support dynamic QP maps in either AV1 Type 2 encoding or with lookahead_depth = 0.

  20. 2D GPU only supports 8-bit video.

  21. The 2D GPU and ML engines are not supported in Gstreamer or through XMA interface.

  22. AV1 decoder does not support 8k resolution in portrait mode.

  23. 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

  1. 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.

  2. 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.

  3. If the kernel driver is not loaded, tools such as mautil may crash when invoked.

  4. 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

  5. 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.

  6. Using Gstreamer, 1080p30 transcodes and or lower resolutions cannot run at full density with default lookahead depth.

  7. ROI Model currently doesn't support portrait mode in a specific resolution of 1080x1920.

  8. A strict HDR10+ compliance checker may report some warnings in encoded HDR10+ bitstreams generated by this release.

  9. 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.

  10. AV1 decoder accepts streams up to 40 Mbps.

  11. Attempts to firmware updates before the 10-minute mark, of card uptime, with 9.7.35 satellite controller firmware will fail.

  12. XMA ML APIs do not include roi_scale xma filter.

  13. Logo overlay prints error messages every 30s, which are innocuous.

  14. Encoding density for HEVC, 720p, 10-bit, with SSIM tuning, under normal latency may not reach the tabulated results.

  15. In FFmpeg, using native hwdownload or accelerated hwdownload_ama, with -stream_loop option , leads to memory leak.

  16. In FFmpeg, using with -stream_loop option with JPEG decoding is not supported.

  17. 4K Portrait mode is not supported in AV1 Type 2 encoding.

Upgrading from Previous Versions

  1. Remove any previously installed ma35 and amd-ama packages as per installation instructions.

  2. Remove any manually created Boost library soft links that may have been created, previously.

  3. Remove all entries from /etc/apt/sources.list.d/xilinx.list if this file exists.