QT利用opengl 进行视频裁剪、拼接,4宫格,9宫格
生活随笔
收集整理的這篇文章主要介紹了
QT利用opengl 进行视频裁剪、拼接,4宫格,9宫格
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、概述
1.1 前言
在上一篇文章我們講了Y420P視頻數據如何裁剪、拼接、旋轉等,但是缺點也很明顯,一是工作量大,代碼量較大。二是容錯率低,因為涉及到大量的浮點型計算,導致在數據拷貝的時候存在誤差,可能渲染的時候Y、UV分量就產生問題,視頻花屏、變形等。同時,YUV數據拷貝和計算的過程都是交給CPU進行,效率較低。
而這篇文章我們采取另外一種更優方式,利用 opengl 頂點和紋理坐標做文章,變換坐標確定視頻塊播放位置,代碼量更少、容錯率極高,易理解。
1.2 概念講解
1.2.1 頂點數組與頂點坐標
頂點數組是OpenGL 1.1所提供的功能,在繪制各種圖形時指定了數據渲染的坐標,表示了一個幾何圖形。為了避免跑偏,我們不過多的解釋opengl相關知識。我們只需要知道我們在文章中是怎么使用頂點數組以達到我們的目的。簡單說,頂點數組就是定義一個包含一系列坐標點的數組,opengl其實就是基于頂點的網格繪制,幾何圖形就是將這些頂點按照一定規則連接起來,那么紋理坐標的4個坐標點,映射到頂點上,openGL就會把這個紋理應用到4個頂點構成的圖形上。
如上圖所示,圖1稱為頂點坐標,圖2稱為紋理坐標,opengl為了顯卡計算方便?
總結
以上是生活随笔為你收集整理的QT利用opengl 进行视频裁剪、拼接,4宫格,9宫格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电子学会遗留
- 下一篇: ViewPager + Fragment