1. JVM의 Encoding 관련 환경 변수
2. JDBC 사용 시 Connection URL의 characterEncoding variable
참고 : http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html
1. JVM의 Encoding 관련 환경 변수
net.properties 를 셋팅하여 Java 프로그램이 실행되는 JVM이 프록시를 통해 네트워크를 연결할 수 있도록 할 수 있다. java로 실행된다면 다음과 같이 옵션을 넣어주면 된다.
1. tofrodos 패키지를 설치
2. dos2unix 로 fromdos 를 소프트 링크
혹은 슈퍼유저 권한이 없을 경우 fromdos 파일을 ~/bin에 복사한 후 dos2unix를 소프트링크
1. Kernel 에서 pr_debug 등이 안나올 때,
간단히는 맨 위(“#include <linux/kernel.h>”보다 위)에 “#define DEBUG” 추가 혹은 http://www.kernel.org/doc/local/pr_debug.txt 처럼 makefile 수정
DEBUG를 추가했을 때 왜 pr_debug 가 Enable 되는지 보고 싶다면, include/linux/kernel.h 참고
커널 메시지 보기 : 커널이 어느정도 안정적이라면 UART 등을 이용하는 것보다 adb 쉘을 이용하는 것이 더 편하던데..
logcat 메시지 보기
아쉬우나마 adb logcat 을 이용해서 필터링 하고 싶다면 다음과 같이 한다.
개발 중에 App 설정이 userdata 에 저장되는데 잘못된 설정값을 설정하여 App가 계속 죽게될 경우 다시 진입해도 잘못 설정된 값이 저장되어 App가 계속 죽게 된다. 이럴 때 설정값을 날리기 위해서 adb shell 등으로 들어간 루트 쉘에서 다음 명령을 주면 된다.
YUV 포멧은 두 가지로 나뉠 수 있는데, 하나는 Packed 포멧이고, 다른 하나는 Planar 포멧이다.
Packed 포멧은 Y, U (Cb), V (Cr) 성분이 함께 Macropixel을 이루는 형식이다. 예를 들면 UYVY의 경우 Y 성분 2개와 그 두 개 Y 성분에 대한 U, V 성분을 합쳐 두 개의 픽셀을 나타내게 된다.
Planar 포멧은 Y, U (Cb), V (Cr) 성분이 각각의 분리된 영역에 저장되어 세 개의 영역을 모두 합쳐서 최종 이미지를 얻을 수 있는 방식이다.
내가 자주 다루게 되는 포멧은 Packed 포멧으로 YUYV, UYVY, Planar 포멧으로 NV12, NV21 이다.
YUYV와 UYVY 는 YUV 4:2:2 Packed포멧이다.
UYVY 는 Y422, UYNV, HDYC 로도 불리며, 32비트 안에 U0, Y0, V0, Y1 순서로 한 성분이 각각 8비트씩 저장되어 2개의 픽셀을 나타내게 된다.
YUYV 는 V422, YUNV, YUY2 로도 불리며, 32비트 안에 Y0, U0, Y1, V0 순서로 한 성분이 각각 8비트씩 저장되어 2개의 픽셀을 나타내게 된다. UYVY 와는 배열 순서만 다르다고 생각하면 된다.
그림으로 나타내면 다음과 같다.
NV12와 NV21은 YUV 4:2:0 Planar포멧이다.
NV12 는 8비트 짜리 Y 성분 하나와 8비트 짜리 U와 8비트 짜리 V 가 합쳐져 한 픽셀을 나타내게 되는데, U와 V 하나를 2×2의 Y 성분이 공유한다. 다른 말로 하자면, 2×2의 4픽셀을 나타내기 위해서 Y plane의 2×2의 4개의 성분과 이에 대응하는 U, V 성분 하나가 사용된다. 그림으로 나타내면 다음과 같이 설명할 수 있다.
NV21은 U/V plane에서 U와 V가 순서가 바뀐 포멧이다. YUV420SP 라고도 불리는 것 같다.
다른 더 많은 포멧은 아래 참고 링크를 참조한다.
참고 : http://www.fourcc.org/yuv.php
추가 : MSDN 에도 참고할 만한 글이 있다. NV12, YV12, IMC2 포멧 등, 메모리 증가에 따른 저장 공간을 잘 보도록. : http://msdn.microsoft.com/en-us/library/Aa904813