aclvdecSetChannelDesc Series

Applicability

Product

Supported

Atlas 350 Accelerator Card

Atlas A3 training product/Atlas A3 inference product

Atlas A2 training product/Atlas A2 inference product

Atlas 200I/500 A2 inference product

Atlas inference product

Atlas training product

Function

Sets the description of a video decoding channel.

Prototype

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
aclError aclvdecSetChannelDescChannelId(aclvdecChannelDesc *channelDesc, uint32_t channelId)
aclError aclvdecSetChannelDescThreadId(aclvdecChannelDesc *channelDesc, uint64_t threadId)
aclError aclvdecSetChannelDescCallback(aclvdecChannelDesc *channelDesc, aclvdecCallback callback)
aclError aclvdecSetChannelDescEnType(aclvdecChannelDesc *channelDesc, acldvppStreamFormat enType)
aclError aclvdecSetChannelDescOutPicFormat(aclvdecChannelDesc *channelDesc, acldvppPixelFormat outPicFormat)
aclError aclvdecSetChannelDescOutPicWidth(aclvdecChannelDesc *channelDesc, uint32_t outPicWidth)
aclError aclvdecSetChannelDescOutPicHeight(aclvdecChannelDesc *channelDesc, uint32_t outPicHeight)
aclError aclvdecSetChannelDescRefFrameNum(aclvdecChannelDesc *channelDesc, uint32_t refFrameNum)
aclError aclvdecSetChannelDescOutMode(aclvdecChannelDesc *channelDesc, uint32_t outMode)
aclError aclvdecSetChannelDescBitDepth(aclvdecChannelDesc *channelDesc, uint32_t bitDepth)

Parameters

Parameter

Input/Output

Description

channelDesc

Output

Pointer to the description of a video decoding channel.

Call the aclvdecCreateChannelDesc API to create data of the aclvdecChannelDesc type in advance.

channelId

Input

Indicates the channel ID.

For the Atlas training product, the value range is [0, 31].

For the Atlas inference product, the value range is [0, 255].

For the Atlas 200I/500 A2 inference product, the value range is [0, 255].

For the Atlas A2 training product/Atlas A2 inference product, the value range is [0, 255].

For the Atlas A3 training product/Atlas A3 inference product, the value range is [0, 255].

threadId

Input

Callback thread ID.

Do not pass the same thread ID for subscribing to VDEC callback functions on different devices in the same process.

On a single device, the same thread ID can be specified for multiple VDEC decoding channels. Compared with the scenario where each VDEC decoding channel is processed by a separate thread, VDEC is less performant when multiple VDEC decoding channels are processed in serial in a single thread.

callback

Input

Decoding callback function.

For details, see aclvdecCallback.

enType

Input

Video coding protocol: H.265 main level (0), H.264 baseline level (1), H.264 main level (2), or H.264 high level (3). For details about the type definition, see acldvppStreamFormat.

outPicFormat

Input

Storage format of the output image. For details about the type definition, see acldvppPixelFormat.

For details about the supported formats, see Restrictions on Stream/Image Formats, Width and Height Alignment, and Buffers.

Defaults to YUV420SP NV12.

outPicWidth

Input

Maximum output width

For the Atlas training product, if the maximum output width is not set, 1920 is used by default.

For the Atlas inference product, if the maximum output width is not set, 4096 is used by default.

For the Atlas 200I/500 A2 inference product, if the maximum output width is not set, 4096 is used by default.

For the Atlas A2 training product/Atlas A2 inference product, if the maximum output width is not set, 4096 is used by default.

For the Atlas A3 training product/Atlas A3 inference product, if the maximum output width is not set, 4096 is used by default.

outPicHeight

Input

Maximum output height

For the Atlas training product, if the maximum output height is not set, 1120 is used by default.

For the Atlas inference product, if the maximum output height is not set, 4096 is used by default.

For the Atlas 200I/500 A2 inference product, if the maximum output height is not set, 4096 is used by default.

For the Atlas A2 training product/Atlas A2 inference product, if the maximum output height is not set, 4096 is used by default.

For the Atlas A3 training product/Atlas A3 inference product, if the maximum output height is not set, 4096 is used by default.

refFrameNum

Input

Number of reference frames. Must be in the range of [0, 16].

For the Atlas training product, this parameter is not configurable in the current version.

For the Atlas inference product, if the number of reference frames is not set, 8 is used by default.

For the Atlas 200I/500 A2 inference product, if the number of reference frames is not set, 8 is used by default.

For the Atlas A2 training product/Atlas A2 inference product, if the number of reference frames is not set, 8 is used by default.

For the Atlas A3 training product/Atlas A3 inference product, if the number of reference frames is not set, 8 is used by default.

outMode

Input

Sets whether to output frames in real time. (That is, one frame is sent and decoded without depending on the input of subsequent frames.)

Value range:
  • 0: delayed frame output mode. VDEC starts to output the decoding result only after receiving multiple frames in the stream.
  • 1: real-time frame output mode. VDEC starts to output the decode result in real time after receiving one frame in the stream. Only H.264/H.265 standard streams with simple reference relationships are supported (no long-term reference frames or B-frames).

bitDepth

Input

Sets the video bit width. The default value is 10 bits.

Value range:
  • 0: 8-bit
  • 1: 10-bit (default)

For the Atlas training product, this parameter is not configurable in the current version.

Returns

0 on success; otherwise, failure. For details, see aclError.