neon

    4熱度

    3回答

    我正在試圖製作高斯模糊圖像濾波器的移動快速版本。 我讀過其他的問題,比如:Fast Gaussian blur on unsigned char image- ARM Neon Intrinsics- iOS Dev 對於我的目的,我只有一個固定大小(7×7)固定西格馬(2)高斯濾波器需要。因此,在針對ARM NEON進行優化之前,我正在C++中實現一維高斯內核,並直接在移動環境(Android

    0熱度

    1回答

    我一直用C的一個問題/ C++裏面ARM NEON彙編代碼的變量寫成: __asm__ __volatile() 我讀過有關下列可能性,這要得益於ARM移動值到NEON寄存器。下面的每一種可能引起致命的信號在我的Android應用程序: VDUP.32 d0, %[variable] VMOV.32 d0[0], %[variable] 輸入參數列表包括: [variable] "r"

    1熱度

    1回答

    我需要使用匯編在NEON寄存器(或ARM寄存器,比我可以VMOV它)中加載立即數0.5f(= 0.8,以十六進制表示)。 我讀過ARM DOC:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html 哪個環節:http://infocenter.arm.com/help/index.jsp

    2熱度

    1回答

    我需要將uint8數組中的值加載到128個NEON寄存器中。有一個類似的question。但是沒有好的答案。 我的解決辦法是: uint8_t arr[4] = {1,2,3,4}; //load 4 of 8-bit vals into 64 bit reg uint8x8_t _vld1_u8 = vld1_u8(arr); //convert to 16-bit and move

    5熱度

    3回答

    我有一個8位的640×480的圖像,我想縮小到320×240的圖像: void reducebytwo(uint8_t *dst, uint8_t *src) //src is 640x480, dst is 320x240 會是什麼做的,使用ARM的最佳方式SIMD NEON?任何示例代碼? 作爲一個起點,我只是想這樣做相當於: for (int h = 0; h < 240; h++)

    0熱度

    2回答

    下面的代碼將一行從8位蒼白格式轉換爲32-RGBA。 在我嘗試實現它之前,我想知道下面的代碼是否適合用Direct-Math或ARM Neon intrinsics或內聯彙編進行優化。我第一次看文檔並沒有發現任何可以涵蓋查表部分的內容。 void CopyPixels(BYTE *pDst, BYTE *pSrc, int width, const BYTE mask, Color* p

    3熱度

    3回答

    我正在研究圖像處理算法,並且正在研究使用NEON對其進行優化。該算法包括將每個(RGBA,8位)像素乘以某個權重,進行一些加法並最終轉換回uint8_t值。 我遇到的第一個問題是如何有效地將單個uint8_t像素加載並轉換爲NEON的float32x4_t。我搜索一個合適的轉換的參考,並不能找到一個適合,所以我使出了這個醜陋的代碼: const uint8_t* psrc = ...; // po

    1熱度

    2回答

    我試圖實現此圖像縮小算法的逐行版本:http://intel.ly/1avllXm,應用於RGBA 8位圖像。 爲了簡化,請考慮調整單行w_src - > w_dst的大小。然後,每個像素可以將其值賦予具有權重1.0的單個輸出累加器,或者對權重α和(1.0f-α)的兩個連續輸出像素有貢獻。在C /僞代碼: float acc[w_dst] = malloc(w_dst * 4); x_dst =

    1熱度

    1回答

    我想弄清楚如何在ARM霓虹燈中生成條件存儲。我想要做的是相當於這個SSE指令: void _mm_maskmoveu_si128(__ m128i d,__m128i n,char * p); 其中有條件地將d的字節元素存儲到地址p中。選擇器n中每個字節的高位確定是否存儲d中的對應字節。 有關如何使用NEON內在函數執行此操作的任何建議? 謝謝 這是我所做的: int8x16_t store_ma

    0熱度

    1回答

    我想弄清楚是否以及如何將特定的現有代碼並行化以用於ARM Cortex-A9 NEON SIMD單元。這是代碼: for(int i=0; i < 11; i++) { f4UF1 *= F[i]; A[i][2] = A[i][1]; A[i][1] = A[i][0]; A[i][0] = f4UF1; B[i][2] = B[i][1]