본문 바로가기

내가 작업한 것들/소프트웨어

(64)
FLTK RTSP player ver 0.4.1.73 이 프로그램은 RTSP 서버에 연결 하여 영상과 비디오를 시청할 수 있는 간단한 프로그램 으로서, 매우 마개조 된 FLTK과 ffmpeg 등을 썩어 탄생 시킨 것 입니다. (느하하하 ...) 이 버젼은 DirectDraw 를 쓰지 않고 Windows GDI 와 Windows Audio Mapper 를 사용하는 버젼으로서, 아쉽게도 성능이 그리 어마하진 않으며, 단순히 서버 영상이 전달 되는지 확인 정도로 쓰심이 좋을 듯 합니다. 이 버젼에 추가된 사항은 다음과 같습니다.컴파일러 변경 & 이로 인해 사용되는 pthread dll 이 변경 됨. 재생 중 윈도우 크기 조정 가능. 전체 화면을 지원 (F5 키로 조정)1 키를 누를 경우 원래 이미지 크기로 조정, 단 원본 영상 이미지가 모니터 보다 작으면 모니터..
FLTK RTSP player ver 0.3.9.60 이번 버젼은 오디오 응답성을 제외 하고 비디오 자원 낭비를 줄이고 (이전 버젼은 너무 빨리 그려서 이전 버퍼까지 그리는 바람에 떨림처럼 보이는 문제가 있었습니다) 덤으로 CPU 낭비도 줄였습니다. 이미 그린 프레임은 그리지 않으며, 이로 인해 pause->resume 시 약간의 딜레이가 있을 수 있습니다. 현재 지원은 사실상 들어오는 비디오 크기 모든 사이즈를 지원 하며 (720p, 1080p, 또는 2K, 4K 등등 ..) 이는 전적으로 CPU 성능에 렌더링 프레임 수가 차이가 나게 됩니다. Intel Core i5-4460 기준으로 1080p 60Hz 는 30+ frames/sec 로 그릴 수 있습니다. CPU 사용률은 20% 정도를 사용하고, 720p 는 역시 30+ frames/sec 로 그립니다..
FLTK를 이용한 RTSP stream player (Win32) 이 프로그램은 현재 제작중인 엔진을 테스트 하기 위해 만든 프로그램이나, 일반적인 RTSP 환경에서도 쓸 수 있기 때문에 공개 합니다. 다만 이 프로그램은 PC 성능에 따라 rendering performance 가 차이가 날 수 있음을 먼저 밝히며, 오디오 기능이 빠져 있음을 알리는 바 입니다. 접속은 프로그램 실행시 바로 선택 할 수 있으며 기본으로 rtsp protocl 을 모두 지정해서 써 주셔야 합니다. 기본으로 테스트를 위해 만든 프로그램이다 보니 주소 오류에 대해서는 처리가 안되어 있음을 인지 해야 합니다. RTSP 서버에 붙게 되면 위 화면처럼 해당 스트림 크기로 자동으로 창이 조절 되면서 실행 됩니다. 아쉽게도 별도로 윈도우 크기를 조절할 수 있도록 만들어 지지는 않았습니다. 이 프로그램..
FLTK 1.3.3 TS(Thread Safe) Project 현재 GUI 시장에서 사실 QT 와 같은 덩치가 큰 GUI 도 있겠지만, 간단한/가벼운 걸 만드는데 과연 저 무거운걸 써야 하나? 라는 고민을 해야 하는 사람에게 FLTK 는 꽤 좋은 선택일 것 입니다. 그러나, FLTK 는 구조상 Thread 상에서 GUI 갱신을 무자비 하게 되면 알수 없는 Lock up 에 걸리는 문제가 생깁니다. (이 부분은 Fl.cxx 내에 구현된 wait/flush 관련 부분의 고질적인 문제로 파악이 되고, 특히 Windows 의 경우 HDC 와 HWND 의 무결성 검사 부분이 많이 누락되어 있습니다. (TTF 처리 부분 역시) 그래서 개인적으로 FLTK 1.3.3 을 기준으로 일부 코드를 수정한 TS 모델을 진행 중 입니다. 그래서 이름이 FLTK-1.3.3-TS 이며, 이는..
Tiny DICOM 라이브러리 소개 지금 소개 하는 이 라이브러리는 제 gitHub 에 공개된 저장소의 소스코드 입니다. 의료용 으로 사용중인 DICOM tag 를 읽고 쓸 수 있도록 만든 작고 가벼운 라이브러리로서 저장소 복제를 통해 새로운 버젼을 만들어 개선을 하거나 용도에 맞게 변경이 가능합니다. 소스코드는 현재 Windows용 gcc 인 MinGW 와 Code::Blocks 에 맞춰져 있는 상태 입니다만 Linux (Embedded 포함) 이나 다른 platfrom 에 사용이 가능합니다. gitHub 는 버젼관리 도구로서 HG 를 사용 하고 있으나, 그냥 소스코드를 받기 위해서 ZIP 으로 압축 후 받을 수 있는 기능을 기본으로 지원 해 주고 있으므로 간단한 소개로 ZIP 다운로드를 통한 빌드를 소개 하고자 합니다. 소스 다운로드 ..
Renesas(Hitachi) H8SX1520R Firmware Writer (Windows32,64) 이전에 만든 르네사스(히타치) H8SX1520R MCU 의 펌웨어를 써 주는 프로그램 입니다. 리버스 엔지니어링으로 만든 부분이 있으므로 시리얼 통신 속도가 조금 느린점은 단점이 될 수 있으나, FDT 와 같은 무거운 프로그램을 직접 설치 하지 않아도 되는 장점이 있으며, 알아서 복잡한 통신을 모두 처리 해 주도록 만들어 졌습니다. 지원되는 파일은 모토롤라 S-Record 로 만들어진 MOT 파일만 받습니다. MOT 내에 Write 영역, 크기 등이 Mapping 되어 있기 때문에 필요한 부분만 쓸 수 있도록 되어 있으므로, 실제 써질 영역이 적다면 빨리 끝나도록 되어 있습니다. MCU 자체에서 펌웨어를 지우는 부분이 오래 걸리는 시간적인 제약 사항과, Write 후 결과를 확인 하는 부분이 FDT 보다..
SHCC - Syntax Highlighter Code Converter TiStory 에 Syntax Highlighter 스크립트를 이용해서 코드를 올리가 점점 어려워 지고 있습니다. 아마 TiStory 자체의 CSS 나 내부 코드에 따른 정책 변화 등에 의한 여러가지 요건이 문제가 되는 듯 합니다만 .. 일일히 많은 코드를 일일히 변환 하기도 어렵고 해서 간단히 프로그램을 만들어 보았습니다. 이름은 SHCC 로서, 소스파일이나 클립보드에 있는 내용을 탐색기에서 끌어다 놓거나, Ctrl+V 로 붙여 넣기 하면 자동으로 여러 형태로 만들어 줍니다. 로 완성 되는 형태나, 로 처리 되는 방법 두가지 모두 지원하며, TiStory 에서 주의 해야 하는 < 를 < 로 바꿔 주도록 한 부분도 추가 되었습니다. 그래서 아래 코드가 ... #include #include #includ..
MinGW 4.4.1 이상에서 GDI+ 사용시 컴파일 오류 날 시 이전에 올린 MinGW 에서 GDI+ 사용하기로 제공한 소스를 ...MinGW 4.4.1 또는 그 이상의 버젼의 컴파일러에서 GDI+ 를 쓰기 위해 기존 코드를 이용할 경우 다음 두 오류가 발생 합니다. GdiplusStringFormat.h:243: error: extra qualification 'Gdiplus::StringFormat::' on member 'GetTrimming'GdiplusMetafile.h:350: error: extra qualification 'Gdiplus::Metafile::' on member 'EmfToWmfBits' 이는 다음과 같이 해결 될 수 있는데, 좀 더 요긴 한 처리가 필요하긴 합니다. 먼저, GdiplusStringFormat.h 에서 (242~243 라..