Кому-нибудь удалось получить кадр YUV_420_888 с использованием RenderScript и нового Camera API?
Я использую RenderScript и Allocation для получения фреймов YUV_420_888 из API Android Camera2, но как только я копирую байт [] из Allocation, я получаю только Y-плоскость из 3-х плоскостей, составляющих фрейм, а значения U и V-плоскостей установлены в 0 в байте []. Я пытаюсь имитировать onPreviewframe из API камеры previos, чтобы выполнять обработку кадров камеры в приложении. Мое Распределение создано как:
Type.Builder yuvTypeBuilderIn = new Type.Builder(rs, Element.YUV(rs));
yuvTypeBuilderIn.setX(dimensions.getWidth());
yuvTypeBuilderIn.setY(dimensions.getHeight());
yuvTypeBuilderIn.setYuvFormat(ImageFormat.YUV_420_888);
allocation = Allocation.createTyped(rs, yuvTypeBuilderIn.create(),
Allocation.USAGE_IO_INPUT | Allocation.USAGE_SCRIPT);
пока мой скрипт выглядит так:
#pragma version(1)
#pragma rs java_package_name(my_package)
#pragma rs_fp_relaxed
rs_allocation my_frame;