35 #define XMS_SUPPORTED 1 38 #define EMS_SUPPORTED 1 42 #define JPEG_INTERNALS 53 #ifdef NEED_FAR_POINTERS 58 #define far_malloc(x) farmalloc(x) 59 #define far_free(x) farfree(x) 63 #define far_malloc(x) _fmalloc(x) 64 #define far_free(x) _ffree(x) 69 #define far_malloc(x) malloc(x) 70 #define far_free(x) free(x) 74 #ifdef DONT_USE_B_MODE 75 #define READ_BINARY "r" 77 #define READ_BINARY "rb" 80 #ifndef USE_MSDOS_MEMMGR 81 You forgot to
define USE_MSDOS_MEMMGR
in jconfig.h.
84 #if MAX_ALLOC_CHUNK >= 65535L 111 unsigned short count));
113 unsigned short count));
116 extern short far jems_available
JPP((
void));
147 if (
ptr[-1] !=
'\\' &&
ptr[-1] !=
'/')
203 #ifndef DEFAULT_MAX_MEM 204 #define DEFAULT_MAX_MEM 300000L 244 void FAR * buffer_address,
245 long file_offset,
long byte_count)
247 if (jdos_seek(
info->handle.file_handle, file_offset))
248 ERREXIT(cinfo, JERR_TFILE_SEEK);
250 if (byte_count > 65535
L)
251 ERREXIT(cinfo, JERR_BAD_ALLOC_CHUNK);
252 if (jdos_read(
info->handle.file_handle, buffer_address,
253 (
unsigned short) byte_count))
254 ERREXIT(cinfo, JERR_TFILE_READ);
260 void FAR * buffer_address,
261 long file_offset,
long byte_count)
263 if (jdos_seek(
info->handle.file_handle, file_offset))
264 ERREXIT(cinfo, JERR_TFILE_SEEK);
266 if (byte_count > 65535
L)
267 ERREXIT(cinfo, JERR_BAD_ALLOC_CHUNK);
268 if (jdos_write(
info->handle.file_handle, buffer_address,
269 (
unsigned short) byte_count))
270 ERREXIT(cinfo, JERR_TFILE_WRITE);
277 jdos_close(
info->handle.file_handle);
329 #define ODD(X) (((X) & 1L) != 0) 334 void FAR * buffer_address,
335 long file_offset,
long byte_count)
345 spec.
length = byte_count & (~ 1
L);
349 spec.
dst.
ptr = buffer_address;
351 ctx.ds_si = (
void far *) & spec;
357 if (
ODD(byte_count)) {
359 file_offset + byte_count - 1
L, 2
L);
360 ((
char FAR *) buffer_address)[byte_count - 1
L] = endbuffer[0];
367 void FAR * buffer_address,
368 long file_offset,
long byte_count)
378 spec.
length = byte_count & (~ 1
L);
380 spec.
src.
ptr = buffer_address;
384 ctx.ds_si = (
void far *) & spec;
388 ERREXIT(cinfo, JERR_XMS_WRITE);
390 if (
ODD(byte_count)) {
392 file_offset + byte_count - 1
L, 2
L);
393 endbuffer[0] = ((
char FAR *) buffer_address)[byte_count - 1
L];
395 file_offset + byte_count - 1
L, 2
L);
405 ctx.dx =
info->handle.xms_handle;
408 TRACEMS1(cinfo, 1, JTRC_XMS_CLOSE,
info->handle.xms_handle);
427 if (
ctx.ax < (
unsigned short) 0x0200)
438 info->handle.xms_handle =
ctx.dx;
472 #define FIELD_AT(spec,offset,type) (*((type *) &(spec.bytes[offset]))) 473 #define SRC_TYPE(spec) FIELD_AT(spec,4,char) 474 #define SRC_HANDLE(spec) FIELD_AT(spec,5,EMSH) 475 #define SRC_OFFSET(spec) FIELD_AT(spec,7,unsigned short) 476 #define SRC_PAGE(spec) FIELD_AT(spec,9,unsigned short) 477 #define SRC_PTR(spec) FIELD_AT(spec,7,EMSPTR) 478 #define DST_TYPE(spec) FIELD_AT(spec,11,char) 479 #define DST_HANDLE(spec) FIELD_AT(spec,12,EMSH) 480 #define DST_OFFSET(spec) FIELD_AT(spec,14,unsigned short) 481 #define DST_PAGE(spec) FIELD_AT(spec,16,unsigned short) 482 #define DST_PTR(spec) FIELD_AT(spec,14,EMSPTR) 484 #define EMSPAGESIZE 16384L 486 #define HIBYTE(W) (((W) >> 8) & 0xFF) 487 #define LOBYTE(W) ((W) & 0xFF) 492 void FAR * buffer_address,
493 long file_offset,
long byte_count)
505 DST_PTR(spec) = buffer_address;
507 ctx.ds_si = (
void far *) & spec;
517 void FAR * buffer_address,
518 long file_offset,
long byte_count)
526 SRC_PTR(spec) = buffer_address;
532 ctx.ds_si = (
void far *) & spec;
536 ERREXIT(cinfo, JERR_EMS_WRITE);
546 ctx.dx =
info->handle.ems_handle;
548 TRACEMS1(cinfo, 1, JTRC_EMS_CLOSE,
info->handle.ems_handle);
560 if (! jems_available())
583 info->handle.ems_handle =
ctx.dx;
613 ERREXITS(cinfo, JERR_TFILE_CREATE,
"");
jpeg_get_small(j_common_ptr cinfo, size_t sizeofobject)
long long max_bytes_needed
GLuint GLuint GLsizei count
write_xms_store(j_common_ptr cinfo, backing_store_ptr info, void FAR *buffer_address, long file_offset, long byte_count)
open_ems_store(j_common_ptr cinfo, backing_store_ptr info, long total_bytes_needed)
#define sprintf(buf, format,...)
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED LPLOOKUPSERVICE_COMPLETION_ROUTINE HANDLE * handle
static unsigned char bytes[4]
write_ems_store(j_common_ptr cinfo, backing_store_ptr info, void FAR *buffer_address, long file_offset, long byte_count)
read_file_store(j_common_ptr cinfo, backing_store_ptr info, void FAR *buffer_address, long file_offset, long byte_count)
ecx edi ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl edx movl TEMP incl eax andl eax ecx incl ebx eax jnz xchgl ecx incl TEMP esp ecx subl ebx pushl ecx ecx edx ecx ecx mm0 mm4 mm0 mm4 mm1 mm5 mm1 mm5 mm2 mm6 mm2 mm6 mm3 mm7 mm3 mm7 paddd mm0 paddd mm4 paddd mm0 paddd mm4 paddd mm0 paddd mm4 movq mm1 movq mm5 mm1 mm5 paddd mm0 paddd mm4 mm0 mm4 packssdw mm0 packssdw mm4 mm1 punpckldq mm0 pand mm1 pand mm0 por mm1 movq edi esi edx edi decl ecx jnz popl ecx ecx jecxz mm0 mm0 mm1 mm1 mm2 mm2 mm3 mm3 paddd mm0 paddd mm0 paddd mm0 movq mm1 mm1 paddd mm0 mm0 packssdw mm0 movd eax movw ax
#define TRACEMS1(cinfo, lvl, code, p1)
read_ems_store(j_common_ptr cinfo, backing_store_ptr info, void FAR *buffer_address, long file_offset, long byte_count)
jpeg_mem_init(j_common_ptr cinfo)
backing_store_ptr long total_bytes_needed
#define TRACEMSS(cinfo, lvl, code, str)
You forgot to define USE_MSDOS_MEMMGR in jconfig h typedef void far * XMSDRIVER
close_file_store(j_common_ptr cinfo, backing_store_ptr info)
close_ems_store(j_common_ptr cinfo, backing_store_ptr info)
static XMSDRIVER xms_driver
long long long already_allocated
open_file_store(j_common_ptr cinfo, backing_store_ptr info, long total_bytes_needed)
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_ _CRTIMP FILE *__cdecl fopen(_In_z_ const char *_Filename, _In_z_ const char *_Mode)
close_xms_store(j_common_ptr cinfo, backing_store_ptr info)
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
jpeg_mem_term(j_common_ptr cinfo)
jpeg_open_backing_store(j_common_ptr cinfo, backing_store_ptr info, long total_bytes_needed)
jpeg_mem_available(j_common_ptr cinfo, long min_bytes_needed, long max_bytes_needed, long already_allocated)
write_file_store(j_common_ptr cinfo, backing_store_ptr info, void FAR *buffer_address, long file_offset, long byte_count)
jpeg_free_large(j_common_ptr cinfo, void FAR *object, size_t sizeofobject)
static LPCWSTR LPCWSTR LPCWSTR env
void *malloc JPP((size_t size))
open_xms_store(j_common_ptr cinfo, backing_store_ptr info, long total_bytes_needed)
jpeg_free_small(j_common_ptr cinfo, void *object, size_t sizeofobject)
read_xms_store(j_common_ptr cinfo, backing_store_ptr info, void FAR *buffer_address, long file_offset, long byte_count)
jpeg_get_large(j_common_ptr cinfo, size_t sizeofobject)
#define ERREXITS(cinfo, code, str)
select_file_name(char *fname)