繁体   English   中英

如何在Linux中使用OpenMax解码h264视频? 此代码正确吗?

[英]How to decode h264 video using OpenMax in Linux? Is this code correct?

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

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

看起来一切正常,但是当我将数据发送到解码器时,它不会填充输出缓冲区。 在应用程序运行期间不调用FillBufferDone回调。 仅当调用Flush函数时,我才使用空缓冲区获得此回调。

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

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

在PortSettingsChanged事件的回调事件处理程序中,您仅输出有关该消息的消息,但是OpenMAX规范在3.4.5节中描述的是动态端口重新配置。 如果采用隧道实施,则仅需要禁用/重新启用发生此事件的端口(禁用该端口将导致连接到该端口的缓冲区的返回和释放,启用将分配使用新端口设置配置的新缓冲区)。 如果是非隧道实现,则必须:-禁用端口,-可用缓冲区,-读取端口设置,-启用端口,-根据设置分配新的缓冲区。

应该从那里开始工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM