ffmpeg 은 h.264 software decoder 중 성능이 2번째로 뛰어나고 open source 로 되어 있는 어플리케이션이다.
ffmpeg 을 arm 프로세서를 탑재한 Bluesky2440 보드에 porting 하는 방법
각 단계에 모르는 용어나 자세한 정보는 각자 찾도록 한다.
1. Linux host 설치
a: samba ( 리눅스 <->윈도우 파일 관리 )
b: tftp ( 리눅스 <-> Bluesky2440 이미지 전송 )
c: nfs ( 리눅스 <-> Bluesky2440 파일 관리 편리 )
d: gcc와 관련된 패키지들 업데이트
( ffmpeg 은 gcc 버전이 낮거나 glibc 버전이 낮으면 컴파일 중에 에러가 발생한다. )
d: arm-linux-gcc ( 각 리눅스 버전에 맞는 것을 구한다 )
2. Linux host 와 Bluesky2440 을 위한 설정
a: tftp 를 이용해서 boot-image 와 kernel-image를 Bluesky2440 에 다운로드 한다.
b: nfs 를 이용해서 Bluesky2440 을 리눅스에 mount 시킨다.
c: Bluesky2440 부트로더를 수정해서 nfs로 동작하도록 수정한다. ( ip , devfs , nfsroot 등.. )
3. ffmpeg을 arm 용으로 porting 한다.
a: ffmpeg 을 linux 에서 설치해서 테스트를 해본다.
b: ffmpeg을 arm 용으로 컴파일 하기 위해서 옵션들을 바꾼다.
c: shared 옵션을 disable 로 하고 컴파일러를 arm-linux-gcc 로 바꾼다.
d: static 옵션을 enable 로 하고 gpl 옵션도 enabler 시킨다.
e: cpu나 arch 옵션을 arm 으로 하고 ,prefix를 nfs 마운트 된 arm 디렉토리로 설정한다.
f: compile 하고 build 시킨다.
g: 에러가 발생하면 경우에 따라서 ffmpeg 소스를 수정한다.
( 예: encode_422_bitstream, encode_gray_bitstream function 의 동작을 주석처리 )
h: 동작이 잘 되는지 ffmpeg을 실행해서 확인 해 본다.
참고사이트
http://forum.doom9.org/
http://ffmpeg.mplayerhq.hu/
http://www.emlinux.co.kr/
'설계' 카테고리의 다른 글
| 잠시 외도 (2) | 2007/06/27 |
|---|---|
| 하드웨어와 소프트웨어 파티셔닝 (1) | 2007/04/19 |
| ffmpeg 을 Bluesky2440에 porting 하기 (4) | 2007/03/23 |
| Verilog Coding Style Guide -1 (0) | 2007/02/01 |
| [H.264] Integer Transform (0) | 2006/12/11 |
| [H.264] Intra Prediction (0) | 2006/12/07 |
