Jaki jest najbardziej wydajny sposób wyświetlania zdekodowanych klatek wideo w Qt?

Jaki jest najszybszy sposób wyświetlania obrazów w widgecie Qt? Odkodowałem wideo za pomocą libavformat i libavcodec, więc mam już surowe ramki RGB lub YCbCr 4: 2: 0. Obecnie używam QGraphicsView z obiektem QGraphicsScene zawierającym QGraphicsPixmapItem. Obecnie dane ramki są pobierane do QPixmap za pomocą konstruktora QImage z bufora pamięci i konwertowania go na QPixmap przy użyciu QPixmap :: fromImage ().

Podoba mi się to i wydaje się, że jest stosunkowo szybki, ale nie mogę pomóc, ale myślę, że musi być skuteczniejszy sposób. Słyszałem również, że konwersja QImage do QPixmap jest kosztowna. Zaimplementowałem rozwiązanie, które wykorzystuje nakładkę SDL na widżecie, ale chciałbym pozostać przy Qt, ponieważ jestem w stanie łatwo przechwytywać kliknięcia i inne interakcje użytkownika z wyświetlaniem wideo za pomocą QGraphicsView.

Robię wymagane skalowanie wideo lub konwersje przestrzeni kolorów za pomocą libswscale, więc chciałbym tylko wiedzieć, czy ktoś ma bardziej skuteczny sposób wyświetlania danych obrazu po wykonaniu całego przetwarzania.

Dzięki.