Как вы черпаете результат из SurfaceTexture для начала? Вы просто используете класс TextureView, или у вас есть фактический GLSurfaceView или аналогичный, а также набор графических вызовов OpenGL ES для рисования предварительного просмотра?
Если вы используете TextureView, то вы ничего не можете сделать - он заботится о чертеже, и вы не можете вводить себя посередине.
С помощью GLSurfaceView вы в основном пишете свою собственную программу OpenGL, которая может выполнять все виды обработки изображений с помощью флеш-шейдеров и тому подобного. Но вам нужно будет изучить основы программирования OpenGL для этого или, по крайней мере, найти образец, который настроит весь шаблон.
Если вы используете camera2, вы также можете рассмотреть возможность использования RenderScript для вашей обработки. Официальное приложение Google sample, HdrViewfinder, использует RS для обработки в режиме реального времени при предварительном просмотре.