【发布时间】:2014-03-21 17:23:30
【问题描述】:
我正在尝试使用带有 Stagefright 库的硬件来解码 h264 视频。
我在here 中使用了一个示例。我在MedaBuffer 中获取解码数据。为了渲染MediaBuffer->data(),我在 AwesomePlayer.cpp 中尝试了AwesomeLocalRenderer。
但屏幕画面失真
这里是原始和崩溃图片的Link。
并且在例子中也试过这个`
sp<MetaData> metaData = mVideoBuffer->meta_data();
int64_t timeUs = 0;
metaData->findInt64(kKeyTime, &timeUs);
native_window_set_buffers_timestamp(mNativeWindow.get(), timeUs * 1000);
err = mNativeWindow->queueBuffer(mNativeWindow.get(),
mVideoBuffer->graphicBuffer().get(), -1);`
但是我的本机代码崩溃了。我无法获得真实图片,它或损坏或黑屏。
提前致谢。
【问题讨论】:
-
FWIW,在 Android 4.1+ 中有用于此的公共 API。坏图像看起来像是 YUV 缓冲区中的步幅/对齐问题。
-
非常感谢您的回复。但我想使用 Android 4.0+。这就是我使用 Android NDK 的原因。
标签: android-ndk ffmpeg hardware-acceleration stagefright