將logcat清空
C:\android-sdk-windows\platform-tools>adb logcat -c
做出logcat 的filter
C:\android-sdk-windows\platform-tools>adb logcat -f sdcard/trace_neon.txt hellon
eon:I open_svc_decoder:I *:S
總算把neon成功插入到程式裡面了,後來發現竟然是0_0的interpolation位置搞錯,本來是一次存64bits的,結果我的寫法讓他一次只存1個bit,所以圖才會錯掉
這次學到了一個很重要的pointer觀念,就是在
__64* ptr_out = (__m64*)sortie;
這一行是指定ptr_out為一個64bits的pointer
而接下來的運算
For(i=0;i>3))
在這邊請注意
今天image是一個unsigned char時,+1代表的意思是+1個unsigned char
所以在這當OutStride=8,(OutStride>>3)=1,此時 ptr_out+=1,也就是ptr_out向右移了”64 bits”,所以『所謂的 +1要看是對哪個物件+1,而會有不同的位移程度』
MGS CGS的差別在有沒有含Inter layer prediction
----------------4/4------------------
注意值寫入時,pointer在寫完位置後要記得加
如:
for (n=0; n
*sortie = (unsigned char)result[n];
}
這邊sortie要記得++
然後我直是寫在sortie指向的值,所以記得要deference
如果值寫入不成功他會維持之前的值,我這次就有遇到這個問題
function_c跑過一次後換function_neon跑,結果function_neon寫值沒有成功
但是程式卻一直維持c的值讓我也沒發現function_neon寫錯 囧....(是後來在改function時發現怎麼怎麼改,值都不會變時才發現的)
---------------4/10-----------------
覺得logcat系統支援不夠,for迴圈跑9次,前面5次是對的,後面就開始亂跳
這還不是值的問題,應然是log print的問題 (啥鬼阿 囧)
再思考是不是自己logcat用法錯了才會這樣時,找到的測量memory leak的文章
http://yindingtsai.blogspot.com/