2014-09-24 6 views
0

Я пытаюсь получить изображения из HD Live Stream. Получение OMX-декодера YUV Streams и преобразование их в JPG. JPEG полностью нарушен. Пробовал некоторые предложения от группы, но не работал. Мое разрешение 320x240.QCom Decoder Output YUV Buffer

Я получаю длину буфера (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 ; 
} 

спасибо, Raghu

ответ

0

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

QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka converter

QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka color format