본 블로그에 폰트를 이것저것 적용해보다가 디자이너 분께 적절한 폰트에 대해 질문을 드릴 기회가 있었다. 세리프 폰트는 모바일 환경에서 특히 눈을 더 피곤하게 만들 것 같아 산 세리프 쪽으로 얘기를 했는데... 요즘 디자인 쪽 폰트 양대 산맥이 Pretendard랑 Gmartket Sans라는 답변을 들었다. Pretendard는 본문에 특히 좋은 것 같다고 판단해서 블로그 본문에는 Pretendard를 적용했다. 본문을 제외한 사이드 바 등등에는 Gmarket Sans를 적용했다. 두 폰트 모두 산 세리프지만 스타일 자체가 서로 많이 달라 한 눈에 구분도 되고, 여러모로 만족스러움.
몇달 전 USB 3.0 허브를 구매해서 사용하고 있었다. 유전원 USB 허브이며, 장비 옆의 케이블 커넥터까지 누가 봐도 USB3.0 허브다. 물론 여기 꽂을 수 있도록 동봉된 마이크로 USB 타입 B 케이블 역시 누가 봐도 USB3.0임을 확신할 수 있다. 하지만, 유튜브 뻘짓연구소에 충격적인 영상이 얼마 전 올라왔었다. 아니, 모양이라도 다르던가... 아예 대표 이미지로 나온 바로 그 디자인이다... 그래서 직접 까봤다. 찬란하게(?) 박혀있는 SL2.1s의 위엄... 그리고 12.000MHZ... 이름만 봐도 알 수 있듯이 저건 USB2.0 컨트롤러 칩이다. 그리고, 12.000MHz는 이 칩에서 사용되는 오실레이터... 이렇게 찍은 사진을 마지막으로 쓰레기통에 처넣었다... 다음에 지른 건 USB..
열심히 살아온(응?) 나에게 선물을 하나 주기로 했다. 아이폰14프로. 두 주쯤 지났을 무렵... 마냥 귀여운 꼬꼬마인줄만 알았던 짱이가 인생의 중요한 선택을 훌륭하게 치뤄냈다. 선물을 고르라고 했더니 아이폰14프로를 사달란다. 2주 쯤 지났더니 이번엔 린이가 또 커다란 시험을 성공적으로 끝냈다. 원하는 색은 아이폰14에 있다면서 그거 사달랜다... 포장 뜯으면서 자연스럽게 나오는 탄식 소리... 이제 먹을 건 라면 뿐이야!
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. PC 뱅킹의 주적은 PC 뱅킹 프로그램이다. PC 뱅킹을 하고 나면 컴퓨터가 미친 듯이 느려지기 때문이다. 키보드 보안 프로그램을 필두로 컴퓨터를 느려지게 만드는 악의 무리들이 너무나 많다. 전통의 명가(?) nProte**부터 컴퓨터 발목잡기의 거목 안* 온라인 시큐**, 그 외에도 수많은 잡 구라들… KISA에서 I사 보안모듈 프로그램에 문제가 있다고 발표할 정도로 완성도가 엉망인 경우도 있다. 보안 취약점을 갖고있는 보안 프로그램이라니… 무슨 열림교회 닫힘도 아니고… 더군다나 이런 프로그램들은 몰래 설치가 되는 것도 아니고 아예 (강제로) 동의를 받아 설치된다. 마치 건물 철거 강제 집행하면서 동의서 서명당하는 기분이다 그래서 간단히 만들었다..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 잊혀질만 하면 업데이트하던 한/글 파일 압축기를 이번에도 정말 오랜만에(5년만에... ㄷㄷㄷ) 업데이트했다. 우리나라 특성상 이 프로그램을 완전히 벗어나는 건 쉽지 않은데다, 잊을만하면 이걸로 큰 작업할 일이 생겨서 업데이트. 멀티코어를 제대로 적용해서 속도를 올려보려는 시도를 해봤지만, 프로그램 구조상 너무 많이 뜯어고쳐야 돼서 포기하고... 전체적으로 동작 속도를 향상시키고, 안정성을 보강하는 많은 업데이트를 적용했다. 이전 버전들과 동일하게, 예전 한/글 파일(*.hwp)는 압축하지 못하고, 한/글 표준문서(*.hwpx)와 HWPML 2.x(*.hml)만 압축할 수 있다. 굳이 예전 포맷의 데이터를 사용해야 하는 사용자라면 한/글 표준문서(h..
DCEU(라고 하지만 이걸 Universe라 부르기는 민망한 그 세계관)의 새로운 영화 [블랙 아담]이 공개되었다. 사실, 지금까지 DCEU가 걸어온 길은 그야말로 혼란의 도가니탕이었다. [맨 오브 스틸]의 그럭저럭 가능성을 보여주는 시작에서, [느검마사] 아니, [마사닦이] 아니, [배트맨 대 수퍼맨]에서 보여준 DC 최고의 양대산맥의 목숨을 건 어설픈 싸움... 개봉한 지 5년만에 리부트 아닌 리부트를 단행당한 [자살닦이] 아니, [수어사이드 스쿼드]... 코믹스의 주요 캐릭터를 똥싸개로 만들어버린 짓을 나름의 PC질이라고 했던 [버즈 오브 프레이], 주둥이로만 사랑을 외치면서 성범죄자 서사를 한 몸에 담아낸 [원더우먼]... 감독이 교체되고 또 원래 감독이 돌아오면서 결국 두 번이나 전혀 다른 영화..
1986년 전 세계를 뒤흔들었던 영화 [탑건]에서 구스(중위 / LTJG Nick 'Goose' Bradshaw)는 매버릭과 함께 어떤 노래를 부른다. Great Balls of Fire! 이 노래는 이후 36년만에 대충 만든 속편에서 아들인 루스터(대위 / Lieutenant Bradley "Rooster" Bradshaw)가 다시 부른다. Great Balls of Fire! 이 노래는 다름 아닌 로큰롤의 대명사이자, 똘끼로도 유명한 제리 리 루이스(Jerry Lee Leiws)의 이다. 더 킬러(The Killer)라는 별명의 제리 리 루이스는 강렬한 퍼포먼스로도, 극적인 삶으로도 유명한 싱어송라이터였다. 제리 리 루이스가 2022년 10월 28일, 향년 87세로 돌아가셨다는 소식이 들려왔다. 제리..
흔히 터키라 부르는 그 나라... 우리가 형제의 나라라고 종종 부르는 그 나라의 공식 명칭은 Türkiye Cumhuriyeti이다. 튀르키예(Türkiye)는 튀르크(Türk)인의 땅을 의미한다고 하고, Türk는 용감하다는 뜻이라는데... 영어 표기는 터키(Turkey)로 되어있고, 이건 다들 알다시피 칠면조, 겁쟁이 등의 뜻을 갖고 있다. 튀르키예인들도 이 점을 싫어해왔었고, 대외적 표기로 Türkiye를 사용하기 위해 빌드업해오고 있었다. 우선, 2020년에는 터키 수출입 총회(TİM)에서 Made In Türkiye을 사용하겠다고 발표했다. 그리고, 2022년 5월 31일에 튀르키예는 UN에 공식 대외 명칭을 Türkiye로 변경해달라고 요청하여, 6월 2일에 승인되었다. 하지만, 아직 갈 길이..
일주일의 첫날은 과연 어느 요일일까? 사람들은 통상적으로 토요일과 일요일을 합쳐서 주말이라 하면서도 일요일이 첫날이라 흔히들 얘기한다. 윈도우나 구글 등에서 달력을 띄워보면 일요일이 첫날로 표시된 경우가 대부분이라 이런 생각에 힘을 실어준다. 그런데, 놀랍게도 ISO에서는 ISO 8601를 통해 이러한 부분까지 표준화를 해두었다. 역주(calendar week)를 월요일부터 시작하는 7일로 정의해둔 것이다. 역일(calendar days)에 대해서도 같은 내용을 좀 더 상세하게 기술해두었다. 그렇다면, 우리나라는 어떨까? 당연히 ISO를 준용하여 표준을 정해두었다. e-나라 표준인증에서 ISO8601로 검색해보면 역시 아래와 같은 동일한 내용을 확인할 수 있다. 역일 역시 마찬가지다. 그렇다면 여기서 드..
몇년 전 프린터를 새로 샀고, 마침 대학원 졸업증명서를 뽑아야 했으며 게다가 그게 주말이었는데, 인쇄를 못 하는 상황이 벌어졌다. 내가 산 프린터가 왜 '허용된 프린터 목록'에 없지? 메일로 수정 요청을 보냈긴 했지만, 하루만에 뚝딱 해결될 수 있는 상황이 아니라 꽤 스트레스를 받았었다. 그 뿐만 아니라 온라인 민원 사이트에서 내 정보를 다운받으면서 이런 의문이 종종 들었었다. 왜 내 정보를 내가 다운받는데, 한 번씩밖에 못 받는가? 물론, 이 "정보"엔 등본, 초본을 비롯한 상세한 개인정보가 있어 충분한 보안대책이 필요하다는 점을 모르는 바는 아니다. 하지만, 어쨌거나 기술적으로 궁금한 건 또 다른 문제다. 게다가 이 관점에서 더 따라가보면 프린터에서 사용되는 PCL이나 PS같은 언어들이 진화한 형태가..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오류를 수정하고 다양한 성능 개선이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2022.10.29: 4.22.09 r4445 공개 - Scintilla를 5.3.1로 업데이트 (관련 링크) - 상태표시줄 전면 개정 (관련 링크) - 파일 → 백업 저장을 별도 메뉴로 구현 (관련 링크) - 윈도우 11 시스템 통합 기능 개선 (관련 링크) - 지정 문구 강조 기능 제거 (상태표시줄 표시 방법 변경에 따른 조치) - Alt+마우스 휠을 페이지 단위 스크롤로 재할당
이전 글에서 간략하게만 적었는데 바이오스의 버그 등으로 인해 윈도우의 최대 절전 모드가 동작하지 않는 경우가 있다. 이런 경우에 단순하게 명령창의 명령만으로 절전 모드에 진입시키는 것이 아예 불가능하다. shutdown.exe 이건 rundll.exe powrprof.dll 이건 무엇 하나 기대대로 동작하지 않는다. powrprof.dll을 활용해서 적절한 인자를 추가하여 최대 절전 모드 대신 절전 모드로 진입시키려 해도 제대로 되지 않는다. shutdown.exe /h /f rundll32.exe powrprof.dll SetSuspendState 정확한 메커니즘은 확인할 수 없었지만, 명령행에서 최대 절전 모드 대신 굳이 절전 모드로 진입하는 건 불가능해 보인다. 하지만, 아주 약간의 코드 만으로도 ..
메인보드로 ASRock의 B550M Steel Legend를 사용하고 있다. 이 보드는 USB 포트에 역전류 방지 회로가 장착되어 있어 언제나 안정적으로 사용할 수 있다. 그런데, 어느 날부터 절전모드가 정상적으로 동작하지 않는 상황이 벌어지고 있었다. 해외 포럼들에서도 이 문제는 많은 이슈가 되어서 여러가지 글들이 많이 올라오고 있었고, 기본적인 해결책도 나와있었다. 시스템 설정에서 최대 절전 모드를 끄는 것. 이렇게 하면 윈도우 자체는 큰 문제 없이 사용할 수 있으나, 본질적인 문제는 해결되지 않는다. 예를 들면, shutdown.exe 명령으로 절전 모드로 진입할 수 없다. shutdown.exe /h /f 이는 아래 명령을 통해서도 마찬가지다. rundll32.exe powrprof.dll Set..
주어진 수보다 크거나 같은 최소의 2의 제곱수를 찾아야 될 경우가 있다. 대표적으로 FFT를 기반으로 하는 신호처리의 준비단계. 적절한 개수를 지정해놓고 DFT를 할 수도 있지만, 역시 미친듯한 속도를 내려면 2의 제곱수가 짱짱맨이다. 사실, 요즘 컴퓨팅 환경에서는 이를 위한 가장 빠른 방법[...] 따윈 알아볼 의미가 크게는 없다. x86/x64 환경이라면 어셈블리 단위에서 LZCNT(Count Leading Zeros) 명령을 지원하기 때문이다. Visual C++라면 __lzcnt64() 등의 함수로, GCC라면 __builtin_ia32_lzcnt_u64() 등의 함수로 사용할 수 있다. 하지만, 세상은 언제나 그렇게 만만하진 않은 법. 파이썬이나 매틀랩 같은 언어에서는 이런 계열의 함수를 지원하..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오류를 수정하고 다양한 성능 개선이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2022.7.24: 4.22.07 r4298 공개 - CSS 속성 목록을 April 2022 내용으로 업데이트 (관련 링크) - PowerShell lexer 업데이트 및 API 목록을 7.2로 업데이트 (관련 링크) - WebAssembly 키워드 업데이트 (관련 링크) - PHP의 API 목록을 8.2로 업데이트 (관련 링크) - Scintilla를 5.2.4로 업데이트 (관련 링크) - 인쇄 기능의 오동작 수정 (관련 링크) - 모니터 이동시 ..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 이제 DSLR 이외의 수많은 장비들이 카메라의 자리를 대신하고 있다. 이러다보니, 여행을 가서 찍은 사진을 모아보면 의외로 정리가 쉽지 않다. 온라인/모바일 환경에선 정렬을 Exif 촬영일자 순으로 하는 경우가 많지만, PC에선 파일명 순인 경우가 일반적이다. 그러다보니 촬영시간 순서는 알기 힘들고 카메라 기종순으로 파일을 보게 되는 경우가 대부분이다. FPO는 HEIF/JPEG의 Exif 정보 중 촬영일자 정보를 읽어 파일명을 수정하고, 최대한 파일을 줄여주는 프로그램이다. mozjpeg를 활용해서 파일 크기를 조금이라도 더 줄이고, 추가로 resample을 적용해서 사진 크기도 축소시켜준다. 또한, 사진과 더불어 함께 저장된 PNG, WebP,..
C++의 자료 구조 중에 map이라는 것이 있다. key와 value를 한 쌍으로 저장하며, key의 중복을 허용하지 않고 정렬하여 저장하는 자료구조이다. 아는 사람은 다 아는 내용이니 map에 대한 설명은 여기까지만 하고... MFC에서는 이러한 경우를 처리하기 위해 CMap이라는 클래스를 만들어두었다. 또한 STL에서는 map과 unordered_map을 구현하여 유사한 기능을 수행하게 해두었다. 여기서 Windows 환경에서 어느 쪽의 구현이 더 빠른가 하는 점이 궁금해졌다. 그런데, 구글링을 해보니 이미 거의 답이 나와있었다. Does MFC CMap have a good performance compared to std::unordered_map or std::map MFC의 CMap 쪽이 근소..
유니코드에서는 한글은 물론이고, 다양한 언어의 다양한 기능을 폭넓게 제공하고 있다. 그리고, 언제나 그렇듯 종종 과유불급 상황이 벌어지곤 한다. 한글과 같은 비영어권 문자는 물론이고, 심지어 영어권 문자 영역에서도 이런 현상을 볼 수 있다. 유니코드에서 U+0085는 NEL(Next Line)으로 정의되어 있다. 이게 뭐냐면... EBCDIC 코드에서 기원한 New Line으로... 그냥 CR/LF와 비슷한 것이다... 그리고, U+00A0은 NBSP(No-Break Space)로 정의되어 있다. SAMI 자막에서 흔히 볼 수 있는 가 바로 이 문자를 의미한다. 적어도 자막으로 한정해서 보면, 사실 이 문자들은 쓸 일이 없다. NBSP가 SAMI에서 사용되는 건 SAMI가 HTML에 기반했기 때문이지 N..
정리 차원에서 간단히 기록... 유닉스/리눅스와 윈도우는 근본적으로 다른 점들이 꽤 있다. 그 중 하나가 시간을 계산하는 기준. 유닉스/리눅스의 Epoch time은 1970년 1월 1일 00:00:00GMT부터 누적된 시간(초)이다. 윈도우 환경에서도 이 Epoch time을 읽는 함수가 있다. 밀리초 이하의 단위를 사용하지 않고, 단순하게 초 단위에서만 계산하려면 아래와 같이 사용하면 된다. #include #include #ifdef _MSC_VER #include #elif __GNUC__ #include #include #endif int main() { #ifdef _MSC_VER time_t ltime; time(<ime); unsigned long long ullEpoch = (unsi..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. SRT 자막 관리 도우미 SRTier를 5.06으로 업데이트했다. 사소하지만 다양한 UI의 오류들을 제거하고, 인터페이스를 튜닝했다. 시간값을 인식하는 기능을 좀 더 똑똑하게 수정했고, 화면비율이 100%가 아닐 때에도 어색하지 않도록 조정했다. 더불어, SAMI 자막 중 같은 괴랄한 자막도 인식하도록 수정했다. 이 프로그램의 주요 기능은 아래와 같다. - SRT 교정: SRT 파일을 읽은 뒤 오류를 수정한 뒤 다시 기록하거나 시간을 조정함 - 자막 변환: SAMI/SSA/ASS 자막을 SRT로 변환, SRT 자막을 SAMI로 변환 - 텍스트 추출: SRT 자막에서 텍스트만 추출 - 텍스트 병합: 기존의 SRT 자막의 시간 코드에 맞춰 텍스트 파일..
SRT나 ASS 등 다양한 자막 포맷이 있지만, 여전히 우리나라에서 널리 사용되는 자막 포맷은 SAMI이다. 태생적인 기능의 한계나 형식의 불명확함 등의 약점에도 불구하고, 워낙에 널리 사용되어 온 포맷이다. The Speaker SAMI 0000 text Le narrateur Texte SAMI 0000 SAMI 1000 text Texte SAMI 1000 SAMI 2000 text Texte SAMI 2000 SAMI 3000 text Texte SAMI 3000 SAMI 포맷은 이제 나온지 25년이 되어가는(1998년 6월 25일에 첫 공개) 포맷이다. MS가 공개한 이 포맷은 아래에서 볼 수 있듯이 HTML에 여러모로 기반을 두었다. 이러다보니, 규격에는 명시되어 있지 않지만, 코드 페이지로 ..
day 0 여차저차한 사정으로 지방 모처에 일자리를 구해 일을 하고 있었다. 그런데, 막상 내려와보니 사람들도 내 맘 같지 않거니와 문화생활이 거의 이루어지지 못했다. 그러다 마침 집 가까운 곳에 하고 싶던 분야의 개발자 자리가 있어 이직하기로 했다. 기존 직장에서의 업무를 서둘러 정리하고 인계서를 정성들여 작성한 뒤 부랴부랴 주말에 올라왔는데... 올라오는 길에 몸이 이상하게 피곤했다. 막판에 너무 무리해서 그런가하는 생각을 하며 겨우 집에 도착해서 코로나 자가진단 키트로 검사를 해봤다. 결과는 음성. day1 푹 자고 나면 나아질 거란 기대와 함께 숙면을 취했는데, 다음날 아침도 그닥 나아지는 것 같지 않아 또 검사를 했다. 결과를 보고 뭔가 크게 잘못됐다는 생각이 들어 KF94 마스크를 쓰고 부랴부..
정규식은 문자열을 비교 처리할 때 사용되는 강력한 표현법이다. Perl, JavaScript 등의 언어에서는 대단히 높은 활용도를 보여주고 있다. C++ 언어의 경우 정규식을 처음부터 지원한 건 아니었고, C++11부터 지원하기 시작했다. 표준에 포함되긴 했지만, C++ 언어의 문법 구조상 정규식을 사용하는데는 불편함이 있다. 예컨데, 아래의 정규식은 메일 주소를 확인하기 위한 꽤 흔한 식이다. var regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i; 하지만, C++에서 이런 정규식을 사용하려면 식을 문자열로 써야 하고, 이에 따라 \는 한 번이 아니라 두 번 적어야 한다. 마지막에 ..
몇년 전 글에서도 적었지만, 제임스 본드 테마의 작곡가는 몬티 노먼이다. 비록 이 테마로 유명해지신 분은 편곡자인 존 배리지만, 작곡가는 엄연히 작곡가. 첫 007 영화 [살인번호] 제작시 제작진은 작곡을 몬티 노먼에게 맡기고, 노먼은 자신이 작곡했던 뮤지컬 의 을 주제곡으로 써먹기로 한다. 이후 이 음악의 편곡과 연주를 존 배리 오케스트라에게 맡긴 것이 우리가 아는 그 제임스 본드 테마. 존 배리는 2011년 1월에 별세하셨는데, 몬티 노먼도 얼마 전(2022년 7월 11일) 돌아가셨다. 제임스 본드 테마의 두 주역이 모두 돌아가시는 걸 보니, 그야말로 영화의 한 세대가 지나가는 게 다시 한 번 느껴진다. 삼가 고인의 명복을 빕니다.
파이에서 구동되는 OpenDDS 어플은 OpenDDS 본체와 동일하게 크로스 컴파일 해야 한다. 물론, 관련 라이브러리들을 죄다 파이에 올리면 컴파일 못 할 이유는 없지만, 효율이 너무 떨어진다. OpenDDS를 사용하는 어플의 빌드를 위해서는 MPC 또는 CMake를 사용할 수 있다. 난 CMake를 선택했다. sudo apt install cmake 통상적인 내용 외에 cmake 스크립트에 추가적으로 적어줘야 할 내용들은 아래와 같다. - 컴파일러(크로스 컴파일러) - 컴파일 옵션에 -Wno-pasbi 추가 - OpenDDS 관련 디렉토리 - OpenDDS 라이브러리 추가해야 할 라이브러리 등은 Developer's Guide에 잘 나와있기는 개뿔... 그냥 열심히 잘 찾아야 한다. 이걸 찾는 건 그..
라즈베리 파이에서 OpenDDS를 구동하는 방법은 OpenDDS 홈페이지에 잘 설명돼있다. 간단히 말하면 리눅스 환경에서 크로스 컴파일해서 파이에 올리는 것 예전같으면 리눅스 머신을 따로 만들거나, 가상머신 위에 리눅스를 올렸겠지만... 우리에겐 WSL이 있습니다, 휴먼. 파워셸에서 아래와 같이 입력하기만 하면 리눅스를 설치할 수 있다. wsl --install 리눅스 명령창이 뜨고, 계정 정보를 입력하면 일단 설치는 종료됨. OpenDDS 홈페이지의 설명에 따르면 우분투 20.04.3 LTS x86_64 환경에서 테스트되었다고 한다. 설치된 버전은 20.04 LTS이고, 20.04.4 LTS로 업데이트했으니 별 문제 없을 듯. 다음 할 일은 당연한 얘기지만, 개발 환경을 설치하는 것. sudo apt ..
윈도우 PC와 라즈베리 파이 간에 OpenDDS로 통신을 해보기로 했다. 일단 라즈베리 파이에 Raspberry Pi OS를 설치하는 것으로 시작. 64비트 OS를 설치할 수도 있지만, 딱히 필요하진 않아 그냥 32비트 버전을 설치. 라즈베리 파이는 물론 멀쩡한 컴퓨터니까 키보드, 마우스, 모니터 연결해서 그냥 사용해도 된다. 하지만, 공간이 부족하니 모두가 하는대로 원격으로 연결하기로 했다. 당연히 선택한 솔루션은 RDP(원격 데스크톱 연결). 그런데, 왠지 연결에 계속 실패한다. 구글링 해보면 동일한 현상에 대한 얘긴 많은데, 무엇 하나 적용 가능한 해결책이 없었다. 결국은 무난한 솔루션인 VNC으로 최종 결정 TigerVNC 등은 연결이 정상적으로 되지 않아, VNC Viewer로 연결하는 것으로 ..
프로그램을 하나 만들면서 최초 실행부터 난수를 생성하도록 할 일이 생겼다. 당연히도 수많은 강좌에서 사용하라고 강요(?)하는 방식으로 시작했다. srand((unsigned)(time(NULL))); int r = rand(); 물론 프로그램은 정상적으로(?) 동작했고, 특별한 문제는 없었다. 단지 생성된 난수가 너무 규칙적이란 부분 하나만 빼면... C/C++언어에 포함된 rand() 함수가 그다지 품질도 좋지 않고, 속도도 빠르지 않다는 얘긴 많았다. MT(메르센 트위스터)나 WELL을 사용하란 글도 쉽게 찾을 수 있다. 그래도 개인 용도로 사용할 때는 간단하고 편하게 쓸 수 있는 rand()를 사용해왔다. 낌새가 이상해서 VS2022에서 프로그램 하나를 간단히 만들어 돌려봤다. #include #i..
0. 들어가기 앞서 현재 사실상의 동영상 표준 코덱인 H.264와 HEVC는 유료인데다, 라이센스도 복잡하다. 개인이 사용할 때야 아무 문제 없지만, 상용 제품을 만들게 되면 여기부턴 쉽지 않다. 이에 따라 차기 코덱을 자유 라이센스 환경에서 오픈소스로 만들자는 움직임이 있었고, 그래서 만들어진 코덱이 AV1이다. 인텔, 애플, 모질라, 넷플릭스 등등 수많은 회사들이 모여 AOM을 결성하였으며, 스펙은 '18년 6월 25일에 1.0.0이 발표되었다. 그간 libaom을 포함한 인코더들이 있었지만, 인코딩 시간이 너무 오래 걸려 대중화에는 무리가 있어왔다. 그러다, 며칠 전('22.4.22) 인텔이 SVT-AV1 인코더 1.0을 정식으로 공개하였다. 이에 따라 SVT-AV1의 인코딩 성능과 영상 품질이 어..