難得已經考完過了一個星期,可是還是沒感覺有放鬆到,昨天想要趕快把ogg的standard I/O拿掉,一直在改程式、debug弄到晚上一點回寢室洗個澡,回去lab繼續奮戰,結果還是卡死在memory menagement的問題,還不就是malloc、calloc、free、realloc這幾個function的問題,雖然前三個都已經寫出來了,只是free都是假的,但好歹MP3跟H264都可以porting到UniCore上了,可是第四個realloc還真他媽的難懂,其實是因為我不會看英文。
搞到了兩點多,心中有兩三種結論,後來問了風哥才真正把答案釐清,在realloc之前,要先malloc一塊記憶體空間,然後有了memory address,然後要重新配置空間時,在傳入新的size跟原本的memory address。
void * realloc( void *ptr, size_t size)
1.size = 0, return NULL
2.size sizeof(*ptr), return new ptr,重新malloc一塊size大小的空間且回傳mem_add
ps.以上sizeof(*ptr)的寫法是不成立了,因為沒這種東西,只是方便了解內容而已
可是我沒辦法從傳進來的*ptr去得知他媽的之前malloc多大的size出來,所以只好改寫成要多傳一個old size進來比較,可是在2.的情況也不小得怎麼只free大於size的部份,所以寫了一個很牽強的版本出來測試,結果發現還是死,一個是死在my_free(軒軒版),一個是死在my_malloc(志文版),所以只好拿陳長官的版本出來k懂他,再看怎麼利用了。
- Jan 19 Thu 2006 00:16
何時才能輕鬆一點
- Jan 14 Sat 2006 23:24
電腦接電視
一回到嘉義就聽說電視切掉了,沒有任何節目可以看,連三台都沒得看,真是有夠慘,想用DVD player看影片還遇到機器故障的問題,遭遇非常的可憐,後來沒辦法就想說把電腦拿下來外接看看。
好在當初買顯示卡的時候,買的比較好一點,有外接s端子的,所以才可以外接到電視畫面上,不過接出來的畫面解析度真的是其差無比,只是如果只要看電影,就沒什麼關係了。再把電腦搬到樓下去後,接完該接的線,一開機,找了半天找不到開機的畫面,切了很久才出現,進到os裡面後,在那邊調整螢幕內容調了好久,還是沒辦法改善那解析度,只好將就著看吧!
不過s端子沒有包括音效,所以又開始找有沒有啥東西可以喇叭的,一開始想說把樓上的喇叭拿下去用,可是兩組喇叭都有問題了,幾乎都是有一邊沒一邊的在響,後來上來看才發現喇叭後面的線,剛好是那種可以從audio out接到左右兩聲道的線(一紅一白那種),拿下去接了電視後,又把聲音調的很大才聽到,不過總算是把享受的環境架設好,接著就開始放電影啦!
電腦裡面有哈你駁倒死,哪裡癢傳奇跟金剛,後來挑了哈你駁倒來看,雖然我已經看過一次了
,不過還是陪著家人在看一次,可是片常太長,才看了快兩個小時,大家都陸續去睡覺了。剩下的可能只能等明天了,不過搬下去接真的好麻煩,因為電腦主機放的位置不是那麼好拔線移動的。所以還是用電腦直接看比較方便,不然就是NB要買可以外接電視的最好。
- Jan 14 Sat 2006 12:47
腳廢了
昨天晚上打完羽球就覺得腳怪怪的,沒想到晚上回到嘉義後就更痛了,今天早上起來吃完早餐就準備去看醫生,一開始要去的大安沒開,就轉往誠泰中醫去看。一開始還騎過頭沒看到,後來又回頭找了一次才發現,招牌真是有夠不明顯的。
看完後,醫生說要針灸,我想說應該是左腳在痛的那附近針灸吧,結果卻是針在右手上,而且針一插下去,真他媽的有夠痛,後來又在右手大拇指旁邊也插第二針,這次真的痛到叫出來....好慘阿。我也不曉得為甚麼他要針右手,明明是左腳受傷的說。後來又對一些穴道作按摩,可是感覺還是沒有很有效,最後包藥的那個護士真的很遜,包的離腳趾很近,卻又不把腳趾的部份用繃帶包起來,害我回到家又要重新包一次。
- Jan 12 Thu 2006 23:58
漫長的一日
- Jan 12 Thu 2006 05:50
開戰前夕
熬夜了一個多星期,有唸書有打混,一切都將在今天下午考完暫時告一段落。已經把能念懂得盡量唸過一次,然後考古題能背多少算多少了,剩下的只能祈禱了。
熬夜到現在沒睡,真的超級累,昨天只睡四個小時,然後下午回去補眠兩個小時而已,就一直清醒到現在,五臟六腑又開始跟我抗議了。每次熬夜都會這樣,很難受。
剛剛最後在跟chobit看全民大悶鍋,唯一的收穫就是,中間出來串場的那個女生真可愛,看了好心動喔!看完想睡覺卻發現,LAB的床已經被陳老師那邊的學妹佔去了,怎麼他也留下來睡覺,看來又只好趴桌子了,這樣睡眠品質超差,而且睡沒多久就會醒來....唉。
- Jan 11 Wed 2006 09:18
TMPGEnc轉divx3遇到問題的解決方法
之前在轉DivX v3的影片時,都會遇到畫面呈現黑白且有條紋,如下圖
後來在網路上找到一篇文章
===============================
DivX 3.11a和DivX 5.02在系統中各司其職的設定方式
經過反覆測試及網友使用心得,DivX 3.11a影片如用DivX 5.0解碼時,在速度及影像品質
均不及以原始DivX 3.11解碼,以下介紹系統中同時安裝時此二解碼器時,要如何避免
DivX 5.0強制播放DivX 3.11a影片的設定方法.
1.先安裝DivX5後再安裝DivX3.11
2.進入註冊表編輯視窗
3.持續搜尋"DivX MPEG-4 DVD Video Decompressor"直到有一個"Filter Data"
的REG_BINARY和它在同一個key裡面(我在XP系統下是搜尋到第二個就找到了)
4.編輯這個FilterData,將hex:之後的第七組數字80更改為90,按OK即可. (要回復則將90再改回80即可)
5.到左邊將{82CCD3E0-F71A-11D0-9FE5-00609778AAAA}匯出儲存成一個reg檔.
(若是DivX codec有重裝,再次執行這個reg即可)
6.重新開機後,則DivX3的影片就會以DivX3.11解碼器播放,而DivX4.5的影片就會以DivX5的解碼器播放.
===============================
- Jan 09 Mon 2006 22:29
Blog旁的小東西-塗鴉版、簡易音樂...等
之前在http://www.blogdeco.jp/這邊發現許多好玩的東西可以放在blog上面,如塗鴉版、每日食譜、小動畫之類的。不過由於是日文的網站提供,所以看的到的字大多是日文的,不過還滿好懂的,有興趣可以字幾來玩看看。
- Jan 09 Mon 2006 22:23
float跟fixed point的轉換
float to fixed point
f2lf(float s,long* d,long* p)
{
long temp;
unsigned char count;
_asm {
mov eax,s
shl eax,1
mov ebx,eax
mov cl,24
shr ebx,cl
mov count,bl
mov cl,8
shl eax,cl
stc
rcr eax,1
shr eax,1
mov temp,eax
}
*p = count-125;
*d = temp;
if (sfixed point to float
lf2f(long s, long p, float* d)
{
unsigned char count;
float temp;
long lw;
p = p + 125;
count = p;
lw = abs(s);
_asm {
mov bl,count
mov eax,lw
shl eax,1
shl eax,1
shr ebx,1
rcr eax,1
shr ebx,1
rcr eax,1
shr ebx,1
rcr eax,1
shr ebx,1
rcr eax,1
shr ebx,1
rcr eax,1
shr ebx,1
rcr eax,1
shr ebx,1
rcr eax,1
shr ebx,1
rcr eax,1
mov ecx,s
add ecx,0
jns step1
stc
step1:
rcr eax,1
mov temp,eax
}
*d = temp;
}