I have a video in planar YUV format (Three planes in three different arrays) and I want to convert this into RGB and display it using shaders. Normally if it was packed (interleaved) format I would write one frame to a texture than decompose it the Y,U and V planes using a 2D samplers. But since there are 3 different arrays one way can be uploading them to three different textures converting it but I dont want to use 3 textures per video since I will display multiple videos (12) at a time. How can I write a shader which will take the whole planar YUV data (maybe by PBO), decompose into Y,U,V, convert to RGB and display it in a 2D rectangle.