BitmapFactory используется для создания изображения из файла изображения, который был закодирован с использованием JPEG или PNG. Если вы просто добавляете необработанные данные, функция не знает, какую кодировку вы используете. RGB? YUV? 24-бит? 32-битный?
AFAIK Нет собственного способа создания изображения из данных YUV, вам, по крайней мере, сначала нужно преобразовать его в RGB. Вот ответ, который демонстрирует это: Получение кадров из видеоизображения в Android .
Конечно, вы можете использовать NDK для создания встроенной функции преобразования, которая будет намного быстрее. Или вы можете отсканировать документацию для YUV-конвертера, но единственное, что я обнаружил при быстром сканировании, это YuvImage , что позволит вам преобразовать его только в поток JPEG.