summaryrefslogtreecommitdiff
path: root/libavcodec/mjpegdec.h
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2008-12-10 21:26:00 +0000
committerLoren Merritt <lorenm@u.washington.edu>2008-12-10 21:26:00 +0000
commit5fac277602ebab5990c4d20342a4e55bb7c43b93 (patch)
tree4372e8a189c0a2c919bd5e6c8e012b533df59305 /libavcodec/mjpegdec.h
parent8153f14444519e0aec299678ad9bc4268d55acff (diff)
fix progressive jpeg:
support refinement passes remove intermediate clipping remove redundant idct Originally committed as revision 16044 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mjpegdec.h')
-rw-r--r--libavcodec/mjpegdec.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/mjpegdec.h b/libavcodec/mjpegdec.h
index c973a9c2a2..e90d864937 100644
--- a/libavcodec/mjpegdec.h
+++ b/libavcodec/mjpegdec.h
@@ -67,6 +67,7 @@ typedef struct MJpegDecodeContext {
int width, height;
int mb_width, mb_height;
int nb_components;
+ int block_stride[MAX_COMPONENTS];
int component_id[MAX_COMPONENTS];
int h_count[MAX_COMPONENTS]; /* horizontal and vertical count for each component */
int v_count[MAX_COMPONENTS];
@@ -83,6 +84,9 @@ typedef struct MJpegDecodeContext {
int linesize[MAX_COMPONENTS]; ///< linesize << interlaced
int8_t *qscale_table;
DECLARE_ALIGNED_16(DCTELEM, block[64]);
+ DCTELEM (*blocks[MAX_COMPONENTS])[64]; ///< intermediate sums (progressive mode)
+ uint8_t *last_nnz[MAX_COMPONENTS];
+ uint64_t coefs_finished[MAX_COMPONENTS]; ///< bitmask of which coefs have been completely decoded (progressive mode)
ScanTable scantable;
DSPContext dsp;