2014-09-24 39 views
0

我试图从HD Live Stream中获取图像。获取OMX解码器YUV流并将它们转换为JPG。 JPEG完全受到干扰。尝试了一些小组的建议,但不工作。 我的分辨率是320x240。QCom解码器输出YUV缓存Distrubed

对于配置的320 * 240分辨率,我将获得缓冲区长度(386 * 256 * 1.5)。我没有得到如何获得这个新的宽度和高度信息。

我在Java中使用的JPG转换代码,并使用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

回答