                             K Movie Player v0.2.1
                            -----------------------
                            
1. 소개
-------
  
  이 프로그램은 FFplay 를 바탕으로, 다양한 미디어 파일들을 OS/2 와 
eComStation 에서 재생하기 위해 만들어졌습니다.

2. 제작 환경
------------
  
  - 한국어판 OS/2 Warp v4 with FixPak #15
  
  - GCC v3.3.5 CSD1
  
  - OS/2 ToolKit v4.5
  
  - nasm v0.98.38
  
  - OS2UNIX 환경 ( GNU Make v3.81r2, cp, rm, ... )

  - lxlite v1.3.3 ( 디버깅 정보 제거 )
      
3. 실행에 필요한 환경
---------------------

  - 오디오 : DART

  - 비디오 : DIVE 또는 WarpOverlay
  
  - RunTime : LIBC061

4. 시험 환경
------------

  한국어판 OS/2 Warp v4 with FixPak #15 와 eComStation 1.2MR 에서 
시험했습니다.

5. 설치
-------

  kmp.exe 를 아무 디렉토리에 넣어 두시면 됩니다.
  
6. 사용법 및 선택사항
---------------------

6.1 사용법
----------

6.1.1 실행하기
--------------
    kmp [선택사항] 입력파일

6.1.2 실행 중에
---------------
q                   끝내기
f, Enter            전체화면/창화면 전환
p, SPC              잠시 멈춤/재개 전환
m                   오디오 켬/끔 전환
a                   오디오 채널 순환
v                   비디오 채널 순환
t                   자막 채널 순환
w                   오디오 파형을 보여줌
left/right          10초 앞뒤 이동
Ctrl+left/right     1분 앞뒤 이동
down/up             볼륨 1% 씩 낮추기/높이기
Ctrl+down/up        볼륨 5% 씩 낮추기/높이기
mouse click         화면비만큼 위치 이동 
+/-                 글꼴 크기 크게/작게
Alt-0/1/2/3         각각 화면비를 none/original/force43/force169 으로 바꾸기
8/9                 밝기 5 단계씩 어둡게/밝게 ( wo 만 지원 )
i/o                 대비 5 단계씩 낮추기/높이기 ( wo 만 지원 )
k/l                 채도 5 단계씩 낮추기/높이기 ( wo 만 지원 )
,/.                 색상 5 단계씩 낮추기/높이기 ( wo 만 지원 )
/                   밝기/대비/채도/색상 기본값으로 ( wo 만 지원 )
[/]                 텍스트 파일 자막 싱크 0.5 초씩 빨리/느리게

6.2 선택사항
------------

6.2.1 주 선택사항
-----------------
-h                  도움말 보여주기
-video driver       비디오 드라이버 설정 (driver=auto/wo/dive)
-x width            폭을 지정
-y height           높이를 지정
-fs                 전체화면으로 보여줌
-vol level          처음 볼륨값을 퍼센트 단위로 지정
-an                 오디오를 끔
-vn                 비디오를 끔
-ss pos             초단위로 주어진 위치까지 이동
-bytes              바이트 단위로 이동
-nodisp             화면을 보이지 않음
-f fmt              특정 포맷을 선택
-subfont xx.name    자막 글꼴과 크기 지정 (xx=크기, name=글꼴 이름)
-aspect ratio       화면비율 지정 (ratio=none, original, force43, force169)
-framedrop          필요하면 프레임을 표시하지 않음
-hidemouse          전체화면에서 마우스 포인터를 감춤
-brightness level   밝기 지정, wo 만 지원(level=0..255)
-contrast level     대비 지정, wo 만 지원(level=0..255)
-saturation level   채도 지정, wo 만 지원(level=0..255)
-hue level          색상 지정, wo 만 지원(level=0..255)

6.2.2 고급 선택사항
-------------------
-stats              진행 상태를 보여줌
-debug              디버그 정보를 보여줌
-bug                버그 수정
-vismv              모션 벡터를 시각화하기 
-fast               호환성을 고려하지 않은 최적화
-genpts             pts 만들기
-lowres             
-skiploop
-skipframe
-skipidct
-idct algo          idct 알로리즘 설정
-er threshold       오류 탐지 한계를 설정 (0-4)
-ec bit_mask        오류 무시 선택사항
-rtp_tcp            RTP/TCP 프로토콜 사용
-sync type          오디오-비디오 싱크 타입 설정 (type=audio/video/ext)
-threads count      쓰레드 갯수

6.2.3 KMPOPT 환경변수
---------------------
  자주 쓰는 선택사항들은 KMPOPT 환경 변수에 지정해서 쓸 수 있습니다. 예로,
  
      SET KMPOPT=-vol 50
      KMP 비디오파일
   
  위 경우는 
     
      KMP -vol 50 비디오파일
      
  과 같습니다.
  
7. 제한 사항 또는 알려진 벌레
-----------------------------

  - 깨어진 파일의 경우 끝까지 재생이 안될 수 있습니다.

  - SNAP 오버레이는 지원되지 않습니다(제가 가지고 있지 않아서...ㅠ.ㅠ)
  
  - dive 모드일 때 OSD 와 자막의 테두리와 그림자가 제대로 표시되지 않습니다. 
    GpiBitBlt() 에 필요한 기능이 없습니다. WarpOverlay! 를 쓰기를 권장합니다. 

  - 자막 파일의 코드 페이지 변환을 지원하지 않습니다.
  
  - 지정한 이름과 크기를 가진 글꼴이 없을 경우, 시스템 기본 글꼴(WarpSans 
    Combined)이 사용됩니다. 하지만 이 경우에는 글꼴 크기를 조절할 수 없습니다.

  - 음파 모드에서 OSD 가 깜박 거립니다.
  
  - 잠시 멈춤 상태에서 갱신될 때 부하가 매우 큽니다.
  
8. 할 것들...
-------------

  - 설정 파일 지원
  
  - SNAP 오버레이 지원

  - 자막/OSD 를 이미지 비트맵에 직접 출력 기능 지원
  
  - 슬라이더바 지원
  
9. 판번호 보기
---------------

  - v0.2.1 ( 2007/03/04 )
    .코덱의 이미지 포맷이 YUV420P 일 때, 성능 향상
    .잠시 멈춤 상태에서 화면 갱신 안됨. 고침.
    .음파 모드에서 OSD 출력 안됨. 고침.
    .wo 모드에서 윈도의 보이는 부분이 달라지면, 화면이 깜박 거림. 고침
    .v0.2.0 에서 '-hidemouse' 선택사항의 기여자가 Dmitry Froloff 씨였음을 
     빠뜨렸음. 고침.
    
  - v0.2.0 ( 2007/02/26 )
    .각종 정보를 TitleBar 에 표시하지 않고, OSD 로 표시
    .framedrop 기능 지원
    .전체화면일 때 마우스 포인터 감추기 기능 지원( by Dmitry Froloff )
    .밝기/대비/채도/색상 조절 기능 지원( wo 에서만 )
    .텍스트 파일 자막 싱크 조절 기능 지원
    .WarpCenter 가 있을 때 전체화면으로 바꾸면, WarpCenter 가 사라지지 않음. 
     고침( by Dmitry Froloff )
    .비트맵 글꼴 선택이 안됨. 고침
    
  - v0.1.0 ( 2007/02/12 )
    .재생이 끝나면 자동 종료
    .텍스트 파일 자막 지원( SAMI 파일만 시험했음 )
    .글꼴 크기 바꾸기 지원
    .화면 비율 바꾸기 지원
    .재생 정보를 타이틀바에 표시
    .이동 기능 개선
    .소스 파일 모듈화
    
  - 시험판 ( 2007/02/02 )
    .FFplay 에서 SDL 을 사용하지 않도록 하고, 명칭을 KMP 로 변경.
    .볼륨 조절 기능 추가
    .오디오 켬/끔 기능 추가
    .몇 가지 글쇠 기능 조정
    .잠시 멈춤 기능 개선(잠시 멈춤 상태로 오랜 시간이 지나면 싱크가 맞지 않음)
      
10. 소스 컴파일 하기
--------------------
  제작 환경이 모두 갖추어졌다면, 몇 가지 설정을 바꾸실 필요가 있습니다.
  첫번째, config.mak 에서 다음 세 변수를 자신의 소스를 넣어둔 최상위 
디렉토리로 바꾸어야 합니다. 제 것은 이렇습니다.

    SRC_PATH="/lang/work/kmp/kmp-work"
    SRC_PATH_BARE=/lang/work/kmp/kmp-work
    BUILD_ROOT="/lang/work/kmp/kmp-work"
   
  두번째, 만일 FFplay 를 컴파일하고자 한다면 SDL 라이브러리가 필요합니다. 이 
라이브러리를 설치하시고 다음 두 변수를 적절히 바꾸어 주십시오. 제 것은 
이렇습니다( SDL12.lib 을 SDL.lib 으로 이름을 바꾸었음 ).

    SDL_LIBS=-L/usr/lib -lSDL     #SDL.lib 이 있는 곳   
    SDL_CFLAGS=-I/usr/include/SDL #SDL 헤더가 있는 곳
    
  gcc 는 SDL 헤더 파일과 충돌을 일으킵니다. 이에 대한 해결책은 다음 사이트를 
참조하세요.

    http://www.virtualbox.org/wiki/OS/2%20build%20instructions      
    
  굳이 FFplay 가 필요없을 경우에는, Makefile 파일에서 ffplay 와 관련된 부분을 
지우시면 됩니다. 

  끝으로, C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, LIBRARY_PATH 에 OS/2 ToolKit 
4.5 관련 설정을 해주십시오.

  이제 make 를 실행시키시면 됩니다.

11. 모듈 설명
-------------

  kmp.exe : K Movie Player 실행 파일입니다.

12. 참조한 프로젝트
-------------------

  FFplay      : 기본 플레이어
  WarpVision  : DART, yuv2rgb, subreader
  
13. 알아두기
------------

  KMP 는 Morphing 기법을 쓰기 때문에, 항상 텍스트 창이 열립니다. 그래서 파일 
연결 기능을 쓸 때, 항상 열리는 텍스트 창이 성가십니다. 이럴 때는 이렇게 
하시면 됩니다.

  일단, ToolKit 4.5 에 있는 MARKEXE.EXE 가 필요합니다. 준비가 되었으면 이렇게 
하십시오.

    copy kmp.exe kmppm.exe
    markexe windowapi kmppm.exe
  
  이제 kmppm.exe 를 파일 연결에 사용하시면 됩니다. 이렇게 하면, 텍스트 창이 
열리지 않고, KMP 가 실행이 됩니다. 물론 도움말이라든지 기타 정보는 화면에 
표시되지 않습니다. 파일 연결 기능에만 쓰십시오. ^^

14. 하고 싶은 말이 있을 때...
-----------------------------

  e-mail : komh@chollian.net
  ICQ    : 124861818
  MSN    : komh@chollian.net
  IRC    : lvzuufx, #os2 at HANIRC(irc.hanirc.org)
               
                                                       만든이 : 고명훈
               
