gallery3 설치
http://howto.homelinux.com/gallery3/
Graphics tools 설치
#sudo apt-get install imagemagick
Android Xotof 에서 보려면
admin->modules 에서 REST API Module 옵션을 활성화 해주어야 한다.
gallery3 설치
http://howto.homelinux.com/gallery3/
Graphics tools 설치
#sudo apt-get install imagemagick
Android Xotof 에서 보려면
admin->modules 에서 REST API Module 옵션을 활성화 해주어야 한다.
Android play 북 무료 책에 있는 ‘화성의 존카아트’
‘타잔’의 작가 에드가 라이스 버로우즈가 작품.
옛날 책이고 아동도서라 그런지 번역이 매끄럽지 않다.

안드로이드용 xbmc가 있어 갤럭시 S2 폰에 설치해봤다.
구글 플레이 스토어에 없고 xbmc-korea 에서 다운 받아 설치해야한다.
화면이 작아 버튼 누르기가 힘들고 해상도가 큰 비디오은
제대로 재생이 되지 않고 가끔 버뻑거리지만 쓸만 하다.
갤럭시 S2용 HDMI 케이블이 있다면 TV에 연결해서 봐도 좋을것 같다.
xbmc에 대한 자세한 내용은 다음 사이트를 참조
Linaro 기반 안드로이드에서는 init.rc 파일이 boot.tar.bz2 압축 파일내 uInitrd 에 CPIO 사용하여 저장 되어 있다.
init.rc 수정 방법은 다음과 같다.
tar xjf boot.tar.bz2
mkdir unpacked && cd unpacked
dd if=../boot/uInitrd bs=64 skip=1 | gunzip -c | sudo cpio -i -d -H newc –no-absolute-filenames
sudo vi init.rc
sudo find . | sudo cpio -o -H newc | gzip -c > ../initrd.new
mkimage -A arm -O linux -C gzip -T ramdisk -d ../initrd.new ../boot/uInitrd
rm ../initrd.new
cd ..
rm boot.tar.bz2 && tar cjf boot.tar.bz2 boot
또는 boot.tar.bz2가 저장되어 있는 mmc 파티션에 마운트 하여 uInitrd 파일을 풀어 수정 하면 된다.
Android에서 SVC 디코딩 성능이 나오지 않아 OpenMP 사용하기 위해 android toolchian를 받아 OpenMP 페치를 하여 빌드 하였다.
빌드 후 OpenMP 를 적용하여 빌드하여 실행 했더니 특정 함수에서만 실행 OpenMP가 적용되고 특정 루틴에서는 프로그램이 죽는 현상이 발생하였다.
원인를 찾아 보니 pthread에 내에 있는 함수에서 OpenMP를 적용하면 프로그램이 죽는 현상이었다. 다시 페치 파일을 찾아 pthread에서 OpenMP를 적용해도 프로그램이 죽지 않았다.
그런데 OpenMP를 적용해도 성능이 향상되지 않는다.
문제의 원인를 모르겠다. 디코딩 성능은 안나오는데 CPU 부하는 50% 정도 밖에 되지 않고 OpenMP를 적용해도 성능은 그대로다.
ubuntu 12.04 32bit desktop 에서 android-ndk-r7b 받아 빌드
소스 다운로드
# cd android-ndk-r7b
# ./build/tools/download-toolchain-sources.sh src
라이브러리 다운로드
# apt-get install m4
# apt-get install libncurses5-dev
# apt-get install flex
페치 ( -ldl 추가 )
src/gcc/gcc-4.4.3/configure.ac : gmplibs=”-lmpfr -lgmp -ldl”
src/gcc/gcc-4.4.3/configure : gmplibs=”-lmpfr -lgmp -ldl”
patch : https://android-review.googlesource.com/#/c/34491/
patch 방법 : https://groups.google.com/forum/?fromgroups#!topic/android-ndk/pUfqxURgNbQ
빌드
# ./build/tools/build-gcc.sh $(pwd)/src $(pwd) arm-linux-androideabi-4.4.3
typedef struct XADataFormat_RawImage_ {
XAuint32 formatType;
XAuint32 colorFormat;
XAuint32 height;
XAuint32 width;
XAuint32 stride;
} XADataFormat_RawImage;
| Field | Description |
| formatType | The format type, which must always be XA_DATAFORMAT_RAWIMAGE for this structure. |
| colorFormat | Raw image color format. Refer to XA_COLORFORMAT macros. |
| height | Frame height (vertical) resolution. |
| width | Frame width (horizontal) resolution. |
| stride | Number of bytes in a line of the image. |
#define XA_DATAFORMAT_MIME ((XAuint32) 0x00000001) #define XA_DATAFORMAT_PCM ((XAuint32) 0x00000002) #define XA_DATAFORMAT_RAWIMAGE ((XAuint32) 0x00000003)
#define XA_COLORFORMAT_UNUSED ((XAuint32) 0x00000000) #define XA_COLORFORMAT_MONOCHROME ((XAuint32) 0x00000001) #define XA_COLORFORMAT_8BITRGB332 ((XAuint32) 0x00000002) #define XA_COLORFORMAT_12BITRGB444 ((XAuint32) 0x00000003) #define XA_COLORFORMAT_16BITARGB4444 ((XAuint32) 0x00000004) #define XA_COLORFORMAT_16BITARGB1555 ((XAuint32) 0x00000005) #define XA_COLORFORMAT_16BITRGB565 ((XAuint32) 0x00000006) #define XA_COLORFORMAT_16BITBGR565 ((XAuint32) 0x00000007) #define XA_COLORFORMAT_18BITRGB666 ((XAuint32) 0x00000008) #define XA_COLORFORMAT_18BITARGB1665 ((XAuint32) 0x00000009) #define XA_COLORFORMAT_19BITARGB1666 ((XAuint32) 0x0000000A) #define XA_COLORFORMAT_24BITRGB888 ((XAuint32) 0x0000000B) #define XA_COLORFORMAT_24BITBGR888 ((XAuint32) 0x0000000C) #define XA_COLORFORMAT_24BITARGB1887 ((XAuint32) 0x0000000D) #define XA_COLORFORMAT_25BITARGB1888 ((XAuint32) 0x0000000E) #define XA_COLORFORMAT_32BITBGRA8888 ((XAuint32) 0x0000000F) #define XA_COLORFORMAT_32BITARGB8888 ((XAuint32) 0x00000010) #define XA_COLORFORMAT_YUV411PLANAR ((XAuint32) 0x00000011) #define XA_COLORFORMAT_YUV420PLANAR ((XAuint32) 0x00000013) #define XA_COLORFORMAT_YUV420SEMIPLANAR ((XAuint32) 0x00000015) #define XA_COLORFORMAT_YUV422PLANAR ((XAuint32) 0x00000016) #define XA_COLORFORMAT_YUV422SEMIPLANAR ((XAuint32) 0x00000018) #define XA_COLORFORMAT_YCBYCR ((XAuint32) 0x00000019) #define XA_COLORFORMAT_YCRYCB ((XAuint32) 0x0000001A) #define XA_COLORFORMAT_CBYCRY ((XAuint32) 0x0000001B) #define XA_COLORFORMAT_CRYCBY ((XAuint32) 0x0000001C) #define XA_COLORFORMAT_YUV444INTERLEAVED ((XAuint32) 0x0000001D) #define XA_COLORFORMAT_RAWBAYER8BIT ((XAuint32) 0x0000001E) #define XA_COLORFORMAT_RAWBAYER10BIT ((XAuint32) 0x0000001F) #define XA_COLORFORMAT_RAWBAYER8BITCOMPRESSED ((XAuint32) 0x00000020) #define XA_COLORFORMAT_L2 ((XAuint32) 0x00000021) #define XA_COLORFORMAT_L4 ((XAuint32) 0x00000022) #define XA_COLORFORMAT_L8 ((XAuint32) 0x00000023) #define XA_COLORFORMAT_L16 ((XAuint32) 0x00000024) #define XA_COLORFORMAT_L24 ((XAuint32) 0x00000025) #define XA_COLORFORMAT_L32 ((XAuint32) 0x00000026) #define XA_COLORFORMAT_18BITBGR666 ((XAuint32) 0x00000029) #define XA_COLORFORMAT_24BITARGB6666 ((XAuint32) 0x0000002A) #define XA_COLORFORMAT_24BITABGR6666 ((XAuint32) 0x0000002B)
Wiki : http://howto.homelinux.com/wiki/AndroidFFMPEG#OpenMAXAL
/** PCM-type-based data format definition where formatType must be SL_DATAFORMAT_PCM*/
typedef struct SLDataFormat_PCM_ {
SLuint32 formatType;
SLuint32 numChannels;
SLuint32 samplesPerSec;
SLuint32 bitsPerSample;
SLuint32 containerSize;
SLuint32 channelMask;
SLuint32 endianness;
} SLDataFormat_PCM;
유니티(Unity)는 게임 개발 톨이다. 유니티를 사용하면 3D게임을 GUI 환경에서 쉽게 제작 할 수 있고 완성된 게임을 다양한 플랫품에서 실행 할 수 있다. 유니티로 제작한 게임은 web application 이나 iOS 그리고 안드로이드에서 동일 하게 동작 한다.
유니티 버전은 무료 버전과 프로 버전이 있으며 프로 버전은 $1500이다. 무료 버전의 경우 iOS와 Android Target Platform 빌드 할 수 있는 기능이 4월 8일 까지 무료 이다.
무료 버전을 받아서 윈도우 PC에 설치해 보았다. 인터페이스는 3D 제작 툴과 유사하게 3D로 게임 공간을 편집 할 수 있도록 되어 있고 바로 실행 하여 테스트가 가능 했다. 다양한 기능이 있지만 툴을 배우려면 시간이 필요해 보인다. 프로그램에 포함된 데모 게임 “Angry Bots”를 빌드하여 웹서버에 올려봤다.
Angry Bots 게임은 Android Market과 Apple Market에서 무료로 받을 수 있다.
유니티 국내 사이트 주소는 다음과 같다.