Каков наиболее эффективный способ отображения декодированных видеокадров в Qt?

Какой самый быстрый способ отображения изображений в виджете Qt? Я декодировал видео с использованием libavformat и libavcodec, поэтому у меня уже есть необработанные кадры RGB или YCbCr 4: 2: 0. В настоящее время я использую QGraphicsView с объектом QGraphicsScene, содержащим QGraphicsPixmapItem. В настоящее время я получаю данные кадра в QPixmap с помощью конструктора QImage из буфера памяти и преобразую его в QPixmap с помощью QPixmap :: fromImage ().

Мне нравятся результаты этого, и они кажутся относительно быстрыми, но я не могу помочь, но думаю, что должен быть более эффективный путь. Я также слышал, что преобразование QImage в QPixmap является дорогостоящим. Я реализовал решение, которое использует оверлей SDL на виджете, но я бы хотел остаться только с Qt, так как я могу легко захватывать клики и другое взаимодействие с пользователем на видео, используя QGraphicsView.

Я выполняю любые необходимые операции масштабирования видео или преобразования цветового пространства с помощью libswscale, поэтому мне просто хотелось бы узнать, есть ли у кого-нибудь более эффективный способ отображения данных изображения после выполнения всей обработки.

Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос