Я создаю профессиональное приложение для камеры, где пользователи могут настроить формат записи видео и оценка цвета. В Func CaptureOutput (_ Выход: AvCaptureOutput, DidOutput SampleBuffer: CMSAMPLEBUFFER, из соединения: AVCAPTURECONNECTE), я обрабатываю видео кадры и использую металл для оценки цвета в реальном времени. Это хорошо работает, когда Device. Однако, когда цветовое пространство составляет HLG_BT2020 или AppleLog, метод mtktextureAder.newTexture (cgimage: cgimage, параметры: параметры) выбрасывает ошибку. После исследования я обнаружил, что видеокама в этих цветных пространствах имеет бит-наканальный (BPC), превышающий 8 после преобразования в CGIMAGE, что приводит к сбою создания текстуры. Я попытался преобразовать CGIMAGE в более низкий BPC, чтобы успешно создать текстуру, но конечное выходное изображение искажено и не так, как ожидалось. Есть решение этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/795 ... -bt2020-av