Skip to content

Commit 37452e9

Browse files
committed
Add SmartAccess Video documentation
1 parent 24f5792 commit 37452e9

8 files changed

+2044
-16
lines changed

amf/doc/AMF_Video_Decode_API.md

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -109,20 +109,24 @@ Table 1. AMF components IDs depending on codec selection
109109

110110
AMF Decoder can be configured using the following properties that need to be set before initialization:
111111

112-
| Name | Type |
113-
| :------------------------------------------- | :----------- |
114-
| AMF_VIDEO_DECODER_SURFACE_COPY | amf_bool |
115-
| AMF_VIDEO_DECODER_EXTRADATA | AMFBufferPtr |
116-
| AMF_VIDEO_DECODER_FRAME_RATE | amf_double |
117-
| AMF_TIMESTAMP_MODE | amf_int64 |
118-
| AMF_VIDEO_DECODER_ADAPTIVE_RESOLUTION_CHANGE | amf_bool |
119-
| AMF_VIDEO_DECODER_REORDER_MODE | amf_int64 |
120-
| AMF_VIDEO_DECODER_DPB_SIZE | amf_int64 |
112+
| Name | Type |
113+
| :------------------------------------------------- | :----------- |
114+
| AMF_VIDEO_DECODER_SURFACE_COPY | amf_bool |
115+
| AMF_VIDEO_DECODER_EXTRADATA | AMFBufferPtr |
116+
| AMF_VIDEO_DECODER_FRAME_RATE | amf_double |
117+
| AMF_TIMESTAMP_MODE | amf_int64 |
118+
| AMF_VIDEO_DECODER_ADAPTIVE_RESOLUTION_CHANGE | amf_bool |
119+
| AMF_VIDEO_DECODER_REORDER_MODE | amf_int64 |
120+
| AMF_VIDEO_DECODER_DPB_SIZE | amf_int64 |
121+
| AMF_VIDEO_DECODER_ENABLE_SMART_ACCESS_VIDEO | amf_bool |
122+
| AMF_VIDEO_DECODER_SKIP_TRANSFER_SMART_ACCESS_VIDEO | amf_bool |
121123

122124
<p align="center">
123-
Table 2. AMF Video Converter parameters which configure input and output
125+
Table 2. AMF Video Decoder pre-initialization properties
124126
</p>
125127

128+
On supported APU + GPU systems, there is an opportunity to use SmartAccess Video. SmartAccess Video - an optimization logic which enables the parallelization of encode and decode streams across multiple Video Codec Engine (VCN) hardware instances – empowers apps to process streams faster through seamless job distribution across available hardware. With a simple enablement of the encoder and decoder control flags, the SmartAccess Video logic will optimally use hardware resources to benefit media apps. Follow the `SMART_ACCESS_VIDEO` tag in the documentation to search for the property flags to set. On systems without SmartAccess Video support, the `SMART_ACCESS_VIDEO` properties have no effect.
129+
126130
---
127131

128132
**Name:**
@@ -228,6 +232,34 @@ The minimum required number of surfaces for frame reordering.
228232

229233
---
230234

235+
**Name:**
236+
`AMF_VIDEO_DECODER_ENABLE_SMART_ACCESS_VIDEO`
237+
238+
**Values:**
239+
`true`, `false`
240+
241+
**Default Value:**
242+
`false`
243+
244+
**Description:**
245+
When set to `true`, enables the SmartAccess Video feature, which optimally allocates the decoding task on supported APU/GPU pairings.
246+
247+
---
248+
249+
**Name:**
250+
`AMF_VIDEO_DECODER_SKIP_TRANSFER_SMART_ACCESS_VIDEO`
251+
252+
**Values:**
253+
`true`, `false`
254+
255+
**Default Value:**
256+
`false`
257+
258+
**Description:**
259+
When set to `false` and the SmartAccess Video feature is enabled, decoded frames are transferred back to the initial APU/GPU. When this is set to `true`, surfaces remain on the decoder device, which may not be the same as the initial APU/GPU.
260+
261+
---
262+
231263
The following read-only properties can be read to obtain information about the current stream, as well as decoder capabilities:
232264

233265
| Name | Type |
@@ -237,7 +269,7 @@ The following read-only properties can be read to obtain information about the c
237269
| AMF_VIDEO_DECODER_CAP_NUM_OF_STREAMS | amf_int64 |
238270

239271
<p align="center">
240-
Table 2. AMF Video Converter read-only properties
272+
Table 3. AMF Video Decoder read-only properties
241273
</p>
242274

243275
---

amf/doc/AMF_Video_Decode_API.pdf

15.5 KB
Binary file not shown.

amf/doc/AMF_Video_Encode_API.md

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,18 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
5252
- [2.2.6 Encoder Statistics Feedback](#226-encoder-statistics-feedback)
5353
- [2.2.7 Picture Transfer Mode](#227-picture-transfer-mode)
5454
- [2.2.8 LTR Properties](#228-ltr-properties)
55+
- [2.2.9 SmartAccess Video](#229-smartaccess-video)
5556
3. [Sample Applications](#3-sample-applications)
5657
- [3.1 List of Parameters](#31-list-of-parameters)
5758
- [3.2 Command line example](#32-command-line-example)
5859
- [3.2.1 Transcoding application (TranscodingHW.exe)](#321-transcoding-application-transcodinghwexe)
59-
- [3.2.2 D3D application (VCEEncoderD3D.exe)](#322d3d-application-vceencoderd3dexe)
60+
- [3.2.2 D3D application (VCEEncoderD3D.exe)](#322-d3d-application-vceencoderd3dexe)
6061
4. [Annex A: Encoding & frame parameters description](#4-annex-a-encoding--frame-parameters-description)
61-
- [Table A-1. Encoder configuration parameters](#table-a---1-encoder-configuration-parameters)
62-
- [Table A-2. Input frame and encoded data parameters](#table-a---2-input-frame-and-encoded-data-parameters)
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)
6364
- [Table A-3. Default values of parameters](#table-a---3-default-values-of-parameters)
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-psnr-/-ssim-feedback)
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)
6667

6768

6869
## 1 Introduction
@@ -217,6 +218,10 @@ When we encode a key frame or switch frame, all save LTR slots will be cleared.
217218

218219
Referring to a LTR frame not exiting in LTR slot will generate an Intra only frame.
219220

221+
#### 2.2.9 SmartAccess Video
222+
223+
On supported APU + GPU systems, there is an opportunity to use SmartAccess Video. SmartAccess Video - an optimization logic which enables the parallelization of encode and decode streams across multiple Video Codec Engine (VCN) hardware instances – empowers apps to process streams faster through seamless job distribution across available hardware. With a simple enablement of the encoder and decoder control flags, the SmartAccess Video logic will optimally use hardware resources to benefit media apps. Follow the `SMART_ACCESS_VIDEO` tag in the documentation to search for the property flags to set. On systems without SmartAccess Video support, the `SMART_ACCESS_VIDEO` properties have no effect.
224+
220225
## 3 Sample Applications
221226

222227
The AMF Encoder Sample application show how to setup and use the AMF Video Encoder VCE-AVC Component to encode video frames that are loaded from disk or rendered by the DirectX 3D engine.
@@ -611,6 +616,7 @@ This command encodes `400` frames through D3D renderer and creates an output fil
611616
| PRE_ANALYSIS_ENABLE | amf_bool |
612617
| COLOR_BIT_DEPTH | amf_int64 |
613618
| MAX_NUM_TEMPORAL_LAYERS | amf_int64 |
619+
| ENABLE_SMART_ACCESS_VIDEO | amf_bool |
614620

615621

616622
<p align="center">
@@ -832,6 +838,20 @@ Sets the maximum number of temporal layers. It shall not be exceeded by the numb
832838

833839
---
834840

841+
**Name:**
842+
`AMF_VIDEO_ENCODER_ENABLE_SMART_ACCESS_VIDEO`
843+
844+
**Values:**
845+
`true`, `false`
846+
847+
**Default Value:**
848+
`false`
849+
850+
**Description:**
851+
When set to `true`, enables the SmartAccess Video feature, which optimally allocates the encoding task on supported APU/GPU pairings.
852+
853+
---
854+
835855
| Name (prefix "AMF_VIDEO_ENCODER_") | Type |
836856
| :--------------------------------- | :-------- |
837857
| INPUT_COLOR_PROFILE | amf_int64 |

amf/doc/AMF_Video_Encode_API.pdf

81.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)