개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 소스
  • C++
  • 개발
  • error
  • 코드
  • 설명
  • 방법
  • Java
  • 우분투
  • ubuntu
  • 에러
  • Example
  • CODE
  • 라즈베리 파이
  • GIT
  • Python
  • install
  • C
  • 예제
  • 설치

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

카테고리 없음

[graphic] libjpeg-turbo/libjpeg-turbo

2016. 6. 21. 18:35

1. Reference

git hub - https://github.com/libjpeg-turbo/libjpeg-turbo

main page - http://libjpeg-turbo.virtualgl.org/


Describe blog(other person) - http://hanburn.tistory.com/139


example1 - http://stackoverflow.com/questions/9094691/examples-or-tutorials-of-using-libjpeg-turbos-turbojpeg

example2 - http://pingus.seul.org/~grumbel/tmp/libjpeg-test.c



2. libjpge-turbo 란 무엇인가

SIMD instruction을 이용한 JPEG image codec.


 SIMD instruction (MMX, SSE2, NEON, AltiVec)이란?

한국말로 'SIMD 명령어' 라고 하며 Single Instruction Multiple Data의 약자로

병렬 프로세서의 한 종류이다. 즉, 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식이다.


벡터 프로세서에서 많이 사용되는 방식으로, 비디오 게임 콘솔이나 그래픽 카드와 같은 멀티미니더 분야에 자주 사용된다. CPU에서는 인텔의 MMX, 스트리밍 SIMD 확장(SSE)과 AMD의 3D나우! 등의 기술에서 이를 적용했다.



SIMD(wiki) - https://ko.wikipedia.org/wiki/SIMD

MMX(wiki) - https://ko.wikipedia.org/wiki/SIMD

SSE2(wiki) - https://ko.wikipedia.org/wiki/SSE2

 

백터 프로세서(wiki, 참고) - https://ko.wikipedia.org/wiki/%EB%B2%A1%ED%84%B0_%ED%94%84%EB%A1%9C%EC%84%B8%EC%84%9C


크로마 서브샘플링(Chroma subsampling)이란

명도 정보에 비해 색차 정보를 줄여서 영상을 인코딩하는 방식을 말한다.


이론으로는, 원추 세보 600만개, 간상세포 9천만개로 빛보다 색의 구별이 둔감하다 따라서 색감의 정보를 감축시키는 것.


밝기 정보는 루미 컴포넌트라고 하고, 색상에서 명도를 제외한 정보를 색차 컴포넌트라고 한다.



크로마 서브샘플링(wiki) - https://ko.wikipedia.org/wiki/%ED%81%AC%EB%A1%9C%EB%A7%88_%EC%84%9C%EB%B8%8C%EC%83%98%ED%94%8C%EB%A7%81



3. Tutorial


git hub의 sample code - https://github.com/erlyvideo/jpeg/blob/master/c_src/jpeg.c



4. How to do

1) jepg Library on Read file


Step 1. Allocate and initialize JPEG decompression object

Step 2. Specify data source

Step 3. Read file parameters with jpeg_read_header()

Step 4. Set parameters for decompression

Step 5. Start decompressor

Step 6. While (scan lines remain to be read) jpeg_read_scanlines(...)

Step 7. Finish decompression

Step 8. Release JPEG decompression object



$ gcc example.c -ljpeg -o out

$ ./out [file path]



5. Trouble shooting



1) #include "jpeglib.h"에서 size_t, FILE등이 없다고 에러가 나온다.

ex) /usr/include/jpeglib.h:1001:29: error: unknown type name ‘FILE’


- 해결방법 : jpeglib.h보다 stdio.h를 먼저 선언해준다. 

(ref : https://github.com/libjpeg-turbo/libjpeg-turbo/issues/17)


2) 


저작자표시 (새창열림)
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바