Atlas 200/300/500 推理产品,不支持该接口。
Atlas 训练系列产品,不支持该接口。
获取编码的码流。
指向一组hi_venc_pack结构体的连续的内存空间,该空间由调用者分配。如果是按包获取,则此空间不小于sizeof(hi_venc_pack)的大小;如果按帧获取,则此空间不小于N*sizeof(hi_venc_pack)的大小,其中,N代表当前帧之中的包的个数,可以在 select之后通过hi_mpi_venc_query_status接口获得。
在输入时,此值指定pack中hi_venc_pack结构体内存的个数。按包获取时,pack_cnt必须不小于 1;按帧获取时,pack_cnt必须不小于当前帧的包个数。在函数调用成功后,pack_cnt返回实际填充pack的包的个数。
其他协议以此类推,data_num和 pack_info只在单包模式才有意义。
hi_s32 hi_mpi_venc_get_stream(hi_venc_chn chn, hi_venc_stream *stream, hi_s32 milli_sec)
参数名 |
输入/输出 |
说明 |
---|---|---|
chn |
输入 |
编码通道号。 Atlas 推理系列产品(Ascend 310P处理器),编码通道号的取值范围:[0, 256),JPEGE功能和VENC功能共用通道,且通道总数最多256。 Atlas A2训练系列产品,编码通道号的取值范围:[0, 256),JPEGE功能通道总数最多256。 Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 |
stream |
输出 |
输出码流数据的指针。 该结构体内的addr参数配置的地址为Device上的内存地址,表示输出的码流存放在Device的内存中。 Atlas 推理系列产品(Ascend 310P处理器),标准形态下,用户在Host上调用该接口后,需要访问输出码流数据,则需要将Device中的数据传输回Host。 Atlas A2训练系列产品,用户在Host上调用该接口后,需要访问输出码流数据,则需要将Device中的数据传输回Host。 Atlas 200/500 A2推理产品,EP模式下,用户在Host上调用该接口后,需要访问输出码流数据,则需要将Device中的数据传输回Host。 |
milli_sec |
输入 |
超时时间,单位是毫秒。
|
本接口虽返回成功,但有可能获取到的是编码失败的数据,编码是否成功,需要查看hi_venc_stream结构体的pack成员下的len参数值,len=0表示编码失败。