最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
androidyuv,Androidyuv420sp轉(zhuǎn)rgb

android camera 采集到的數(shù)據(jù)是yuv嗎

是,android camera初始采集到的格式是yuv格式的,圖像繪制的時(shí)候會(huì)轉(zhuǎn)換成rgb格式的。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了貴定免費(fèi)建站歡迎大家使用!

android yuv怎么轉(zhuǎn)換成RGB565?

參數(shù)分別是寬,高,原數(shù)據(jù)指針,轉(zhuǎn)化后的目標(biāo)數(shù)據(jù)指針。

你找的這個(gè)函數(shù)是用C寫(xiě)的,而你的save(byte[]?yuv420,?String?path,?int?width,?int?height,int?quality)是JAVA,因此你要使用JNI?;蛘吣惆裞vt_420p_to_rgb565函數(shù)轉(zhuǎn)成JAVA版。

舉個(gè)例子?使用jni(實(shí)際自己測(cè)試):

cvt_420p_to_rgb565修改為

#ifdef?__cplusplus

extern?"C"?{

#endif

JNIEXPORT?jobjectArray?JNICALL?你的包名_類(lèi)名_cvt420pToRGB565(JNIEnv?*?env,?jobject?obj,jint?width,?jint?height,jcharArray?srcData,jcharArray?dstData);

#ifdef?__cplusplus

};

#endif

JNIEXPORT?jobjectArray?JNICALL?你的包名_類(lèi)名_cvt420pToRGB565(JNIEnv?*?env,?jobject?obj,jint?width,?jint?height,jcharArray?srcData,jcharArray?dstData)

{

unsigned?char?*?src?=(unsigned?char?*)?(env-?GetByteArrayElements(srcData,???0));?

unsigned?char?*?dst?=(unsigned?char?*)?(env-?GetByteArrayElements(dstData,???0));

下面照抄??!

如何在Android上快速顯示yuv數(shù)據(jù)

最近在搞Android方面的視頻處理開(kāi)發(fā),解碼出來(lái)的都是YUV420格式的數(shù)據(jù),如何在surface上高效顯示出來(lái),頗費(fèi)了一點(diǎn)周折,現(xiàn)在總結(jié)一下。

思路1:在java中將Surface指針傳遞到j(luò)ni層,lock之后就可以獲得SurfaceInfo,進(jìn)而取得要顯示的surface格式、高度、寬度,在2.2/2.3版本,surface的Format一般都是RGB565格式,只用做一個(gè)顏色空間的轉(zhuǎn)換,scaler就可以將yuv數(shù)據(jù)顯示出來(lái)。

顏色空間轉(zhuǎn)換和Scaler算是比較耗時(shí)的操作了。如何提高效率,scaler最好能交給android的底層函數(shù)去做,如果有g(shù)pu的,底層函數(shù)直接會(huì)利用gpu,效率非常高,又不占用cpu資源。

思路2:

參考framework中的AwesomePlayer,里面利用AwesomeLocalRenderer/AwesomeRemoteRenderer來(lái)實(shí)現(xiàn)解碼出來(lái)的數(shù)據(jù)顯示,這個(gè)效率應(yīng)該非常高,但是平臺(tái)的關(guān)聯(lián)性會(huì)增加很多。

調(diào)用接口比較簡(jiǎn)單,

首先創(chuàng)建一個(gè)render,

mVideoRenderer = new AwesomeRemoteRenderer(

mClient.interface()-createRenderer(

mISurface, component,

(OMX_COLOR_FORMATTYPE)format,

decodedWidth, decodedHeight,

mVideoWidth, mVideoHeight,

rotationDegrees));

直接調(diào)用render函數(shù)就可以顯示了。

virtual void render(MediaBuffer *buffer) {

void *id;

if (buffer-meta_data()-findPointer(kKeyBufferID, id)) {

mTarget-render((IOMX::buffer_id)id);

}

}

其它的參數(shù)都很容易獲得,關(guān)鍵是buffer_id 怎么獲得?OMXCodec.cpp中有相關(guān)的可以參考。

實(shí)際的效果在我的S510E上跑,效率非常高,幾乎不占用主控cpu資源,很可能都交給dsp和gpu去搞了。

思路3:

參考 camera的方式。由于在第2步已經(jīng)取得了非常好的效果,筆者沒(méi)有做深入研究。


新聞標(biāo)題:androidyuv,Androidyuv420sp轉(zhuǎn)rgb
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/phgood.html