Sto cercando di eseguire la codifica hardware (avc) del flusso NV12 utilizzando l'API Android MediaCodec.Utilizzo degli encoder QualComm tramite MediaCodec API
Quando si utilizza OMX.qcom.video.encoder.avc, risoluzioni 1280x720 e 640x480 bel lavoro, mentre gli altri (cioè 640x360, 320x240, 800x480) produrre un output in cui componente chroma sembra spostato (vedi snapshot).
Ho verificato che l'immagine di input sia corretta salvandola in un file jpeg. Questo problema si verifica solo sui dispositivi QualComm (ad esempio Samsung Galaxy S4).
Chiunque funziona correttamente? Qualche setup/quirks aggiuntivi necessari?
Android 4.3 ha aggiunto alcune utili nuove funzionalità e ha aggiunto anche test CTS che alimentano i dati YUV in 'MediaCodec'. I test buffer-to-buffer e buffer-to-surface in http://bigflake.com/mediacodec/#EncodeDecodeTest possono essere istruttivi. – fadden
BTW, c'è discussione nella piattaforma Android Google Group che menziona gli encoder QualComm: https://groups.google.com/d/msg/android-platform/awaNwgb6EbY/a-YiIOwaL0QJ Uno dei commentatori afferma che il piano chroma deve essere allineato entro il limite di 2048 byte, ma funziona solo parzialmente per me. Alcune risoluzioni sono ancora buggy, 176x144, per esempio. –