hvirtual/quicktime/fastjpg.c File Reference

#include "fastjpg.h"
#include "fastjpgmacro.h"

Include dependency graph for fastjpg.c:

Go to the source code of this file.

Defines

#define M_SOF0   0xc0
#define M_SOF1   0xc1
#define M_SOF2   0xc2
#define M_SOF3   0xc3
#define M_SOF5   0xc5
#define M_SOF6   0xc6
#define M_SOF7   0xc7
#define M_JPG   0xc8
#define M_SOF9   0xc9
#define M_SOF10   0xca
#define M_SOF11   0xcb
#define M_SOF13   0xcd
#define M_SOF14   0xce
#define M_SOF15   0xcf
#define M_DHT   0xc4
#define M_DAC   0xcc
#define M_RST0   0xd0
#define M_RST1   0xd1
#define M_RST2   0xd2
#define M_RST3   0xd3
#define M_RST4   0xd4
#define M_RST5   0xd5
#define M_RST6   0xd6
#define M_RST7   0xd7
#define M_SOI   0xd8
#define M_EOI   0xd9
#define M_SOS   0xda
#define M_DQT   0xdb
#define M_DNL   0xdc
#define M_DRI   0xdd
#define M_DHP   0xde
#define M_EXP   0xdf
#define M_APP0   0xe0
#define M_APP1   0xe1
#define M_APP2   0xe2
#define M_APP3   0xe3
#define M_APP4   0xe4
#define M_APP5   0xe5
#define M_APP6   0xe6
#define M_APP7   0xe7
#define M_APP8   0xe8
#define M_APP9   0xe9
#define M_APP10   0xea
#define M_APP11   0xeb
#define M_APP12   0xec
#define M_APP13   0xed
#define M_APP14   0xee
#define M_APP15   0xef
#define M_JPG0   0xf0
#define M_JPG13   0xfd
#define M_COM   0xfe
#define M_TEM   0x01
#define M_ERROR   0x100

Functions

int quicktime_fastjpg_skip (quicktime_jpeg_t *jpeg_info, long len)
int quicktime_fastjpg_readbyte (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readint16 (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readint32 (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_eof (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_init_limittable (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_init_yuv (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_init (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_deleteMCU (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_delete (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_resethuffman (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_buildhuffman (quicktime_jpeg_t *jpeg_info, quicktime_jpeg_huffman *htable, unsigned char *hbits, unsigned char *hvals)
int quicktime_fastjpg_buildstdhuffman (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_buildstdDQT (quicktime_jpeg_t *jpeg_info, long scale)
int quicktime_fastjpg_get_marker (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_skip_marker (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_check_for_marker (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readSOI (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readSOF (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readSOS (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readDHT (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readDQT (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readAPPX (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readDRI (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_readEOI (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_read_markers (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_initMCU (quicktime_jpeg_t *jpeg_info, int width, int height, int full_flag)
int quicktime_fastjpg_skip_to_next_rst (quicktime_jpeg_t *jpeg_info)
int quicktime_fastjpg_huffparse (quicktime_jpeg_t *jpeg_info, quicktime_jpeg_comp_header *comp, int16_t *dct_buf, unsigned long *qtab, unsigned char *OBuf)
int quicktime_fastjpg_MCU411111_to_RGB (QUICKTIME_MCU_ARGS)
int quicktime_fastjpg_decode_411111 (quicktime_jpeg_t *jpeg_info, unsigned char **output_rows, int jpeg_width, int jpeg_height, int interlaced, int row_offset, int frame_width, int frame_height)
int quicktime_fastjpg_MCU221111_to_RGB (QUICKTIME_MCU_ARGS)
int quicktime_fastjpg_decode_221111 (quicktime_jpeg_t *jpeg_info, unsigned char **output_rows, int jpeg_width, int jpeg_height, int interlaced, int row_offset, int frame_width, int frame_height)
int quicktime_fastjpg_double_mcu (unsigned char *ptr, int mcus)
int quicktime_fastjpg_MCU211111_to_RGB (QUICKTIME_MCU_ARGS)
int quicktime_fastjpg_decode_211111 (quicktime_jpeg_t *jpeg_info, unsigned char **output_rows, int jpeg_width, int jpeg_height, int interlaced, int row_offset, int frame_width, int frame_height)
int quicktime_fastjpg_MCU111111_to_RGB (QUICKTIME_MCU_ARGS)
int quicktime_fastjpg_decode_111111 (quicktime_jpeg_t *jpeg_info, unsigned char **output_rows, int jpeg_width, int jpeg_height, int interlaced, int row_offset, int frame_width, int frame_height, int grey)
int quicktime_fastjpg_decode (unsigned char *chunk, long chunk_size, unsigned char **output_rows, quicktime_jpeg_t *jpeg_info, int frame_width, int frame_height, int interlaced)

Variables

static long JJ_ZAG [DCTSIZE2+16]
static char std_luminance_quant_tbl [64]
static char std_chrominance_quant_tbl [64]


Define Documentation

#define M_APP0   0xe0

#define M_APP1   0xe1

#define M_APP10   0xea

Definition at line 49 of file fastjpg.c.

#define M_APP11   0xeb

Definition at line 50 of file fastjpg.c.

#define M_APP12   0xec

Definition at line 51 of file fastjpg.c.

#define M_APP13   0xed

Definition at line 52 of file fastjpg.c.

#define M_APP14   0xee

Definition at line 53 of file fastjpg.c.

#define M_APP15   0xef

Definition at line 54 of file fastjpg.c.

#define M_APP2   0xe2

Definition at line 41 of file fastjpg.c.

#define M_APP3   0xe3

Definition at line 42 of file fastjpg.c.

#define M_APP4   0xe4

Definition at line 43 of file fastjpg.c.

#define M_APP5   0xe5

Definition at line 44 of file fastjpg.c.

#define M_APP6   0xe6

Definition at line 45 of file fastjpg.c.

#define M_APP7   0xe7

Definition at line 46 of file fastjpg.c.

#define M_APP8   0xe8

Definition at line 47 of file fastjpg.c.

#define M_APP9   0xe9

Definition at line 48 of file fastjpg.c.

#define M_COM   0xfe

Definition at line 57 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_DAC   0xcc

Definition at line 22 of file fastjpg.c.

#define M_DHP   0xde

Definition at line 37 of file fastjpg.c.

#define M_DHT   0xc4

#define M_DNL   0xdc

Definition at line 35 of file fastjpg.c.

#define M_DQT   0xdb

#define M_DRI   0xdd

Definition at line 36 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_EOI   0xd9

#define M_ERROR   0x100

Definition at line 59 of file fastjpg.c.

#define M_EXP   0xdf

Definition at line 38 of file fastjpg.c.

#define M_JPG   0xc8

Definition at line 14 of file fastjpg.c.

#define M_JPG0   0xf0

Definition at line 55 of file fastjpg.c.

#define M_JPG13   0xfd

Definition at line 56 of file fastjpg.c.

#define M_RST0   0xd0

Definition at line 23 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_RST1   0xd1

Definition at line 24 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_RST2   0xd2

Definition at line 25 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_RST3   0xd3

Definition at line 26 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_RST4   0xd4

Definition at line 27 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_RST5   0xd5

Definition at line 28 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_RST6   0xd6

Definition at line 29 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_RST7   0xd7

Definition at line 30 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF0   0xc0

#define M_SOF1   0xc1

Definition at line 8 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF10   0xca

Definition at line 16 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF11   0xcb

Definition at line 17 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF13   0xcd

Definition at line 18 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF14   0xce

Definition at line 19 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF15   0xcf

Definition at line 20 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF2   0xc2

Definition at line 9 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF3   0xc3

Definition at line 10 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF5   0xc5

Definition at line 11 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF6   0xc6

Definition at line 12 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF7   0xc7

Definition at line 13 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOF9   0xc9

Definition at line 15 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().

#define M_SOI   0xd8

#define M_SOS   0xda

#define M_TEM   0x01

Definition at line 58 of file fastjpg.c.

Referenced by quicktime_fastjpg_read_markers().


Function Documentation

int quicktime_fastjpg_buildhuffman ( quicktime_jpeg_t jpeg_info,
quicktime_jpeg_huffman htable,
unsigned char *  hbits,
unsigned char *  hvals 
)

int quicktime_fastjpg_buildstdDQT ( quicktime_jpeg_t jpeg_info,
long  scale 
)

int quicktime_fastjpg_buildstdhuffman ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_check_for_marker ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_decode ( unsigned char *  chunk,
long  chunk_size,
unsigned char **  output_rows,
quicktime_jpeg_t jpeg_info,
int  frame_width,
int  frame_height,
int  interlaced 
)

int quicktime_fastjpg_decode_111111 ( quicktime_jpeg_t jpeg_info,
unsigned char **  output_rows,
int  jpeg_width,
int  jpeg_height,
int  interlaced,
int  row_offset,
int  frame_width,
int  frame_height,
int  grey 
)

int quicktime_fastjpg_decode_211111 ( quicktime_jpeg_t jpeg_info,
unsigned char **  output_rows,
int  jpeg_width,
int  jpeg_height,
int  interlaced,
int  row_offset,
int  frame_width,
int  frame_height 
)

int quicktime_fastjpg_decode_221111 ( quicktime_jpeg_t jpeg_info,
unsigned char **  output_rows,
int  jpeg_width,
int  jpeg_height,
int  interlaced,
int  row_offset,
int  frame_width,
int  frame_height 
)

int quicktime_fastjpg_decode_411111 ( quicktime_jpeg_t jpeg_info,
unsigned char **  output_rows,
int  jpeg_width,
int  jpeg_height,
int  interlaced,
int  row_offset,
int  frame_width,
int  frame_height 
)

int quicktime_fastjpg_delete ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_deleteMCU ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_double_mcu ( unsigned char *  ptr,
int  mcus 
)

Definition at line 1361 of file fastjpg.c.

Referenced by quicktime_fastjpg_decode_211111().

int quicktime_fastjpg_eof ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_get_marker ( quicktime_jpeg_t jpeg_info  ) 

Definition at line 543 of file fastjpg.c.

References c, quicktime_fastjpg_eof(), and quicktime_fastjpg_readbyte().

Referenced by quicktime_fastjpg_read_markers(), and quicktime_fastjpg_readEOI().

Here is the call graph for this function:

int quicktime_fastjpg_huffparse ( quicktime_jpeg_t jpeg_info,
quicktime_jpeg_comp_header comp,
int16_t *  dct_buf,
unsigned long *  qtab,
unsigned char *  OBuf 
)

int quicktime_fastjpg_init ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_init_limittable ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_init_yuv ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_initMCU ( quicktime_jpeg_t jpeg_info,
int  width,
int  height,
int  full_flag 
)

int quicktime_fastjpg_MCU111111_to_RGB ( QUICKTIME_MCU_ARGS   ) 

int quicktime_fastjpg_MCU211111_to_RGB ( QUICKTIME_MCU_ARGS   ) 

int quicktime_fastjpg_MCU221111_to_RGB ( QUICKTIME_MCU_ARGS   ) 

int quicktime_fastjpg_MCU411111_to_RGB ( QUICKTIME_MCU_ARGS   ) 

int quicktime_fastjpg_read_markers ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_readAPPX ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_readbyte ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_readDHT ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_readDQT ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_readDRI ( quicktime_jpeg_t jpeg_info  ) 

Definition at line 860 of file fastjpg.c.

References quicktime_jpeg_t::jpg_rst_interval, and quicktime_fastjpg_readint16().

Referenced by quicktime_fastjpg_read_markers().

Here is the call graph for this function:

int quicktime_fastjpg_readEOI ( quicktime_jpeg_t jpeg_info  ) 

Definition at line 869 of file fastjpg.c.

References quicktime_jpeg_t::jpg_saw_EOI, M_EOI, quicktime_jpeg_t::marker, and quicktime_fastjpg_get_marker().

Referenced by quicktime_fastjpg_decode().

Here is the call graph for this function:

int quicktime_fastjpg_readint16 ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_readint32 ( quicktime_jpeg_t jpeg_info  ) 

Definition at line 130 of file fastjpg.c.

References quicktime_jpeg_t::chunk, and quicktime_jpeg_t::chunk_size.

Referenced by quicktime_fastjpg_readAPPX().

int quicktime_fastjpg_readSOF ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_readSOI ( quicktime_jpeg_t jpeg_info  ) 

Definition at line 607 of file fastjpg.c.

References quicktime_jpeg_t::jpg_rst_interval.

Referenced by quicktime_fastjpg_read_markers().

int quicktime_fastjpg_readSOS ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_resethuffman ( quicktime_jpeg_t jpeg_info  ) 

int quicktime_fastjpg_skip ( quicktime_jpeg_t jpeg_info,
long  len 
)

Definition at line 97 of file fastjpg.c.

References quicktime_jpeg_t::chunk, and quicktime_jpeg_t::chunk_size.

Referenced by quicktime_fastjpg_readAPPX().

int quicktime_fastjpg_skip_marker ( quicktime_jpeg_t jpeg_info  ) 

Definition at line 574 of file fastjpg.c.

References quicktime_fastjpg_eof(), quicktime_fastjpg_readbyte(), and quicktime_fastjpg_readint16().

Referenced by quicktime_fastjpg_read_markers().

Here is the call graph for this function:

int quicktime_fastjpg_skip_to_next_rst ( quicktime_jpeg_t jpeg_info  ) 


Variable Documentation

long JJ_ZAG[DCTSIZE2+16] [static]

Initial value:

 
{
  0,  1,  8, 16,  9,  2,  3, 10,
 17, 24, 32, 25, 18, 11,  4,  5,
 12, 19, 26, 33, 40, 48, 41, 34,
 27, 20, 13,  6,  7, 14, 21, 28,
 35, 42, 49, 56, 57, 50, 43, 36,
 29, 22, 15, 23, 30, 37, 44, 51,
 58, 59, 52, 45, 38, 31, 39, 46,
 53, 60, 61, 54, 47, 55, 62, 63,
  0,  0,  0,  0,  0,  0,  0,  0, 
  0,  0,  0,  0,  0,  0,  0,  0
}

Definition at line 61 of file fastjpg.c.

Referenced by quicktime_fastjpg_huffparse(), and quicktime_fastjpg_readDQT().

char std_chrominance_quant_tbl[64] [static]

Initial value:

 {
  17,  18,  18,  24,  21,  24,  47,  26,
  26,  47,  99,  66,  56,  66,  99,  99,
  99,  99,  99,  99,  99,  99,  99,  99,
  99,  99,  99,  99,  99,  99,  99,  99,
  99,  99,  99,  99,  99,  99,  99,  99,
  99,  99,  99,  99,  99,  99,  99,  99,
  99,  99,  99,  99,  99,  99,  99,  99,
  99,  99,  99,  99,  99,  99,  99,  99
}

Definition at line 86 of file fastjpg.c.

Referenced by quicktime_fastjpg_buildstdDQT().

char std_luminance_quant_tbl[64] [static]

Initial value:

 {
  16,  11,  12,  14,  12,  10,  16,  14,
  13,  14,  18,  17,  16,  19,  24,  40,
  26,  24,  22,  22,  24,  49,  35,  37,
  29,  40,  58,  51,  61,  60,  57,  51,
  56,  55,  64,  72,  92,  78,  64,  68,
  87,  69,  55,  56,  80, 109,  81,  87,
  95,  98, 103, 104, 103,  62,  77, 113,
 121, 112, 100, 120,  92, 101, 103,  99
}

Definition at line 75 of file fastjpg.c.

Referenced by quicktime_fastjpg_buildstdDQT().


Generated on Mon Apr 28 14:02:48 2008 for Cinelerra by  doxygen 1.5.5