분류 전체보기 (269) 썸네일형 리스트형 색보정3 [HD] : ITU BT REC. 709 - bit depth : 8bit - 1920 1080 [UHD] : ITU BT REC.2020 - bit depth : 10bit : 계조가 촘촘해지므로써 밀도가 올라갔다. 이를 통해서 이마의 홀이나 블랙떡짐을 해결했다. - High Resolution ( 3840 *2160 ) - 초당 60fps - 이제 "원본:"을 "기록"하는데 까지는 인간의 눈이 볼 수 있는 색 범위를 따라왔다. - 그런데, Display가 아직 안되서 "복원"하는데 어려움이 있다. 아직은 중간단계인 P3 라는 색공간을 써서 대중화 하고 있다. 아직 까지는 10bit으로 하고 있지만, 표현하고 잇는 DR (black 부터 white까지의 범위)은 여전히; 같다.단지, 계조 (Gra.. 색보정2 컬러는 3가지 방식으로 표현이 가능하다. RGB (눈이 컬러를 인지하는 방식) - R과 G와 B는 각각 밝기이다.YCbCr (신경이 컬러를 전달하는 방식) - 색맹도 세상에 멸종하지 않은이유 : 색은 몰라도 밝기 신경체가 있기에, 형체를 구분한다. - 흑백 TV부터 발전 했고, 하위 호환성을 위해서 디지털 비디오의 색공간은 YCbCr을 사용한다. 흑백TV는 Y채널만 사용하면 된다. - 그리고 사람의 눈은 CbCr 색차보다 Y에 예민해서 CbCr을 압축하기에 데이터 압축 효과도 있다. - 카메라는 RGB 를 받아서 YCbCr 로 변경해서 저장해준다. 그리고 영상을 전달받은 디스플레이는 YCbCr을 RGB로 변환해서 빛을 만든다. HSL ( 대뇌가 컬러를 색을 인지하는 방식) - HVE : 뉴턴.. Extractor > Decoder > Surface assets.openFd(MEDIA_FILE).use { MediaExtractor().apply { setDataSource(it) } } //0. 파일을 열어서 Extractor 에게 FileDescription을 셋팅해준다. val extractor = assets.openFd(MEDIA_FILE).use { MediaExtractor().apply { setDataSource(it) } } /* (tip) * setDataSource(String path); * setDataSource(MediaSource mediaSource, mime); // getTrack * setDataSource(FileDescriptor fd); */ //1. Extractor 에서 비디오, 오디오 트랙의 위치를 받.. 안드로이드 디코딩 mediaCodec decoding은. 파일을 stream으로 열어준다음, frame으로 바꿔주는 과정이다. 이frame 은 surface에 보여줄 수 있다. mediaExtractor 로 mediaFormat을 뽑는다. mediaFormat으로 mediaCodec을 만든다. mediaCodec은 mediaDecoder 만들떄 쓴다. mediaCodec.configure( mediaFormat, surface ) mediaCodec.start() tip) media codec 이 buffer를 몇개 사용할지 정함. ByteBuffer[] inputBuffers = codec.getInputBuffers(); ByteBuffer[] outputBuffers = codec.getOutputBuffers(); tip) decod.. Casting 종류와 특징 static_cast reinterpret_cast dynamic_cast const_cast 스마트 포인터가 나온 이유 포인터가 사용하기 어렵고 실수를 많이 하니까 이것을 고치기 위한 시도가 많이 있었다. JAVA에서 포인터를 제거했다. 대신 성능을 많이 잃고 가비지 컬렉터로 가면서 문제가 있었다. C++은 오토포인터라는 것을 만들어서 해보았으나 , 테스트가 부족했다. C++ 이 후 엄청난 3개의 스마트포인터가 발생했다. 그중 하나는 무조건 써야하고 RAII법칙에도 맞는다. 두가지는 서로 엉켜있는데, 이는 프로그래머가 메모리 관리를 포기하는 부분도 있고, 언젠간 지워지겠지 라고 생각하는것 자체가 c++프로그래머특성상 약간 꺼림찍 하다. [Unique Pointer] Thread, Task, MessageQueue , looper, Handler, dispatcher https://kimss1502.github.io/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C/Looper,-MessageQueue,-Handler/ [Learn OpenGL 번역] 2-8 시작하기 - 좌표시스템 좌표시스템 Vertex(정점)들을 Transfrom(변환)하는 것은 수학적으로 Transform Matrix( 변환 행렬 ) 을 사용하면 된다고 배웠습니다. OpenGL에서는 각 Vertex Shader ( 프로그램 입니다) 가 실행 된 후 우리가 그릴 모든 Vertex(정점) 들의 각 x,y,z좌표는 (-1.0 ~ 1.0) 사이의 정규화된 좌표로 표시되어야 합니다. 이 범위 밖의 좌표들은 보이지 않게 됩니다. 보통 우리가 직접 구성한 자유로운 범위의 좌표를 지정하고 Vertex Shader에서 이 좌표들을 NDC좌표 (-1.0,1.0) 으로 변환합니다. VertexShader에서 나온 NDC 좌표들은 Rasterizer에게 보내집니다. 화면위의 2D 좌표/ 픽셀로 변환됩니다. #NDC좌표로은 4번의 T.. 이전 1 2 3 4 ··· 34 다음