Android Camera2 API YUV_420_888 zu JPEG

Ich erhalte Vorschau-Frames mit OnImageAvailableListener:

@Override
public void onImageAvailable(ImageReader reader) {
    Image image = null;
    try {
        image = reader.acquireLatestImage();
        Image.Plane[] planes = image.getPlanes();
        ByteBuffer buffer = planes[0].getBuffer();
        byte[] data = new byte[buffer.capacity()];
        buffer.get(data);
        //data.length=332803; width=3264; height=2448
        Log.e(TAG, "data.length=" + data.length + "; width=" + image.getWidth() + "; height=" + image.getHeight());
        //TODO data processing
    } catch (Exception e) {
        e.printStackTrace();
    }
    if (image != null) {
        image.close();
    }
}

Jede Zeitlänge der Daten ist unterschiedlich, aber Bildbreite und -höhe sind gleich.
Hauptproblem:data.length ist zu klein für eine Auflösung von 3264x2448.
Die Größe des Datenarrays sollte 3264 * 2448 = 7.990.272 und nicht 300.000 - 600.000 betragen.
Was ist falsch

imageReader = ImageReader.newInstance(3264, 2448, ImageFormat.JPEG, 5);

Antworten auf die Frage(6)

Ihre Antwort auf die Frage