我正在研究使用Android MediaCodec类解码HEVC。有没有一些已经实现这个功能的项目示例呢?
目前,我使用以下配置来设置解码器:
AMEDIAFORMAT_KEY_MIME: "video/hevc"
AMEDIAFORMAT_KEY_MAX_HEIGHT: 4320
AMEDIAFORMAT_KEY_MAX_WIDTH: 8192
AMEDIAFORMAT_KEY_HEIGHT: 1600
AMEDIAFORMAT_KEY_WIDTH: 3840
AMEDIAFORMAT_KEY_FRAME_RATE: 24
AMEDIAFORMAT_KEY_PUSH_BLANK_BUFFERS_ON_STOP: 1
使用这种设置时,我无法获得视频输出。我还尝试将
csd-0
、csd-1
和csd-2
设置为VPS、SPS和PPS,但没有成功。在控制台中,我收到以下错误信息,但已经确认与此无关:
01-19 15:40:36.048: E/OMXNodeInstance(17230): OMX_GetExtensionIndex OMX.google.android.index.storeMetaDataInBuffers failed
01-19 15:40:36.048: E/ACodec(17230): [OMX.google.hevc.decoder] storeMetaDataInBuffers failed w/ err -2147483648
我发现dequeueOutputBuffer
始终返回-1
。看起来dequeueInputBuffer
正在返回已经被queueInputBuffer
排队的索引,然后从dequeueOutputBuffer
获取。
有人成功在Android上解码HEVC视频吗?