Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
999 diamond 1
;;================================================================================================;;
2
;;//// jpeg.inc //// (c) diamond, 2008-2009 //////////////////////////////////////////////////////;;
3
;;================================================================================================;;
4
;;                                                                                                ;;
5
;; This file is part of Common development libraries (Libs-Dev).                                  ;;
6
;;                                                                                                ;;
7
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
8
;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
9
;; of the License, or (at your option) any later version.                                         ;;
10
;;                                                                                                ;;
11
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without  ;;
12
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU  ;;
13
;; Lesser General Public License for more details.                                                ;;
14
;;                                                                                                ;;
15
;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev.  ;;
16
;; If not, see .                                                    ;;
17
;;                                                                                                ;;
18
;;================================================================================================;;
19
 
20
struct jpeg.work	; working area for JPEG handling
21
image			dd	?
22
; progressive JPEG?
23
progressive		db	?
24
; one component in the scan?
25
not_interleaved		db	?
26
; Adobe YCCK file?
27
adobe_ycck		db	?
28
			rb	1
29
; parameters for progressive scan
30
ScanStart		db	?
31
ScanEnd			db	?
32
ApproxPosLow		db	?
33
ApproxPosHigh		db	?
34
; restart interval
35
restart_interval	dd	?
36
decoded_MCUs		dd	?
37
 
38
_esp			dd	?
39
 
40
; components information, up to 4 components
41
; db ComponentIdentifier, db V, db H, db VFactor, db HFactor, db QuantizationTable
42
components		rb	4*6
43
max_v			db	?
44
max_h			db	?
45
cur_rst_marker		db	?
46
			db	?
47
huffman_bits		dd	?
48
block_width	dd	?
49
block_height	dd	?
50
block_delta_x	dd	?
51
block_delta_y	dd	?
52
cur_block_dx	dd	?
53
cur_block_dy	dd	?
54
x_num_blocks	dd	?
55
y_num_blocks	dd	?
56
delta_x		dd	?
57
delta_y		dd	?
58
pixel_size	dd	?
59
line_size	dd	?
60
cur_x		dd	?
61
cur_y		dd	?
62
max_x		dd	?
63
max_y		dd	?
64
cur_out_ptr	dd	?
65
dct_buffer	dd	?
66
dct_buffer_size	dd	?
67
;ns			dd	?
68
; +0: db V, db H, db VFactor, db HFactor, dd HIncrement, dd VIncrement,
69
; +12: dd QuantizationTable, dd DCTable, dd ACTable,
70
; +24: dd width/HFactor, dd width/HFactor-8k, dd HFactor+1-(width%HFactor),
71
; +36: dd height/VFactor, dd height/VFactor-8m, dd VFactor+1-(height%VFactor),
72
; +48: dw DCPrediction, db ?, db (0 for Y, 80h for Cb,Cr), dd ComponentOffset
73
cur_components		rb	4*56
74
cur_components_end	dd	?
75
; Fourier coefficients
76
dct_coeff		rw	64
77
; Temporary space for IDCT
78
idct_tmp_area		rd	64
79
; decoded block 8*8
80
decoded_data		rb	8*8
81
; up to 4 quantization tables
82
quant_tables		rd	4*64
83
quant_tables_defined	rb	4
84
 
85
; Huffman tables
86
dc_huffman_defined	rb	4
87
ac_huffman_defined	rb	4
88
; up to 4 DC Huffman tables
89
;dc_huffman		rd	4*256*2
90
; up to 4 AC Huffman tables
91
;ac_huffman		rd	4*256*2
92
max_hufftable_size = (256 + (9+128)*16)*2
93
dc_huffman		rb	4*max_hufftable_size
94
ac_huffman		rb	4*max_hufftable_size
95
 
96
ends