Qual é a maneira mais eficiente de exibir quadros de vídeo decodificados no Qt?

Qual é a maneira mais rápida de exibir imagens para um widget Qt? Eu decodifiquei o vídeo usando libavformat e libavcodec, então eu já tenho quadros RGB ou YCbCr 4: 2: 0. Atualmente, estou usando um QGraphicsView com um objeto QGraphicsScene contendo um QGraphicsPixmapItem. Atualmente, estou obtendo os dados de quadro em um QPixmap usando o construtor QImage de um buffer de memória e convertendo-o em QPixmap usando QPixmap :: fromImage ().

Eu gosto dos resultados disso e parece relativamente rápido, mas não posso deixar de pensar que deve haver uma maneira mais eficiente. Eu também ouvi dizer que a conversão de QImage para QPixmap é cara. Implementei uma solução que usa uma sobreposição de SDL em um widget, mas gostaria de ficar apenas com o Qt, pois sou capaz de capturar facilmente cliques e outras interações do usuário com a exibição de vídeo usando o QGraphicsView.

Eu estou fazendo qualquer escala necessária de vídeo ou conversões de espaço de cores com libswscale, então gostaria apenas de saber se alguém tem uma maneira mais eficiente de exibir os dados da imagem depois de todo o processamento ter sido executado.

Obrigado.