---
title: vdec_set_protocol_param
description: "设置协议相关的内存分配通道参数，如slice、pps（Picture Parameter Set）、sps（Sequence Parameter Set）等。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/dvpp/aclpythondevg_01_0490.html
sourcePath: /source/zh/canncommercial/900/API/dvpp/aclpythondevg_01_0490.html
indexId: d84bb8dae5ec640875f73e3b5ba22702f61ff48c7c6e622c3c30c61bb460cd7365
---
# vdec_set_protocol_param

#### 功能说明

设置协议相关的内存分配通道参数，如slice、pps（Picture Parameter Set）、sps（Sequence Parameter Set）等。

当前版本不支持该接口，功能不生效，调用本接口时返回值为0。


#### 函数原型

- C函数原型
  1 hi_s32 hi_mpi_vdec_set_protocol_param(hi_vdec_chn chn, const hi_vdec_protocol_param* protocol_param)

- python函数
  1 ret = acl.himpi.vdec_set_protocol_param(chn, protocol_param)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| chn | int，解码通道号。 Atlas 350 加速卡，该参数的取值范围：[0, 256)，JPEGD功能通道总数最多256。 Atlas 推理系列产品 ，该参数的取值范围：[0, 256)，JPEGD功能和VDEC功能共用通道，且通道总数最多256。 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，该参数的取值范围：[0, 256)，JPEGD功能和VDEC功能共用通道，且通道总数最多256，其中，JPEGD解码通道总数最多256，VDEC解码通道总数最多32。 Atlas 200I/500 A2 推理产品 ，该参数的取值范围：[0, 128)，JPEGD功能和VDEC功能共用通道，且通道总数最多128。 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ，该参数的取值范围：[0, 256)，JPEGD功能和VDEC功能共用通道，且通道总数最多256，其中，JPEGD解码通道总数最多256，VDEC解码通道总数最多32。 |
| protocol\_param | dict，解码通道参数字典，具体请参见hi\_vdec\_protocol\_param。 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| ret | int，错误码。 返回0表示成功。 返回非0表示失败，参见公共返回码。 |


#### 约束说明

- 必须保证通道已创建，否则会返回错误码“HI_ERR_VDEC_UNEXIST”。
- 设置协议参数前必须先停止接收码流，否则返回错误码“HI_ERR_VDEC_NOT_PERM”。
- 切换协议参数时，解码器内部会复位解码通道。
- 协议参数所需的内存是解码器内部根据当前码流实际vps（Video Parameter Set）/sps/pps/slice个数使用vmalloc动态分配的，最大上限不超过此接口设置的最大vps/sps/pps/slice个数。
