123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /* Copyright (C) 2003 artofcode LLC. All rights reserved.
-
- This software is provided AS-IS with no warranty, either express or
- implied.
-
- This software is distributed under license and may not be copied,
- modified or distributed except as expressly authorized under the terms
- of the license contained in the file LICENSE in this distribution.
-
- For more information about licensing, please refer to
- http://www.ghostscript.com/licensing/. For information on
- commercial licensing, go to http://www.artifex.com/licensing/ or
- contact Artifex Software, Inc., 101 Lucas Valley Road #110,
- San Rafael, CA 94903, U.S.A., +1(415)492-9861.
- */
- /* $Id: zfjpx.c,v 1.2 2004/08/11 14:33:02 stefan Exp $ */
- /* this is the ps interpreter interface to the jbig2decode filter
- used for (1bpp) scanned image compression. PDF only specifies
- a decoder filter, and we don't currently implement anything else */
- #include "memory_.h"
- #include "ghost.h"
- #include "oper.h"
- #include "gsstruct.h"
- #include "gstypes.h"
- #include "ialloc.h"
- #include "idict.h"
- #include "store.h"
- #include "stream.h"
- #include "strimpl.h"
- #include "ifilter.h"
- #include "sjpx.h"
- /* <source> /JPXDecode <file> */
- /* <source> <dict> /JPXDecode <file> */
- private int
- z_jpx_decode(i_ctx_t * i_ctx_p)
- {
- os_ptr op = osp;
- ref *sop = NULL;
- stream_jpxd_state state;
- state.jpx_memory = imemory->non_gc_memory;
- if (r_has_type(op, t_dictionary)) {
- check_dict_read(*op);
- if ( dict_find_string(op, "Colorspace", &sop) > 0) {
- dlprintf("found Colorspace parameter (NYI)\n");
- }
- }
-
- /* we pass npop=0, since we've no arguments left to consume */
- /* we pass 0 instead of the usual rspace(sop) which will allocate storage
- for filter state from the same memory pool as the stream it's coding.
- this causes no trouble because we maintain no pointers */
- return filter_read(i_ctx_p, 0, &s_jpxd_template,
- (stream_state *) & state, 0);
- }
- /* match the above routine to the corresponding filter name
- this is how our 'private' routines get called externally */
- const op_def zfjpx_op_defs[] = {
- op_def_begin_filter(),
- {"2JPXDecode", z_jpx_decode},
- op_def_end(0)
- };
|