Android MediaCodec para HEVC
Estou pensando em usar a classe Android MediaCodec para decodificar HEVC. Existem exemplos de projetos que fazem isso?
No momento, eu configuro o decodificador com o seguinte:
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
Ao usar essa configuração, não recebo saída de vídeo. Eu também tentei definircsd-0
, csd-1
ecsd-2
para o VPS, SPS e PPS, respectivamente, mas não tiveram sorte.
Eu recebo o seguinte erro no console, mas tenho certeza de que ele não está relacionado:
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
Eu descobri quedequeueOutputBuffer
está sempre retornando-1
. Parece quedequeueInputBuffer
está retornando índices que foram enfileirados porqueueInputBuffer
antes de serem obtidosdequeueOutputBuffer
.
Alguém conseguiu decodificar o vídeo HEVC no Android?