aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRagesh Radhakrishnan <ragesh.r@linaro.org>2013-12-03 10:13:43 +0530
committerRagesh Radhakrishnan <ragesh.r@linaro.org>2013-12-03 10:13:43 +0530
commit5160e41a10cc068ef5746751850b045f83d1a9c7 (patch)
tree9db4cff7acba704fd0a35d0721e3bdee11a945d4
parent2c21db4fa8b11c5a6ffe67b4d7566401d98a3abf (diff)
Android tile decode specific initialization
Changes are part of tile decode feature integration
-rw-r--r--jdapimin.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/jdapimin.c b/jdapimin.c
index cadb59f..091b432 100644
--- a/jdapimin.c
+++ b/jdapimin.c
@@ -54,6 +54,10 @@ jpeg_CreateDecompress (j_decompress_ptr cinfo, int version, size_t structsize)
}
cinfo->is_decompressor = TRUE;
+#ifdef ANDROID
+ cinfo->tile_decode = FALSE;
+#endif
+
/* Initialize a memory manager instance for this object */
jinit_memory_mgr((j_common_ptr) cinfo);
@@ -370,6 +374,9 @@ jpeg_finish_decompress (j_decompress_ptr cinfo)
{
if ((cinfo->global_state == DSTATE_SCANNING ||
cinfo->global_state == DSTATE_RAW_OK) && ! cinfo->buffered_image) {
+#ifdef ANDROID_TILE_BASED_DECODE
+ cinfo->output_scanline = cinfo->output_height;
+#endif
/* Terminate final pass of non-buffered mode */
if (cinfo->output_scanline < cinfo->output_height)
ERREXIT(cinfo, JERR_TOO_LITTLE_DATA);
@@ -383,10 +390,12 @@ jpeg_finish_decompress (j_decompress_ptr cinfo)
ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
}
/* Read until EOI */
+#ifndef ANDROID_TILE_BASED_DECODE
while (! cinfo->inputctl->eoi_reached) {
if ((*cinfo->inputctl->consume_input) (cinfo) == JPEG_SUSPENDED)
return FALSE; /* Suspend, come back later */
}
+#endif
/* Do final cleanup */
(*cinfo->src->term_source) (cinfo);
/* We can use jpeg_abort to release memory and reset global_state */