Как правильно преобразовать цвета YUV в RGB в Android?

Я использую MediaCodec для получения кадров из видео на SD-карте.
неправильные цвета

Я использую ScriptIntrinsicYuvToRGB для преобразования выходных кадров MediaCodec в RGB. Затем я отображаю их в TextureView.
Проблема в том, что цвета RGB неправильные (например, трава должна быть зеленой, а НЕ пурпурно-серой)
Кто-нибудь знает, как это исправить?
Спасибо


person dewijones92    schedule 29.04.2015    source источник
comment
Почему бы не декодировать их напрямую в TextureView? Получите SurfaceTexture из TextureView, передайте его конструктору Surface, передайте эту поверхность декодеру MediaCodec. Примечание MediaCodec использует другие форматы YUV, чем Camera; см. также stackoverflow.com/questions/13703596   -  person fadden    schedule 30.04.2015
comment
@fadden Спасибо за ваш ответ. Причина, по которой мне нужно сделать это таким образом, заключается в том, что я хочу применять эффекты к каждому кадру с помощью RenderScript. Можете ли вы дать мне какой-либо совет для этого? Спасибо   -  person dewijones92    schedule 30.04.2015
comment
См. software.intel.com. /ru-ru/статьи/   -  person Alex Cohn    schedule 04.12.2017