Skip to content

Commit e8c7cd7

Browse files
committed
AMF v1.4.33 release
1 parent c48e50a commit e8c7cd7

File tree

146 files changed

+7039
-4633
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+7039
-4633
lines changed

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ AMF is a light-weight, portable multimedia framework that abstracts away most of
1414
* Windows Subsystem for Linux (DX12 Decoder and Converter Only)
1515
* Visual Studio® 2019
1616
* Linux
17-
* RHEL 9.2 / 8.8
18-
* Ubuntu 22.04.2 / 20.04.5
17+
* RHEL 9.3 / 8.9
18+
* Ubuntu 22.04.4 / 20.04.5
1919
* SLED/SLES 15 SP5
2020
* Driver and AMF component installation instructions are available on the [Wiki page](https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki).
2121
* The following table contains the driver versions in which the Linux pro driver started including the AMF runtime, otherwise, the AMF runtime is optional and has to be installed separately.
@@ -28,6 +28,7 @@ AMF is a light-weight, portable multimedia framework that abstracts away most of
2828
| \**All supported distros* | 20.40 |
2929

3030
* AMF SDK is backward compatible with all previous driver versions.
31+
* Version 1.4.33: AMD Radeon Software Adrenalin Edition 24.1.1 (23.40.02) or newer. Added native DX12 support for encoding and PreAnalysis. Switched to public Vulkan Khronos extensions for decoder. AMF on Linux can now be used with AMD Pro Vulkan, and experimentally with RADV drivers.
3132
* Version 1.4.32: AMD Radeon Software Adrenalin Edition 23.12.1 (23.30.13.01) or newer. Added new FRC component and API doc. Added new VQEnhancer doc. Improved presenters. Updated FFmpeg to 6.0.
3233
* Version 1.4.30: AMD Radeon Software Adrenalin Edition 23.5.2 (23.10.01.45) or newer. Added AMF wrappers for AVC / HEVC / AV1 FFmpeg software encoders, frame in -> slice / tile output support for AVC / HEVC / AV1 encoders, and multi-monitor support for DVR. Updated FFmpeg to 5.1.2.
3334
* Version 1.4.29: AMD Radeon Software Adrenalin Edition 23.1.2 (22.40.01.34) or newer. Added SmartAccess Video for AVC / HEVC / AV1. New options for VQEnhancer and AV1 encoder components. Switched to Markdown based API docs which enable easier open source developer contributions.
@@ -48,7 +49,9 @@ The AMF framework is compatible with most recent Radeon GPUs starting with the S
4849
### Getting Started
4950
* Visual Studio solutions can be found in the `amf\public\samples` directory.
5051
* Additional documentation can be found in the `amf\doc` directory.
51-
* To build samples on Linux use 'makefile' in `amf\public\samples`
52+
* To build samples on Linux use 'makefile' in `amf\public\samples`.
53+
* Follow this guide to build your own first encoder application
54+
* [Practical Guide for Video CODEC Encoder App Developers](https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Guide%20for%20Video%20CODEC%20Encoder%20App%20Developers).
5255

5356
### Third-Party Software
5457
* FFmpeg is distributed under the terms of the LGPLv2.1.

amf/doc/AMF_HQ_Scaler_API.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,13 @@ The AMF Video HQ Scaler component should be initialized using the following sequ
7373
The HQ scaler supports the following input and output formats:
7474

7575
1. BRGA
76-
1. NV12
76+
1. NV12 [^1]
7777
1. RGBA
7878
1. R10G10B10A2
7979
1. RGBA_F16
80-
1. P010
80+
1. P010 [^1]
81+
82+
[^1]: These formats are not supported when `AMF_HQ_SCALER_ALGORITHM` is set to `AMF_HQ_SCALER_ALGORITHM_VIDEOSR1_1`.
8183

8284
The output format must be same as the input and the format conversion is not supported. The parameters of the output stream are set using the following properties:
8385

amf/doc/AMF_HQ_Scaler_API.pdf

10.5 KB
Binary file not shown.

amf/doc/AMF_Video_Encode_API.md

Lines changed: 49 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -38,32 +38,38 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
3838

3939
### Contents
4040

41-
1. [Introduction](#1-introduction)
42-
- [1.1 Scope](#11-scope)
43-
- [1.2 Pre-defined Encoder Usages](#12-pre-defined-encoder-usages)
44-
2. [AMF Video Encoder VCE-AVC Component](#2-amf-video-encoder-vce-avc-component)
45-
- [2.1 Input Submission and Output Retrieval](#21-input-submission-and-output-retrieval)
46-
- [2.2 Encode Parameters](#22-encode-parameters)
41+
- [Advanced Media Framework – h.264 Video Encoder](#advanced-media-framework--h264-video-encoder)
42+
- [Programming Guide](#programming-guide)
43+
- [Disclaimer](#disclaimer)
44+
- [Copyright Notice](#copyright-notice)
45+
- [MIT license](#mit-license)
46+
- [Contents](#contents)
47+
- [1 Introduction](#1-introduction)
48+
- [1.1 Scope](#11-scope)
49+
- [1.2 Pre-defined Encoder Usages](#12-pre-defined-encoder-usages)
50+
- [2 AMF Video Encoder VCE-AVC Component](#2-amf-video-encoder-vce-avc-component)
51+
- [2.1 Input Submission and Output Retrieval](#21-input-submission-and-output-retrieval)
52+
- [2.2 Encode Parameters](#22-encode-parameters)
4753
- [2.2.1 Static Properties](#221-static-properties)
4854
- [2.2.2 Dynamic Properties](#222-dynamic-properties)
49-
- [2.2.3 Frame Per-Submission Properties](#223-frame-per-submission-properties)
50-
- [2.2.4 SVC Properties](#224-svc-properties)
51-
- [2.2.5 ROI Feature](#225-roi-feature)
52-
- [2.2.6 Encoder Statistics Feedback](#226-encoder-statistics-feedback)
53-
- [2.2.7 Picture Transfer Mode](#227-picture-transfer-mode)
54-
- [2.2.8 LTR Properties](#228-ltr-properties)
55-
- [2.2.9 SmartAccess Video](#229-smartaccess-video)
56-
3. [Sample Applications](#3-sample-applications)
57-
- [3.1 List of Parameters](#31-list-of-parameters)
58-
- [3.2 Command line example](#32-command-line-example)
59-
- [3.2.1 Transcoding application (TranscodingHW.exe)](#321-transcoding-application-transcodinghwexe)
60-
- [3.2.2 D3D application (VCEEncoderD3D.exe)](#322-d3d-application-vceencoderd3dexe)
61-
4. [Annex A: Encoding & frame parameters description](#4-annex-a-encoding--frame-parameters-description)
62-
- [Table A-1. Encoder configuration parameters](#table-a-1-encoder-configuration-parameters)
63-
- [Table A-2. Input frame and encoded data parameters](#table-a-2-input-frame-and-encoded-data-parameters)
64-
- [Table A-3. Encoder capabilities exposed in AMFCaps interface](#table-a-3-encoder-capabilities-exposed-in-amfcaps-interface)
65-
- [Table A-4. Encoder statistics feedback](#table-a-4-encoder-statistics-feedback)
66-
- [Table A-5. Encoder PSNR/SSIM feedback](#table-a-5-encoder-psnrssim-feedback)
55+
- [2.2.3 Frame Per-Submission Properties](#223-frame-per-submission-properties)
56+
- [2.2.4 SVC Properties](#224-svc-properties)
57+
- [2.2.5 ROI Feature](#225-roi-feature)
58+
- [2.2.6 Encoder Statistics Feedback](#226-encoder-statistics-feedback)
59+
- [2.2.7 Picture Transfer Mode](#227-picture-transfer-mode)
60+
- [2.2.8 LTR Properties](#228-ltr-properties)
61+
- [2.2.9 SmartAccess Video](#229-smartaccess-video)
62+
- [3 Sample Applications](#3-sample-applications)
63+
- [3.1 List of Parameters](#31-list-of-parameters)
64+
- [3.2 Command line example](#32-command-line-example)
65+
- [3.2.1 Transcoding application (TranscodeHW.exe)](#321-transcoding-application-transcodehwexe)
66+
- [3.2.2 D3D application (VCEEncoderD3D.exe)](#322d3d-application-vceencoderd3dexe)
67+
- [4 Annex A: Encoding \& frame parameters description](#4-annex-a-encoding--frame-parameters-description)
68+
- [Table A-1. Encoder configuration parameters](#table-a-1-encoder-configuration-parameters)
69+
- [Table A-2. Input frame and encoded data parameters](#table-a-2-input-frame-and-encoded-data-parameters)
70+
- [Table A-3. Encoder capabilities exposed in AMFCaps interface](#table-a-3-encoder-capabilities-exposed-in-amfcaps-interface)
71+
- [Table A-4. Encoder statistics feedback](#table-a-4-encoder-statistics-feedback)
72+
- [Table A-5. Encoder PSNR/SSIM feedback](#table-a-5-encoder-psnrssim-feedback)
6773

6874

6975
## 1 Introduction
@@ -584,7 +590,7 @@ Render frame rate.
584590

585591
### 3.2 Command line example
586592

587-
#### 3.2.1 Transcoding application (TranscodingHW.exe)
593+
#### 3.2.1 Transcoding application (TranscodeHW.exe)
588594

589595
`TranscodeHW.exe -input input.h264 -output out.h264 –codec AVC -width 1280 -height 720`
590596

@@ -778,7 +784,7 @@ Pixel aspect ratio.
778784
`0`
779785

780786
**Description:**
781-
Maximum number of consecutive B Pictures, suggestion set to `3` if `AMF_VIDEO_ENCODER_B_PIC_PATTERN` is not `0`.
787+
Maximum number of consecutive B Pictures. It is suggested to set this value to `3` if `AMF_VIDEO_ENCODER_B_PIC_PATTERN` is not `0` as well as to enable Adaptive MiniGOP and PA.
782788

783789
---
784790

@@ -1343,7 +1349,7 @@ Enables/disables filler data to maintain constant bit rate.
13431349
| DE_BLOCKING_FILTER | amf_bool |
13441350
| INTRA_REFRESH_NUM_MBS_PER_SLOT | amf_int64 |
13451351
| SLICES_PER_FRAME | amf_int64 |
1346-
| B_PIC_PATTERN | amf_bool |
1352+
| B_PIC_PATTERN | amf_int64 |
13471353
| B_REFERENCE_ENABLE | amf_int64 |
13481354
| CABAC_ENABLE | amf_int64 |
13491355
| MAX_NUM_REFRAMES | amf_int64 |
@@ -1536,7 +1542,8 @@ Enable High motion quality boost mode. It pre-analysis the motion of the video a
15361542
| CURRENT_QUEUE | amf_int64 |
15371543
| PICTURE_TRANSFER_MODE | amf_int64 |
15381544
| QUERY_TIMEOUT | amf_int64 |
1539-
| OUTPUT_MODE | amf_int64 |
1545+
| INPUT_QUEUE_SIZE | amf_int64 |
1546+
| OUTPUT_MODE | amf_int64 |
15401547
| PSNR_FEEDBACK | amf_bool |
15411548
| SSIM_FEEDBACK | amf_bool |
15421549
| BLOCK_QP_FEEDBACK | amf_bool |
@@ -1669,6 +1676,20 @@ Timeout for QueryOutput call in ms.
16691676

16701677
---
16711678

1679+
**Name:**
1680+
`AMF_VIDEO_ENCODER_INPUT_QUEUE_SIZE`
1681+
1682+
**Values:**
1683+
`1``32`
1684+
1685+
**Default Value:**
1686+
`16`
1687+
1688+
**Description:**
1689+
Set encoder input queue size. For high-resolution sequence, recommend to set a smaller value to save storage. For low-resolution sequence, recommend to set a larger value to improve encoding speed.
1690+
1691+
---
1692+
16721693
**Name:**
16731694
`AMF_VIDEO_ENCODER_OUTPUT_MODE`
16741695

amf/doc/AMF_Video_Encode_API.pdf

16.2 KB
Binary file not shown.

amf/doc/AMF_Video_Encode_AV1_API.md

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,18 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
3838

3939
### Contents
4040

41-
1. [Introduction](#1-introduction)
42-
- [1.1 Scope](#11-scope)
43-
- [1.2 Pre-defined Encoder Usages](#12-pre-defined-encoder-usages)
44-
2. [AMF Video Encoder VCN-AV1 Component](#2-amf-video-encoder-vcn-av1-component)
45-
- [2.1 Input Submission and Output Retrieval](#21-input-submission-and-output-retrieval)
46-
- [2.2 Encode Parameters](#22-encode-parameters)
41+
- [Advanced Media Framework – AV1 Video Encoder](#advanced-media-framework--av1-video-encoder)
42+
- [Programming Guide](#programming-guide)
43+
- [Disclaimer](#disclaimer)
44+
- [Copyright Notice](#copyright-notice)
45+
- [MIT license](#mit-license)
46+
- [Contents](#contents)
47+
- [1 Introduction](#1-introduction)
48+
- [1.1 Scope](#11-scope)
49+
- [1.2 Pre-defined Encoder Usages](#12-pre-defined-encoder-usages)
50+
- [2 AMF Video Encoder VCN-AV1 Component](#2-amf-video-encoder-vcn-av1-component)
51+
- [2.1 Input Submission and Output Retrieval](#21-input-submission-and-output-retrieval)
52+
- [2.2 Encode Parameters](#22-encode-parameters)
4753
- [2.2.1 Static Properties](#221-static-properties)
4854
- [2.2.2 Dynamic Properties](#222-dynamic-properties)
4955
- [2.2.3 Frame Per-Submission Properties](#223-frame-per-submission-properties)
@@ -52,17 +58,17 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
5258
- [2.2.6 SVC Properties](#226-svc-properties)
5359
- [2.2.7 LTR Properties](#227-ltr-properties)
5460
- [2.2.8 SmartAccess Video](#228-smartaccess-video)
55-
3. [Sample Applications](#3-sample-applications)
56-
- [3.1 List of Parameters](#31-list-of-parameters)
57-
- [3.2 Command line example](#32-command-line-example)
58-
- [3.2.1 Transcoding application (TranscodeHW.exe)](#321-transcoding-application-transcodinghwexe)
61+
- [3 Sample Applications](#3-sample-applications)
62+
- [3.1 List of Parameters](#31-list-of-parameters)
63+
- [3.2 Command line example](#32-command-line-example)
64+
- [3.2.1 Transcoding application (TranscodeHW.exe)](#321-transcoding-application-transcodehwexe)
5965
- [3.2.2 D3D application (VCEEncoderD3D.exe)](#322-d3d-application-vceencoderd3dexe)
60-
4. [Annex A: Encoding & frame parameters description](#4-annex-a-encoding--frame-parameters-description)
61-
- [Table A-1. Encoder parameters](#table-a-1-encoder-parameters)
62-
- [Table A-2. Input frame and encoded data parameters](#table-a-2-input-frame-and-encoded-data-parameters)
63-
- [Table A-3. Encoder capabilities exposed in AMFCaps interface](#table-a-3-encoder-capabilities-exposed-in-amfcaps-interface)
64-
- [Table A-4. Encoder statistics feedback](#table-a-4-encoder-statistics-feedback)
65-
- [Table A-5. Encoder PSNR/SSIM feedback](#table-a-5-encoder-psnrssim-feedback)
66+
- [4 Annex A: Encoding \& frame parameters description](#4-annex-a-encoding--frame-parameters-description)
67+
- [Table A-1. Encoder parameters](#table-a-1-encoder-parameters)
68+
- [Table A-2. Input frame and encoded data parameters](#table-a-2-input-frame-and-encoded-data-parameters)
69+
- [Table A-3. Encoder capabilities exposed in AMFCaps interface](#table-a-3-encoder-capabilities-exposed-in-amfcaps-interface)
70+
- [Table A-4. Encoder statistics feedback](#table-a-4-encoder-statistics-feedback)
71+
- [Table A-5. Encoder PSNR/SSIM feedback](#table-a-5-encoder-psnrssim-feedback)
6672

6773
## 1 Introduction
6874

@@ -566,7 +572,7 @@ Render frame rate.
566572

567573
### 3.2 Command line example
568574

569-
#### 3.2.1 Transcoding application (TranscodingHW.exe)
575+
#### 3.2.1 Transcoding application (TranscodeHW.exe)
570576

571577
`TranscodeHW.exe -input input.h264 -output out.mp4 –codec AV1 -width 1280 -height 720 -Av1Usage transcoding -AV1RateControlMethod cbr -AV1TargetBitrate 100000`
572578

@@ -1318,8 +1324,9 @@ Valid only when intra refresh is enabled.
13181324
| :------------------------------------- | :-------- |
13191325
| QUALITY_PRESET | amf_int64 |
13201326
| QUERY_TIMEOUT | amf_int64 |
1327+
| INPUT_QUEUE_SIZE | amf_int64 |
13211328
| EXTRA_DATA | AMFBufferPtr |
1322-
| OUTPUT_MODE | amf_int64 |
1329+
| OUTPUT_MODE | amf_int64 |
13231330

13241331
<p align="center">
13251332
Table 8. Encoder miscellaneous parameters
@@ -1365,6 +1372,20 @@ Timeout for QueryOutput call in ms.
13651372

13661373
---
13671374

1375+
**Name:**
1376+
`AMF_VIDEO_ENCODER_AV1_INPUT_QUEUE_SIZE`
1377+
1378+
**Values:**
1379+
`1``32`
1380+
1381+
**Default Value:**
1382+
`16`
1383+
1384+
**Description:**
1385+
Set encoder input queue size. For high-resolution sequence, recommend to set a smaller value to save storage. For low-resolution sequence, recommend to set a larger value to improve encoding speed.
1386+
1387+
---
1388+
13681389
**Name:**
13691390
`AMF_VIDEO_ENCODER_AV1_EXTRA_DATA`
13701391

-61.5 KB
Binary file not shown.

amf/doc/AMF_Video_Encode_HEVC_API.md

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,18 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
3838

3939
### Contents
4040

41-
1. [Introduction](#1-introduction)
42-
- [1.1 Scope](#11-scope)
43-
- [1.2 Pre-defined Encoder Usages](#12-pre-defined-encoder-usages)
44-
2. [AMF Video Encoder UVD/VCN-HEVC Component](#2-amf-video-encoder-uvdvcn-hevc-component)
45-
- [2.1 Input Submission and Output Retrieval](#21-input-submission-and-output-retrieval)
46-
- [2.2 Encode Parameters](#22-encode-parameters)
41+
- [Advanced Media Framework – HEVC Video Encoder](#advanced-media-framework--hevc-video-encoder)
42+
- [Programming Guide](#programming-guide)
43+
- [Disclaimer](#disclaimer)
44+
- [Copyright Notice](#copyright-notice)
45+
- [MIT license](#mit-license)
46+
- [Contents](#contents)
47+
- [1 Introduction](#1-introduction)
48+
- [1.1 Scope](#11-scope)
49+
- [1.2 Pre-defined Encoder Usages](#12-pre-defined-encoder-usages)
50+
- [2 AMF Video Encoder UVD/VCN-HEVC Component](#2-amf-video-encoder-uvdvcn-hevc-component)
51+
- [2.1 Input Submission and Output Retrieval](#21-input-submission-and-output-retrieval)
52+
- [2.2 Encode Parameters](#22-encode-parameters)
4753
- [2.2.1 Static Properties](#221-static-properties)
4854
- [2.2.2 Dynamic Properties](#222-dynamic-properties)
4955
- [2.2.3 Frame Per-Submission Properties](#223-frame-per-submission-properties)
@@ -53,17 +59,17 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
5359
- [2.2.7 SVC Properties](#227-svc-properties)
5460
- [2.2.8 LTR Properties](#228-ltr-properties)
5561
- [2.2.9 SmartAccess Video](#229-smartaccess-video)
56-
3. [Sample Applications](#3-sample-applications)
57-
- [3.1 List of Parameters](#31-list-of-parameters)
58-
- [3.2 Command line example](#32-command-line-example)
62+
- [3 Sample Applications](#3-sample-applications)
63+
- [3.1 List of Parameters](#31-list-of-parameters)
64+
- [3.2 Command line example](#32-command-line-example)
5965
- [3.2.1 Transcoding application (TranscodeHW.exe)](#321-transcoding-application-transcodehwexe)
6066
- [3.2.2 D3D application (VCEEncoderD3D.exe)](#322-d3d-application-vceencoderd3dexe)
61-
4. [Annex A: Encoding & Frame Parameters Description](#4-annex-a-encoding--frame-parameters-description)
62-
- [Table A-1. Encoder parameters](#table-a-1-encoder-parameters)
63-
- [Table A-2. Input frame and encoded data parameters](#table-a-2-input-frame-and-encoded-data-parameters)
64-
- [Table A-3. Encoder capabilities exposed in AMFCaps interface](#table-a-3-encoder-capabilities-exposed-in-amfcaps-interface)
65-
- [Table A-4. Encoder statistics feedback](#table-a-4-encoder-statistics-feedback)
66-
- [Table A-5. Encoder PSNR/SSIM feedback](#table-a-5-encoder-psnrssim-feedback)
67+
- [4 Annex A: Encoding \& frame parameters description](#4-annex-a-encoding--frame-parameters-description)
68+
- [Table A-1. Encoder parameters](#table-a-1-encoder-parameters)
69+
- [Table A-2. Input frame and encoded data parameters](#table-a-2-input-frame-and-encoded-data-parameters)
70+
- [Table A-3. Encoder capabilities exposed in AMFCaps interface](#table-a-3-encoder-capabilities-exposed-in-amfcaps-interface)
71+
- [Table A-4. Encoder statistics feedback](#table-a-4-encoder-statistics-feedback)
72+
- [Table A-5. Encoder PSNR/SSIM feedback](#table-a-5-encoder-psnrssim-feedback)
6773

6874

6975
## 1 Introduction
@@ -1334,7 +1340,8 @@ Sets the number of intra-refresh 64x64 coding-tree-blocks per slot.
13341340
| QUALITY_PRESET | amf_int64 |
13351341
| PICTURE_TRANSFER_MODE | amf_int64 |
13361342
| QUERY_TIMEOUT | amf_int64 |
1337-
| OUTPUT_MODE | amf_int64 |
1343+
| INPUT_QUEUE_SIZE | amf_int64 |
1344+
| OUTPUT_MODE | amf_int64 |
13381345

13391346
<p align="center">
13401347
Table 8. Encoder miscellaneous parameters
@@ -1394,6 +1401,20 @@ Timeout for QueryOutput call in ms.
13941401

13951402
---
13961403

1404+
**Name:**
1405+
`AMF_VIDEO_ENCODER_HEVC_INPUT_QUEUE_SIZE`
1406+
1407+
**Values:**
1408+
`1``32`
1409+
1410+
**Default Value:**
1411+
`16`
1412+
1413+
**Description:**
1414+
Set encoder input queue size. For high-resolution sequence, recommend to set a smaller value to save storage. For low-resolution sequence, recommend to set a larger value to improve encoding speed.
1415+
1416+
---
1417+
13971418
**Name:**
13981419
`AMF_VIDEO_ENCODER_HEVC_OUTPUT_MODE`
13991420

-198 KB
Binary file not shown.

0 commit comments

Comments
 (0)