QT利用opengl 进行视频裁剪、拼接,4宫格,9宫格
一、概述
1.1 前言
在上一篇文章我們講了Y420P視頻數(shù)據(jù)如何裁剪、拼接、旋轉(zhuǎn)等,但是缺點(diǎn)也很明顯,一是工作量大,代碼量較大。二是容錯(cuò)率低,因?yàn)樯婕暗酱罅康母↑c(diǎn)型計(jì)算,導(dǎo)致在數(shù)據(jù)拷貝的時(shí)候存在誤差,可能渲染的時(shí)候Y、UV分量就產(chǎn)生問(wèn)題,視頻花屏、變形等。同時(shí),YUV數(shù)據(jù)拷貝和計(jì)算的過(guò)程都是交給CPU進(jìn)行,效率較低。
而這篇文章我們采取另外一種更優(yōu)方式,利用 opengl 頂點(diǎn)和紋理坐標(biāo)做文章,變換坐標(biāo)確定視頻塊播放位置,代碼量更少、容錯(cuò)率極高,易理解。
1.2 概念講解
1.2.1 頂點(diǎn)數(shù)組與頂點(diǎn)坐標(biāo)
頂點(diǎn)數(shù)組是OpenGL 1.1所提供的功能,在繪制各種圖形時(shí)指定了數(shù)據(jù)渲染的坐標(biāo),表示了一個(gè)幾何圖形。為了避免跑偏,我們不過(guò)多的解釋opengl相關(guān)知識(shí)。我們只需要知道我們?cè)谖恼轮惺窃趺词褂庙旤c(diǎn)數(shù)組以達(dá)到我們的目的。簡(jiǎn)單說(shuō),頂點(diǎn)數(shù)組就是定義一個(gè)包含一系列坐標(biāo)點(diǎn)的數(shù)組,opengl其實(shí)就是基于頂點(diǎn)的網(wǎng)格繪制,幾何圖形就是將這些頂點(diǎn)按照一定規(guī)則連接起來(lái),那么紋理坐標(biāo)的4個(gè)坐標(biāo)點(diǎn),映射到頂點(diǎn)上,openGL就會(huì)把這個(gè)紋理應(yīng)用到4個(gè)頂點(diǎn)構(gòu)成的圖形上。
如上圖所示,圖1稱為頂點(diǎn)坐標(biāo),圖2稱為紋理坐標(biāo),opengl為了顯卡計(jì)算方便?
總結(jié)
以上是生活随笔為你收集整理的QT利用opengl 进行视频裁剪、拼接,4宫格,9宫格的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电子学会遗留
- 下一篇: H.265/HEVC低延迟编解码FPGA