日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]早在今年8月份的時候就將jpeg解碼弄好了,但是一直以來非常的不穩(wěn)定,如果修改了任意地方的代碼都會造成解碼可能失敗,起初我以為是堆棧問題,或者后面有非法指針,但是都沒得到結(jié)果,最后讓我只能懷疑編譯器了,而且

早在今年8月份的時候就將jpeg解碼弄好了,但是一直以來非常的不穩(wěn)定,如果修改了任意地方的代碼都會造成解碼可能失敗,起初我以為是堆棧問題,或者后面有非法指針,但是都沒得到結(jié)果,最后讓我只能懷疑編譯器了,而且我同樣的程序使用了RVDS4.0編譯后JPEG解碼老是等待超時,但是可以解碼頭部,得到相關(guān)的JPEG信息,就是無法解碼圖片主體部分,我換到RVDS2.2上面竟然解碼成功了,同樣的程序,不同的編譯器結(jié)果不一樣,讓我對RVDS4.0十分的失望,但是無意間我發(fā)現(xiàn)RVDS2.2也出現(xiàn)修改無關(guān)代碼后JPEG無法解碼了,我意識到我錯怪RVDS4.0了,我開始另想辦法了,當(dāng)我仔細(xì)閱讀S3C6410 dataset的后,終于找到一線希望了,文中說道,JPEG CODE最高時鐘不能超過66MHz,我當(dāng)時就修改了JPEG的時鐘分頻,給的是4分頻,剛好是66MHz,恰在此時解碼又成功了,讓我高興了不久,沒過多大一會,又悲劇了,打印的信息顯示解碼失敗,等待超時,我開始懷疑是編譯的地址,我就開始打印各個緩沖區(qū),指針,變量的地址,最終發(fā)現(xiàn)了一個問題,就是只有源圖像地址的那個指針如果最后一位為0(16進制),解碼就成功了,試了很多次,這個結(jié)論是對的,最終找出了問題所在了,源圖像地址必須是16字節(jié)地址對齊的,這就能解釋我之前遇到的種種不可思議的問題了。

很高興,只要添加一句代碼就能解決這個問題了,因為32bit的CPU,編譯器默認(rèn)是32位對齊的。


if(JpgAddr%16)//源地址一定要是16字節(jié)(128位)對齊的,否則會出現(xiàn)各種意想不到的問題,這個問題困擾了我5個多月。

JpgAddr=(JpgAddr/16+1)*16;


這樣,可以在申請了源圖像緩沖區(qū)后,使用一個指針,指向這個緩沖區(qū)起始位置最近的那個128位對齊的地址,即可解決這個問題。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉