초보의 아웅다웅 설계하기/C언어

JPG 파일 포맷의 구조

로망와니 2018. 1. 26. 13:41

JPG 파일 포맷의 구조

 

시작 포맷

시작에서는 FF D8로  시작

FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 00 00 00 00 00 FF DB 00 43 00 0C 08 09 0B 09 08 0C

 

종료 포맷

종료에는 FF D9로 종료

10 FF 00 61 71 40 87 D4 32 5D 47 1F 53 40 8A B2 6A 5F DC 4F CE AA C9 7B 33 7F 16 3E 94 08 FF D9

 

 

 

 

상세 설명 페이지

http://cometkorea.tistory.com/56


http://sunshowers.tistory.com/69

 



*** Marker: SOF0 (Baseline DCT) (xFFC0) ***


Raw Data 

FF C0 00 11 08 01 62 02 76 03 01 11 00 02 11 01 03 11 01


  OFFSET: 0x0000009E

  Frame header length = 17(0x11)

  Precision = 8

  Number of Lines = 354(0x0162)

  Samples per Line = 630(0x0276)

  Image Size = 630 x 354

  Raw Image Orientation = Landscape

  Number of Img components = 3

    Component[1]: ID=0x01, Samp Fac=0x11 (Subsamp 1 x 1), Quant Tbl Sel=0x00 (Lum: Y)

    Component[2]: ID=0x02, Samp Fac=0x11 (Subsamp 1 x 1), Quant Tbl Sel=0x01 (Chrom: Cb)

    Component[3]: ID=0x03, Samp Fac=0x11 (Subsamp 1 x 1), Quant Tbl Sel=0x01 (Chrom: Cr)



 

JPEG 영상 전달 소스 예제)

 

   if( (JpegBuffer[0]==0xFF)&&(JpegBuffer[1]==0xD8) )
   {
     while ( !( (JpegBuffer[JpegBufferLen - JpegDataCnt-2]==0xFF) && (JpegBuffer[JpegBufferLen-JpegDataCnt-1]==0xD9) ) ) 
    {  
     JpegDataCnt++;
    }    
     for(i = 0; i < (JpegBufferLen - JpegDataCnt); i++) //sizeof(JpegBuffer)
    {
     USART_Transmit(JpegBuffer[i]); //영상전달을 UART로 전달
    }
   }

 

영상은 항상 느끼는 거지만 렌즈의 성능 부분도 중요하지만 빛, 촛점거리, 렌즈 기술, 렌즈 색 등이 정말 중요한 것 같습니다.

어렵네요.