2015. 7. 9. 16:21
설정은 따로 여기서 다루지 않는다.
- 기본 프로그램 파일
- Singleton.hpp
- Object.hpp
- MainGameManager.hpp
- Winmain.hpp
- MainGameManager.hpp
- Winmain.cpp
- Winmainpartial.cpp
위의 파일들이 우리가 만들 기본 틀이 될 것이다.
네임 스페이스는 내 이름을 따서 jm으로 했다
- Singleton.hpp
- Object.hpp
- MainGameManager.hpp
- Winmain.hpp
- Winmain.cpp
- Winmainpartial.cpp
- MainGameManager.cpp
2015. 7. 9. 15:57
- 출처
http://aslike.egloos.com/3082696
- 컨테이너(Container) : 파일 그 자체 / ex) 유형(Type) : avi, Quicktime
- 스트림(Stream) : 데이터 원소(element)의 연속
- 프레임(Frame) : 데이터 원소 하나
- 패킷(Packet) : 응용프로그램에서 사용 가능할만큼의 raw 프레임으로 디코딩 가능한 데이터의 비트를 포함하는 데이터의 조각
- 먹싱(Muxing) : 오디오와 비디오를 하나의 파일로 합침
- 디먹싱(Demuxing) : 하나의 파일을 오디오와 비디오로 분리
- 컨테이너라 부르는 이유 : 그 파일 안에 파일 정보, 코덱 정보, 시간, 비트레이트 등 모든 정보를 담고 있는 박스이기 때문
- 한 패킷은 보통 한 프레임으로 묶임
- 패킷 : 데이터 전송 상으로 주로 쓰이기 때문에 패킷이라는 용어를 사용
- 스트리밍 기초 흐름도
- 동영상 파일로부터 비디오 스트림을 연다
- 비디오 스트림으로부터 패킷을 연다
- 패킷을 디코딩하여 프레임을 얻는다
- 만약 프레임이 완전하지 않으면 다음 프레임을 얻는다
- 프레임을 가지고 무엇을 한다
- 다음 패킷을 읽어들인다
2015. 7. 9. 13:22
avformat.h
입력 스트림을 열고 헤더를 읽는다.
avformat_close_input( )를 사용하여 꼭 닫아야 한다
- 파라미터
- ps : avformat_alloc_context( )으로 할당한 AVFormatContext의 포인터
- filename : 열기를 할 스트림의 파일 이름
- fmt : 구체적인 입력 포멧
- options : AVFormatContext로 채워진 dictionary와 demuxer-private 옵션
2.
int | avformat_find_stream_info (AVFormatContext *ic, |
avformat_open_input( ) 보다 더 많은 정보를 얻는다파일을 조금 더 읽어서 구체적인 정보를 AVFormatContext에 저장한다.
3.
void | av_dump_format (AVFormatContext *ic, int index, const char *url, int is_output) |
입력, 출력 형식과 같은 상세한 정보를 출력한다.
비트레이트, 스트림, 컨테이너, 프로그램, 메타데이타 등등
4.
AVCodec * | avcodec_find_decoder (enum AVCodecID id) |
codecContext를 복사한다
6.
int | avcodec_open2 (AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options) |
7.
2015. 7. 8. 09:52
보기 메뉴 - 속성 관리자(property manager) - 새 프로젝트 속성 시트 추가 메뉴 - 속성 시트 이름 입력 - 추가
아래에서부터 위로 차례대로 적용되어 원하는 곳에 추가하면 된다
2015. 7. 8. 09:39
d3d9.lib
d3dx10d.lib
d3dx9d.lib
dxerr.lib
dxguid.lib
winmm.lib
comctl32.lib