aclvencSetChannelDesc Series

The Atlas Training Series Product does not support this API.

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 aclvencCreateChannelDesc to create data of the aclvencChannelDesc type in advance.

threadId

Input

Callback thread ID.
NOTE:

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.
NOTE:

For the Atlas 200/300/500 Inference Product, this parameter is not configurable in the current version. VENC manages the buffer address internally.

bufSize

Input

Buffer allocation in bytes of the encoding output.
NOTE:

For the Atlas 200/300/500 Inference Product, it is not allowed to set this parameter in the current version. It defaults to 3686400 bytes.

rcMode

Input

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

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

For the Ascend 310 AI Processor, the default value 0 indicates the CBR mode.

srcRate

Input

Frame rate of the input stream (FPS).

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

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 Atlas 200/300/500 Inference Product, the value is 0 or in the range of [10, 30000]. The default value is 300. If it is set to 0, the default value 300 is used.

Returns

The value 0 indicates success, and other values indicate failure. For details, see aclError.