TI中文支持网
TI专业的中文技术问题搜集分享网站

TDA4VM: decode

Part Number:TDA4VM

Hi ti

我们使用tda4vm 7.3版本的sdk,由于一些原因,我们想去掉解码中的pipeline,使用下面的模式来解码,以至于解码完立即就能输出,请问是否支持呢

vxScheduleGraph(decode_graph);
Gary Lu:

您好,

在TDA4VM的SDK中,通常使用TI的Vision库(Vision SDK)来进行图像和视频处理。根据您提供的代码片段,`vxScheduleGraph`函数是Vision库中的一个函数,用于调度图形处理图(Graph)的执行。

要确定是否支持您的需求,请考虑以下几点:

1. 解码器模块:首先,您需要确认TDA4VM SDK中是否提供了直接解码并立即输出的模块。这取决于您使用的解码器和相关的图像/视频处理库。您可以查阅TDA4VM SDK的文档或相关示例代码,了解是否有适合您需求的解码器模块。

2. 图形处理图:如果SDK中有适合的解码器模块,您需要创建一个图形处理图(Graph)来描述解码和输出的流程。这个图形将包含解码器和输出节点,并定义数据流和处理顺序。

3. 调度图形:一旦图形处理图创建完成,您可以使用`vxScheduleGraph`函数来调度图形的执行。这将触发解码和输出过程,并根据系统资源和调度策略进行处理。

,

bad person:

你好,Lu

     我使用的是TDA4VM  默认的SDK,我不知道是否提供了这样的解码库模块,所以需要你们的帮助

,

Gary Lu:

您好,已咨询工程师,这需要一些时间,谢谢!

,

Gary Lu:

您好,以下是工程师的回复:

Can you please elaborate on what you mean by "use the following mode to decode"?  If you are implying that you are planning on creating a separate graph which performs decoding using the decode node, then yes, that is possible.  However, it is unclear to me if that is your intention or not.

,

bad person:

你好,非常高兴收到回复,你说的是对的,我的意思就是创建一个graph来单独运行decode node,不使用decode pipeline模式,但是我自己写的代码执行会报错,代码如下,能给出参考示例吗?

        // create        graph = vxCreateGraph(context);        node_decode_0 = tivxVideoDecoderNode(graph,                                           configuration_obj_0,                                           bitstream_obj_0[0],                                           output_image_0[0]);                                                                                            vxSetNodeTarget(node_decode_0, VX_TARGET_STRING, TIVX_TARGET_VDEC1);                        // run node        (vxMapUserDataObject(bitstream_obj_0[0], 0, size0, &map_id_0, (void*) &bitstream_0, VX_WRITE_ONLY, VX_MEMORY_TYPE_HOST, 0));        memcpy(bitstream_0, data0, size0);        (vxUnmapUserDataObject(bitstream_obj_0[0], map_id_0));        (vxCopyUserDataObject(bitstream_obj_0[0], 0, sizeof(uint8_t) * size0, bitstream_0, VX_WRITE_ONLY, VX_MEMORY_TYPE_HOST));        (tivxSetUserDataObjectAttribute(bitstream_obj_0[0],TIVX_USER_DATA_OBJECT_VALID_SIZE, (void*)&(size0), sizeof(vx_size)));        vxScheduleGraph(graph);        vxWaitGraph(graph);

,

Gary Lu:

您好,以下是工程师的回复:

Can you send the errors you are receiving when running this?

There is not an example in vision_apps, but there are some test cases which use this node which you can reference at the below location:

tiovx/kernels_j7/hwa/test/test_video_decoder.c

,

bad person:

你好,报错如下,同时test_video_decoder.c里面的代码我已经看过了,并不是我需要的,这里面的是使用Pipeline来实现的

[MCU2_1]     29.322145 s: MM_DEC_Process:core_stream_submit_unit failed 7[MCU2_1]     29.322224 s: [USERSID=0x00000001] Unable to get the current picture from Decoder context[MCU2_1]     29.322275 s:  Assertion @ Line: 2817 in /home/mini/builds/tda4vm/t1q3-release/psdk_rtos/video_codec/ti-img-encode-decode/tirtos/decoder/../../driver/decoder/decoder.c: !(ret == (0)) : failed !!![MCU2_1]     29.322347 s:  Assertion @ Line: 2817 in /home/mini/builds/tda4vm/t1q3-release/psdk_rtos/video_codec/ti-img-encode-decode/tirtos/decoder/../../driver/decoder/decoder.c: !(ret == (0)) : failed !!![MCU2_1]     29.322416 s: MM_DEC_Process:core_stream_submit_unit failed 7[MCU2_1]     29.322506 s:  VX_ZONE_ERROR:[tivxVideoDecoderProcess:391] MM_DEC Process failed[MCU2_1]     30.333863 s: vxd_pvdec_check_irq: MMU Page fault from dmac while reading @ 0x00082000[MCU2_1]     30.334107 s: [TID=0x00120002] [DECODE_FAILED]

,

Gary Lu:

您好,以下是工程师的回复:

This is our only example, but there should be only minor differences between the pipelining aspect of this demo vs the what you are trying without pipelining.

Additionally, we have since updated the SDK to use codec from either Linux or QNX, not on RTOS.  Is it possible to alternatively migrate to the latest SDK and use this version of our codec solution instead?

赞(0)
未经允许不得转载:TI中文支持网 » TDA4VM: decode
分享到: 更多 (0)