Android MediaCodec для HEVC
Я изучаю использование класса 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
.
Кому-нибудь удалось декодировать видео HEVC на Android?