Qt / C ++: convertir datos binarios sin formato y mostrarlos como una imagen (es decir, QImage)

Tengo una aplicación C ++ Open GL que renderiza una pantalla de animación y captura el contenido del frame-buffer usando glReadPixels (), que luego se almacena como una matriz de caracteres 1D.

Puedo obtener el contenido del búfer y guardarlo en una matriz de caracteres, de la siguiente manera:

char * values = (char *) malloc(width * height * 4 * sizeof(char));
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, values);

Luego envío estos datos en bruto a través de la red usando un socket, lo cual no es un problema para mí. Tengo un Qt Desktop Client (que se comunica con la aplicación OpenGL mediante socket)

ste programa cliente puede recibir con éxito los datos binarios sin formato enviados por la aplicación Open GL.

¿Cómo puedo representar una imagen de estos datos binarios en mi aplicación cliente? ¿Qt tiene alguna función / biblioteca incorporada para dibujar una imagen a partir de datos binarios (que se genera a partir de glReadPixels)?

¿Necesito codificar / decodificar estos datos binarios sin procesar como tipo base64 antes de enviarlos a través de sockets? ¿Por qué o por qué no