gpt4 book ai didi

c - 如何在 Linux 中使用 OpenMax 解码 h264 视频?这段代码正确吗?

转载 作者:太空宇宙 更新时间:2023-11-04 12:07:15 25 4
gpt4 key购买 nike

我正在尝试使用 OpenMAX 解码器解码 h264 视频流:

https://gist.github.com/NicholasShatokhin/f6a86d03707decf53d684c4c82f909a6

看起来一切正常,但是当我向解码器发送数据时,它并没有填满输出缓冲区。应用程序运行期间不会调用 FillBufferDone 回调。只有当 Flush 函数被调用时,我才得到这个带有空缓冲区的回调。

我在这里错过了什么?我的代码或解码器本身有问题吗?如何检查?

最佳答案

我想这个问题已经很久没有答案了,你可以在其他地方找到它,但无论如何我都会回答。

在 PortSettingsChanged 事件的回调事件处理程序中,您只打印一条关于它的消息,但 OpenMAX 规范在第 3.4.5 节中描述的是动态端口重新配置。在隧道实现的情况下,它只需要禁用/重新启用此事件发生的端口(禁用端口将导致连接到此端口的缓冲区返回和释放,启用将分配配置有新端口设置的新缓冲区)。在非隧道实现的情况下,您必须:- 禁用端口,- 免费缓冲区,- 读取端口设置,- 启用端口,- 根据设置分配新缓冲区。

应该从那里开始工作。

关于c - 如何在 Linux 中使用 OpenMax 解码 h264 视频?这段代码正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50237117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com