Próbuję wykonać kodowanie sprzętowe (avc) strumienia NV12 za pomocą interfejsu API Android MediaCodec.Uzyskiwanie koderów QualComm do pracy za pomocą MediaCodec API
Podczas korzystania OMX.qcom.video.encoder.avc uchwały 1280x720 i 640x480 działają dobrze, podczas gdy inni (czyli 640x360, 320x240, 800x480) wytwarzają wyjście gdzie składowa chrominancji wydaje przesunięte (patrz snapshot).
Dwa razy sprawdziłem, czy obraz wejściowy jest poprawny, zapisując go w pliku jpeg. Ten problem występuje tylko na urządzeniach QualComm (np. Samsung Galaxy S4).
Ktoś to działa poprawnie? Jakieś dodatkowe ustawienia/dziwactwa konieczne?
Android 4.3 dodał kilka przydatnych nowych funkcji, a także dodał testy CTS, które zasilają dane YUV do "MediaCodec". Testy bufor-bufor i bufor-na powierzchni w http://bigflake.com/mediacodec/#EncodeDecodeTest mogą być przydatne. – fadden
BTW, jest dyskusja na platformie Google Group w Androidzie, która wspomina o koderach QualComm: https://groups.google.com/d/msg/android-platform/awaNwgb6EbY/a-YiIOwaL0QJ Jeden z komentatorów stwierdza, że płaszczyzna chroma powinna być wyrównana przez granicę 2048 bajtów, ale to działa tylko dla mnie. Niektóre rozdzielczości są nadal błędne, na przykład 176x144. –