aclvencSetChannelDesc Series

Applicability

Product

Supported

Atlas A3 training products/Atlas A3 inference products

x

Atlas A2 training products/Atlas A2 inference products

x

Atlas 200I/500 A2 inference products

Atlas inference products

Atlas training products

x

Description

Sets the description of a video encoding channel.

Prototype

aclError aclvencSetChannelDescThreadId(aclvencChannelDesc *channelDesc, uint64_t threadId)
aclError aclvencSetChannelDescCallback(aclvencChannelDesc *channelDesc, aclvencCallback callback)
aclError aclvencSetChannelDescEnType(aclvencChannelDesc *channelDesc, acldvppStreamFormat enType)
aclError aclvencSetChannelDescPicFormat(aclvencChannelDesc *channelDesc, acldvppPixelFormat picFormat)
aclError aclvencSetChannelDescPicWidth(aclvencChannelDesc *channelDesc, uint32_t picWidth)
aclError aclvencSetChannelDescPicHeight(aclvencChannelDesc *channelDesc, uint32_t picHeight)
aclError aclvencSetChannelDescKeyFrameInterval(aclvencChannelDesc *channelDesc, uint32_t keyFrameInterval)
aclError aclvencSetChannelDescBufAddr(aclvencChannelDesc *channelDesc, void *bufAddr)
aclError aclvencSetChannelDescBufSize(aclvencChannelDesc *channelDesc, uint32_t bufSize)
aclError aclvencSetChannelDescRcMode(aclvencChannelDesc *channelDesc, uint32_t rcMode)
aclError aclvencSetChannelDescSrcRate(aclvencChannelDesc *channelDesc, uint32_t srcRate)
aclError aclvencSetChannelDescMaxBitRate(aclvencChannelDesc *channelDesc, uint32_t maxBitRate)

Parameters

Parameter

Input/Output

Description

channelDesc

Output

Pointer to the description of a video encoding channel.

Call the aclvencCreateChannelDesc API to create data of the aclvencChannelDesc type in advance.

threadId

Input

Callback thread ID.

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

callback

Input

Encoding callback function.

enType

Input

Video coding protocol.

picFormat

Input

Image format.
  • PIXEL_FORMAT_YUV_SEMIPLANAR_420
  • PIXEL_FORMAT_YVU_SEMIPLANAR_420

picWidth

Input

Image width.

picHeight

Input

Image height.

keyFrameInterval

Input

Key frame interval. Must be in the range of [1, 65536].

bufAddr

Input

Pointer to the buffer address of the encoding output.

bufSize

Input

Buffer allocation in bytes of the encoding output.

For the Atlas inference products, if this parameter is not specified, the default value 8 MB is used. The minimum value is 5 MB.

For the Atlas 200I/500 A2 inference products, if this parameter is not specified, the default value 8 MB is used. The minimum value is 5 MB.

rcMode

Input

Bit rate control mode.
  • 0: default mode.
  • 1: variable bit rate (VBR) mode
  • 2: constant bit rate (CBR) mode

If this parameter is not set, the default value 0 is used.

For the Ascend 610 AI Processor, the default value 0 indicates the VBR mode.

For the Ascend 610 AI Processor, the default value 0 indicates the VBR mode.

srcRate

Input

Frame rate of the input stream (FPS).

For the Ascend 610 AI Processor, the value is 0 or in the range of [1, 240].

For the Ascend 610 AI Processor, the value is 0 or in the range of [1, 240].

If it is not set, the default value 30 is used. If it is set to 0, the default value 30 is used. If the difference between the value of this parameter and the actual frame rate of the input stream is too large, the output bit rate is affected.

maxBitRate

Input

Output bit rate (kbit/s).

For the Ascend 610 AI Processor, the value range is [2, 614400]. The default value is 2000. If it is set to 0, the default value 2000 is used.

For the Ascend 610 AI Processor, the value range is [2, 614400]. The default value is 2000. If it is set to 0, the default value 2000 is used.

Returns

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