Qt / C ++ - Convertendo dados binários brutos e exibindo-os como uma imagem (ou seja, QImage)

Tenho um aplicativo C ++ Open GL que renderiza uma exibição de animação e captura o conteúdo do buffer de quadros usando glReadPixels (), que é armazenado como um array de caracteres 1

Posso obter o conteúdo do buffer e salvá-lo em uma matriz de caracteres, da seguinte maneira:

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

Em seguida, envio esses dados brutos pela rede usando o soquete, o que não é um problema para mim. Eu tenho um Qt Desktop Client (que se comunica com o aplicativo OpenGL usando o soquete)

Este programa cliente pode receber com êxito os dados binários brutos enviados pelo aplicativo Open G

Como posso renderizar uma imagem desses dados binários no meu aplicativo cliente? O Qt possui alguma função / biblioteca interna para desenhar uma imagem de dados binários (gerados a partir de glReadPixels)?

Preciso codificar / decodificar esses dados binários brutos como tipo base64 antes de enviá-los por soquetes? Por que ou por que não