Выход декодера QCom Нарушен буфер YUV

Я пытаюсь получить изображения из HD Live Stream. Получение потоков YUV декодера OMX и преобразование их в JPG. JPEG полностью нарушен. Пробовал некоторые предложения из группы, но не работает. У меня разрешение 320х240.

я получу длину буфера (386 * 256 * 1,5) для настроенного разрешения 320 * 240. Я не понимаю, как получить эту новую информацию о ширине и высоте.

Код преобразования JPG, который у меня есть на Java, и использование OMXCodec в Native. Помогите пожалуйста мне.

    final int frameSize = width * height;
    final int qFrameSize = frameSize/4;
    int padding = 0;/*(width*height + 2047) & ~2047;

    if ((width % 32) != 0) {
        padding = (width*height) % 1024;
    } else {
        padding = (width*height) % 2048;
    }

    System.arraycopy(input, 0, output, 0, frameSize); // Y

    for (int i = 0; i < qFrameSize; i++) {
        output[frameSize + i*2 + padding] = input[frameSize + i + qFrameSize ]; // Cb (U)
        output[frameSize + i*2 + 1 + padding] = input[frameSize + i ]; // Cr (V)
    }      
    return ;
}

спасибо, Рагу


person user3865065    schedule 24.09.2014    source источник


Ответы (1)


Выходной сигнал видеодекодера QCom обычно представляет собой определенный настраиваемый цветовой формат, известный как мозаичный формат. Пожалуйста, обратитесь к этим вопросам, которые содержат больше информации о том, как преобразовать данные в более чистый кадр.

QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka конвертер

QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka цветовой формат

person Ganesh    schedule 25.09.2014