기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하십니까?

 

ARM NEON을 이용하여 코드 최적화를 진행하는 도중에 난관에 부딪쳐서 문의드립니다. 

 

우선 ARM NEON intrinsic function set을 이용하여  카메라로부터 YUV4:2:0 데이터를 받아

 

RGB24 데이터로 변환하여 프리뷰를 띄우는 과정은 테스트 완료 하였습니다.

 

테스트 결과 최적화를 더 수행해야 겠습니다만,

 

순수 NDK(c code)만 사용한 경우보다 디스플래이 실행속도가 약 1.7배정도 빨라지는 것을 확인하였습니다.

 

그런데 영상처리 분야에서는  LUT(LookUp table) 연산을 종종 사용하게 됩니다.

 

ARM NEON의 white paper를 보니 간접 주소 지정(LUT 연산), 즉 스캐터(scatter)와 수집(gather)을 할 수 없다고 나와 있습니다.

 

아래 코드를 보시면 스캐터와 수집에 대한 이해가 빠르실 것 같습니다.

 

float a[99], b[99];
int ia[99], ib[99], i, n, j;

......

for (i = 0; i < n; i++) a[ia[i]] = b[j + ib[i]];

 

현재 문제점은ARM  NEON에서 직접적으로 간접 주소 지정을 할 수 없다면  우회적인 방법으로 간접 주소 지정(LUT 연산)을 할 수 있는 지가 궁금합니다.

 

혹시 위의 LUT 연산을 NEON에서 수행해 보신 경험이 있는 분이 계시다면 좋은 조언 좀 부탁드리겠습니다.

 

감사합니다.

 

좋은 주말 보내십시오.

 

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
5708 GPIO 설정 [5] 마대렐라 2014-01-24 1748
5707 SDRAM 확장시 에러발생 (64MB -> 128MB) [12] 박진홍 2009-08-15 1746
5706 2G SD카드 인식 [6] 김대영 2006-06-01 1743
5705 s3c2440에서 fflsush시 메모리 누수현상 [5] 박선종 2011-11-24 1743
5704 arndale 보드 리눅스 지원 계획? [3] 김장균 2013-03-24 1743
5703 [완료] Linux 커널 2.6.28에 LAN9215 드라이버 포팅해 보신분 계... [9] 박영기1 2012-06-26 1742
5702 adb로 kernel message 보기 [2] 테크 2013-12-02 1742
5701 RT73 드라이버로 인한 커널 패닉? 시스템 사용시 에러메시지 출력... [3] 공정표 2009-08-01 1741
5700 안드로이드에서 nfs 서버로 마운트 가능한가요? [2] 문종섭 2012-02-06 1741
5699 dtb에 대해서 궁금합니다. [9] Supsupi 2014-07-08 1740
5698 안드로이드 외부 출력 관련 문의 드립니다. [1] 헐위 2011-12-21 1739
5697 S3C6410 부팅중 멈추는 현상에 대한 질문입니다. [2] 최종환 2009-04-06 1738
5696 [Arndale Board] OTG(mini USB)연결 문제에 관해서 문의드립니다... [6] 강현성 2013-01-25 1734
5695 모바일 CPU 의 종류를 알아낼수 있는 API 가 있나요 ? [2] 파란새 2013-04-08 1734
5694 3G Modem을 USB 타입말고 방법은 없을까요?? [2] 천동이 2013-11-15 1733
5693 tslib calibrate 관련 질문드리겠습니다. [3] ice179 2014-05-21 1733
5692 임베디드 리눅스에서 어플리케이션 작성하여 정자하기 위해서는... [1] 혜민아빠 2012-02-21 1732
5691 Makefile 해석 맞는건지. [2] ice179 2013-10-18 1732
5690 eth0 에서 eth1로 소켓통신을 하려면 어떻게 해야되나요? [12] 은민아빠 2012-05-19 1730
5689 [완료|자답]USB device 장치 인식을 어떻게 하는지 궁금합니다. [3] 신철수 2008-02-16 1727

사용자 로그인