[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
include
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 GL
SET
[ DEL ]
📁 X11
SET
[ DEL ]
📁 arpa
SET
[ DEL ]
📁 asm
SET
[ DEL ]
📁 asm-generic
SET
[ DEL ]
📁 bind9
SET
[ DEL ]
📁 bits
SET
[ DEL ]
📁 c++
SET
[ DEL ]
📁 drm
SET
[ DEL ]
📁 e2p
SET
[ DEL ]
📁 et
SET
[ DEL ]
📁 event2
SET
[ DEL ]
📁 ext2fs
SET
[ DEL ]
📁 finclude
SET
[ DEL ]
📁 fontconfig
SET
[ DEL ]
📁 freetype2
SET
[ DEL ]
📁 fstrm
SET
[ DEL ]
📁 gdbm
SET
[ DEL ]
📁 gnu
SET
[ DEL ]
📁 google
SET
[ DEL ]
📁 gssapi
SET
[ DEL ]
📁 gssrpc
SET
[ DEL ]
📁 json-c
SET
[ DEL ]
📁 kadm5
SET
[ DEL ]
📁 krb5
SET
[ DEL ]
📁 libexslt
SET
[ DEL ]
📁 libltdl
SET
[ DEL ]
📁 libpng16
SET
[ DEL ]
📁 libxml2
SET
[ DEL ]
📁 libxslt
SET
[ DEL ]
📁 linux
SET
[ DEL ]
📁 lzma
SET
[ DEL ]
📁 misc
SET
[ DEL ]
📁 mtd
SET
[ DEL ]
📁 mysql
SET
[ DEL ]
📁 ncurses
SET
[ DEL ]
📁 ncursesw
SET
[ DEL ]
📁 net
SET
[ DEL ]
📁 netash
SET
[ DEL ]
📁 netatalk
SET
[ DEL ]
📁 netax25
SET
[ DEL ]
📁 neteconet
SET
[ DEL ]
📁 netinet
SET
[ DEL ]
📁 netipx
SET
[ DEL ]
📁 netiucv
SET
[ DEL ]
📁 netpacket
SET
[ DEL ]
📁 netrom
SET
[ DEL ]
📁 netrose
SET
[ DEL ]
📁 nfs
SET
[ DEL ]
📁 openssl
SET
[ DEL ]
📁 perf
SET
[ DEL ]
📁 protobuf-c
SET
[ DEL ]
📁 protocols
SET
[ DEL ]
📁 python3.12
SET
[ DEL ]
📁 python3.6m
SET
[ DEL ]
📁 rdma
SET
[ DEL ]
📁 rpc
SET
[ DEL ]
📁 scsi
SET
[ DEL ]
📁 security
SET
[ DEL ]
📁 selinux
SET
[ DEL ]
📁 sepol
SET
[ DEL ]
📁 sound
SET
[ DEL ]
📁 sys
SET
[ DEL ]
📁 uuid
SET
[ DEL ]
📁 video
SET
[ DEL ]
📁 webp
SET
[ DEL ]
📁 xcb
SET
[ DEL ]
📁 xen
SET
[ DEL ]
📄 FlexLexer.h
6,893 B
SET
[ EDIT ]
|
[ DEL ]
📄 a.out.h
4,350 B
SET
[ EDIT ]
|
[ DEL ]
📄 aio.h
7,456 B
SET
[ EDIT ]
|
[ DEL ]
📄 aliases.h
2,031 B
SET
[ EDIT ]
|
[ DEL ]
📄 alloca.h
1,203 B
SET
[ EDIT ]
|
[ DEL ]
📄 ar.h
1,730 B
SET
[ EDIT ]
|
[ DEL ]
📄 argp.h
25,414 B
SET
[ EDIT ]
|
[ DEL ]
📄 argz.h
6,050 B
SET
[ EDIT ]
|
[ DEL ]
📄 assert.h
4,561 B
SET
[ EDIT ]
|
[ DEL ]
📄 autosprintf.h
2,383 B
SET
[ EDIT ]
|
[ DEL ]
📄 byteswap.h
1,404 B
SET
[ EDIT ]
|
[ DEL ]
📄 bzlib.h
6,245 B
SET
[ EDIT ]
|
[ DEL ]
📄 com_err.h
2,118 B
SET
[ EDIT ]
|
[ DEL ]
📄 complex.h
7,163 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpio.h
2,267 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpuidle.h
844 B
SET
[ EDIT ]
|
[ DEL ]
📄 crypt.h
9,118 B
SET
[ EDIT ]
|
[ DEL ]
📄 ctype.h
10,963 B
SET
[ EDIT ]
|
[ DEL ]
📄 curses.h
99,625 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesapp.h
6,775 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesf.h
27,849 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesm.h
19,677 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesp.h
8,601 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesw.h
49,719 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursslk.h
7,304 B
SET
[ EDIT ]
|
[ DEL ]
📄 dbm.h
1,414 B
SET
[ EDIT ]
|
[ DEL ]
📄 dirent.h
12,484 B
SET
[ EDIT ]
|
[ DEL ]
📄 dlfcn.h
7,238 B
SET
[ EDIT ]
|
[ DEL ]
📄 elf.h
174,828 B
SET
[ EDIT ]
|
[ DEL ]
📄 endian.h
3,189 B
SET
[ EDIT ]
|
[ DEL ]
📄 entities.h
4,930 B
SET
[ EDIT ]
|
[ DEL ]
📄 envz.h
2,866 B
SET
[ EDIT ]
|
[ DEL ]
📄 err.h
2,209 B
SET
[ EDIT ]
|
[ DEL ]
📄 errno.h
1,678 B
SET
[ EDIT ]
|
[ DEL ]
📄 error.h
2,039 B
SET
[ EDIT ]
|
[ DEL ]
📄 eti.h
2,891 B
SET
[ EDIT ]
|
[ DEL ]
📄 etip.h
9,702 B
SET
[ EDIT ]
|
[ DEL ]
📄 evdns.h
2,019 B
SET
[ EDIT ]
|
[ DEL ]
📄 event.h
2,744 B
SET
[ EDIT ]
|
[ DEL ]
📄 evhttp.h
2,035 B
SET
[ EDIT ]
|
[ DEL ]
📄 evrpc.h
2,015 B
SET
[ EDIT ]
|
[ DEL ]
📄 evutil.h
1,782 B
SET
[ EDIT ]
|
[ DEL ]
📄 execinfo.h
1,522 B
SET
[ EDIT ]
|
[ DEL ]
📄 expat.h
44,273 B
SET
[ EDIT ]
|
[ DEL ]
📄 expat_config.h
3,910 B
SET
[ EDIT ]
|
[ DEL ]
📄 expat_external.h
6,029 B
SET
[ EDIT ]
|
[ DEL ]
📄 fcntl.h
10,958 B
SET
[ EDIT ]
|
[ DEL ]
📄 features.h
16,062 B
SET
[ EDIT ]
|
[ DEL ]
📄 fenv.h
5,857 B
SET
[ EDIT ]
|
[ DEL ]
📄 fmtmsg.h
3,239 B
SET
[ EDIT ]
|
[ DEL ]
📄 fnmatch.h
2,295 B
SET
[ EDIT ]
|
[ DEL ]
📄 form.h
18,601 B
SET
[ EDIT ]
|
[ DEL ]
📄 fpu_control.h
3,583 B
SET
[ EDIT ]
|
[ DEL ]
📄 fstab.h
3,111 B
SET
[ EDIT ]
|
[ DEL ]
📄 fstrm.h
13,017 B
SET
[ EDIT ]
|
[ DEL ]
📄 fts.h
8,372 B
SET
[ EDIT ]
|
[ DEL ]
📄 ftw.h
5,251 B
SET
[ EDIT ]
|
[ DEL ]
📄 gconv.h
4,410 B
SET
[ EDIT ]
|
[ DEL ]
📄 gcrypt.h
70,361 B
SET
[ EDIT ]
|
[ DEL ]
📄 gd.h
57,777 B
SET
[ EDIT ]
|
[ DEL ]
📄 gd_color_map.h
478 B
SET
[ EDIT ]
|
[ DEL ]
📄 gd_errors.h
1,503 B
SET
[ EDIT ]
|
[ DEL ]
📄 gd_io.h
3,125 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdbm.h
10,345 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdcache.h
2,898 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfontg.h
553 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfontl.h
551 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfontmb.h
519 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfonts.h
515 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfontt.h
546 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfx.h
497 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdpp.h
52,162 B
SET
[ EDIT ]
|
[ DEL ]
📄 gelf.h
11,406 B
SET
[ EDIT ]
|
[ DEL ]
📄 getopt.h
1,468 B
SET
[ EDIT ]
|
[ DEL ]
📄 gettext-po.h
15,534 B
SET
[ EDIT ]
|
[ DEL ]
📄 glob.h
6,614 B
SET
[ EDIT ]
|
[ DEL ]
📄 gnu-versions.h
2,342 B
SET
[ EDIT ]
|
[ DEL ]
📄 gnumake.h
2,912 B
SET
[ EDIT ]
|
[ DEL ]
📄 gpg-error.h
67,879 B
SET
[ EDIT ]
|
[ DEL ]
📄 gpgrt.h
67,879 B
SET
[ EDIT ]
|
[ DEL ]
📄 grp.h
6,686 B
SET
[ EDIT ]
|
[ DEL ]
📄 gshadow.h
4,528 B
SET
[ EDIT ]
|
[ DEL ]
📄 gssapi.h
181 B
SET
[ EDIT ]
|
[ DEL ]
📄 iconv.h
1,857 B
SET
[ EDIT ]
|
[ DEL ]
📄 idn-free.h
2,472 B
SET
[ EDIT ]
|
[ DEL ]
📄 idn-int.h
20 B
SET
[ EDIT ]
|
[ DEL ]
📄 idna.h
3,564 B
SET
[ EDIT ]
|
[ DEL ]
📄 ieee754.h
4,910 B
SET
[ EDIT ]
|
[ DEL ]
📄 ifaddrs.h
2,840 B
SET
[ EDIT ]
|
[ DEL ]
📄 inttypes.h
11,892 B
SET
[ EDIT ]
|
[ DEL ]
📄 jconfig-64.h
2,225 B
SET
[ EDIT ]
|
[ DEL ]
📄 jconfig.h
246 B
SET
[ EDIT ]
|
[ DEL ]
📄 jerror.h
15,088 B
SET
[ EDIT ]
|
[ DEL ]
📄 jmorecfg.h
15,049 B
SET
[ EDIT ]
|
[ DEL ]
📄 jpegint.h
15,586 B
SET
[ EDIT ]
|
[ DEL ]
📄 jpeglib.h
49,875 B
SET
[ EDIT ]
|
[ DEL ]
📄 kdb.h
69,285 B
SET
[ EDIT ]
|
[ DEL ]
📄 keyutils.h
7,698 B
SET
[ EDIT ]
|
[ DEL ]
📄 krad.h
8,933 B
SET
[ EDIT ]
|
[ DEL ]
📄 krb5.h
402 B
SET
[ EDIT ]
|
[ DEL ]
📄 langinfo.h
17,848 B
SET
[ EDIT ]
|
[ DEL ]
📄 lastlog.h
126 B
SET
[ EDIT ]
|
[ DEL ]
📄 libaio.h
8,937 B
SET
[ EDIT ]
|
[ DEL ]
📄 libelf.h
20,318 B
SET
[ EDIT ]
|
[ DEL ]
📄 libgen.h
1,385 B
SET
[ EDIT ]
|
[ DEL ]
📄 libintl.h
4,579 B
SET
[ EDIT ]
|
[ DEL ]
📄 limits.h
5,412 B
SET
[ EDIT ]
|
[ DEL ]
📄 link.h
7,218 B
SET
[ EDIT ]
|
[ DEL ]
📄 locale.h
7,674 B
SET
[ EDIT ]
|
[ DEL ]
📄 ltdl.h
5,709 B
SET
[ EDIT ]
|
[ DEL ]
📄 lzma.h
9,817 B
SET
[ EDIT ]
|
[ DEL ]
📄 malloc.h
6,102 B
SET
[ EDIT ]
|
[ DEL ]
📄 math.h
53,318 B
SET
[ EDIT ]
|
[ DEL ]
📄 mcheck.h
2,434 B
SET
[ EDIT ]
|
[ DEL ]
📄 memory.h
955 B
SET
[ EDIT ]
|
[ DEL ]
📄 menu.h
12,197 B
SET
[ EDIT ]
|
[ DEL ]
📄 mntent.h
3,358 B
SET
[ EDIT ]
|
[ DEL ]
📄 monetary.h
1,803 B
SET
[ EDIT ]
|
[ DEL ]
📄 mqueue.h
3,759 B
SET
[ EDIT ]
|
[ DEL ]
📄 nc_tparm.h
4,197 B
SET
[ EDIT ]
|
[ DEL ]
📄 ncurses.h
99,625 B
SET
[ EDIT ]
|
[ DEL ]
📄 ncurses_dll.h
4,277 B
SET
[ EDIT ]
|
[ DEL ]
📄 ndbm.h
2,454 B
SET
[ EDIT ]
|
[ DEL ]
📄 netdb.h
28,099 B
SET
[ EDIT ]
|
[ DEL ]
📄 nl_types.h
1,752 B
SET
[ EDIT ]
|
[ DEL ]
📄 nlist.h
1,601 B
SET
[ EDIT ]
|
[ DEL ]
📄 nss.h
1,878 B
SET
[ EDIT ]
|
[ DEL ]
📄 obstack.h
21,306 B
SET
[ EDIT ]
|
[ DEL ]
📄 panel.h
4,123 B
SET
[ EDIT ]
|
[ DEL ]
📄 paths.h
2,977 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre.h
31,718 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre2.h
44,802 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre2posix.h
5,804 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre_scanner.h
6,600 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre_stringpiece.h
6,312 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcrecpp.h
26,529 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcrecpparg.h
6,783 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcreposix.h
5,452 B
SET
[ EDIT ]
|
[ DEL ]
📄 png.h
144,149 B
SET
[ EDIT ]
|
[ DEL ]
📄 pngconf.h
22,845 B
SET
[ EDIT ]
|
[ DEL ]
📄 pnglibconf.h
7,567 B
SET
[ EDIT ]
|
[ DEL ]
📄 poll.h
22 B
SET
[ EDIT ]
|
[ DEL ]
📄 pr29.h
2,123 B
SET
[ EDIT ]
|
[ DEL ]
📄 printf.h
6,800 B
SET
[ EDIT ]
|
[ DEL ]
📄 proc_service.h
3,476 B
SET
[ EDIT ]
|
[ DEL ]
📄 profile.h
12,154 B
SET
[ EDIT ]
|
[ DEL ]
📄 pthread.h
41,269 B
SET
[ EDIT ]
|
[ DEL ]
📄 pty.h
1,569 B
SET
[ EDIT ]
|
[ DEL ]
📄 punycode.h
9,384 B
SET
[ EDIT ]
|
[ DEL ]
📄 pwd.h
6,158 B
SET
[ EDIT ]
|
[ DEL ]
📄 re_comp.h
962 B
SET
[ EDIT ]
|
[ DEL ]
📄 regex.h
24,715 B
SET
[ EDIT ]
|
[ DEL ]
📄 regexp.h
1,447 B
SET
[ EDIT ]
|
[ DEL ]
📄 resolv.h
12,153 B
SET
[ EDIT ]
|
[ DEL ]
📄 sched.h
4,732 B
SET
[ EDIT ]
|
[ DEL ]
📄 search.h
5,223 B
SET
[ EDIT ]
|
[ DEL ]
📄 semaphore.h
2,399 B
SET
[ EDIT ]
|
[ DEL ]
📄 setjmp.h
3,669 B
SET
[ EDIT ]
|
[ DEL ]
📄 sgtty.h
1,343 B
SET
[ EDIT ]
|
[ DEL ]
📄 shadow.h
5,471 B
SET
[ EDIT ]
|
[ DEL ]
📄 signal.h
12,243 B
SET
[ EDIT ]
|
[ DEL ]
📄 spawn.h
6,690 B
SET
[ EDIT ]
|
[ DEL ]
📄 stab.h
264 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdc-predef.h
2,289 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdint.h
8,469 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdio.h
30,168 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdio_ext.h
2,799 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdlib.h
35,653 B
SET
[ EDIT ]
|
[ DEL ]
📄 string.h
17,587 B
SET
[ EDIT ]
|
[ DEL ]
📄 stringprep.h
8,227 B
SET
[ EDIT ]
|
[ DEL ]
📄 strings.h
4,752 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscall.h
25 B
SET
[ EDIT ]
|
[ DEL ]
📄 sysexits.h
5,232 B
SET
[ EDIT ]
|
[ DEL ]
📄 syslog.h
24 B
SET
[ EDIT ]
|
[ DEL ]
📄 tar.h
3,785 B
SET
[ EDIT ]
|
[ DEL ]
📄 term.h
41,190 B
SET
[ EDIT ]
|
[ DEL ]
📄 term_entry.h
8,760 B
SET
[ EDIT ]
|
[ DEL ]
📄 termcap.h
3,473 B
SET
[ EDIT ]
|
[ DEL ]
📄 termio.h
214 B
SET
[ EDIT ]
|
[ DEL ]
📄 termios.h
3,598 B
SET
[ EDIT ]
|
[ DEL ]
📄 tgmath.h
31,489 B
SET
[ EDIT ]
|
[ DEL ]
📄 thread_db.h
16,023 B
SET
[ EDIT ]
|
[ DEL ]
📄 threads.h
6,655 B
SET
[ EDIT ]
|
[ DEL ]
📄 tic.h
13,638 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiff.h
35,983 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffconf-64.h
3,429 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffconf.h
250 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffio.h
23,227 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffio.hxx
1,702 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffvers.h
410 B
SET
[ EDIT ]
|
[ DEL ]
📄 time.h
10,360 B
SET
[ EDIT ]
|
[ DEL ]
📄 tld.h
4,650 B
SET
[ EDIT ]
|
[ DEL ]
📄 ttyent.h
2,494 B
SET
[ EDIT ]
|
[ DEL ]
📄 uchar.h
2,001 B
SET
[ EDIT ]
|
[ DEL ]
📄 ucontext.h
2,036 B
SET
[ EDIT ]
|
[ DEL ]
📄 ulimit.h
1,583 B
SET
[ EDIT ]
|
[ DEL ]
📄 unctrl.h
3,099 B
SET
[ EDIT ]
|
[ DEL ]
📄 unistd.h
42,738 B
SET
[ EDIT ]
|
[ DEL ]
📄 utime.h
1,501 B
SET
[ EDIT ]
|
[ DEL ]
📄 utmp.h
3,222 B
SET
[ EDIT ]
|
[ DEL ]
📄 utmpx.h
4,099 B
SET
[ EDIT ]
|
[ DEL ]
📄 values.h
1,955 B
SET
[ EDIT ]
|
[ DEL ]
📄 verto-module.h
6,640 B
SET
[ EDIT ]
|
[ DEL ]
📄 verto.h
19,437 B
SET
[ EDIT ]
|
[ DEL ]
📄 wait.h
22 B
SET
[ EDIT ]
|
[ DEL ]
📄 wchar.h
31,111 B
SET
[ EDIT ]
|
[ DEL ]
📄 wctype.h
5,548 B
SET
[ EDIT ]
|
[ DEL ]
📄 wordexp.h
2,501 B
SET
[ EDIT ]
|
[ DEL ]
📄 zbuff.h
11,500 B
SET
[ EDIT ]
|
[ DEL ]
📄 zconf.h
16,262 B
SET
[ EDIT ]
|
[ DEL ]
📄 zdict.h
17,203 B
SET
[ EDIT ]
|
[ DEL ]
📄 zlib.h
96,261 B
SET
[ EDIT ]
|
[ DEL ]
📄 zstd.h
119,972 B
SET
[ EDIT ]
|
[ DEL ]
📄 zstd_errors.h
3,751 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: jmorecfg.h
/* * jmorecfg.h * * This file was part of the Independent JPEG Group's software: * Copyright (C) 1991-1997, Thomas G. Lane. * Modified 1997-2009 by Guido Vollbeding. * libjpeg-turbo Modifications: * Copyright (C) 2009, 2011, 2014-2015, D. R. Commander. * For conditions of distribution and use, see the accompanying README.ijg * file. * * This file contains additional configuration options that customize the * JPEG software for special applications or support machine-dependent * optimizations. Most users will not need to touch this file. */ /* * Maximum number of components (color channels) allowed in JPEG image. * To meet the letter of the JPEG spec, set this to 255. However, darn * few applications need more than 4 channels (maybe 5 for CMYK + alpha * mask). We recommend 10 as a reasonable compromise; use 4 if you are * really short on memory. (Each allowed component costs a hundred or so * bytes of storage, whether actually used in an image or not.) */ #define MAX_COMPONENTS 10 /* maximum number of image components */ /* * Basic data types. * You may need to change these if you have a machine with unusual data * type sizes; for example, "char" not 8 bits, "short" not 16 bits, * or "long" not 32 bits. We don't care whether "int" is 16 or 32 bits, * but it had better be at least 16. */ /* Representation of a single sample (pixel element value). * We frequently allocate large arrays of these, so it's important to keep * them small. But if you have memory to burn and access to char or short * arrays is very slow on your hardware, you might want to change these. */ #if BITS_IN_JSAMPLE == 8 /* JSAMPLE should be the smallest type that will hold the values 0..255. * You can use a signed char by having GETJSAMPLE mask it with 0xFF. */ #ifdef HAVE_UNSIGNED_CHAR typedef unsigned char JSAMPLE; #define GETJSAMPLE(value) ((int) (value)) #else /* not HAVE_UNSIGNED_CHAR */ typedef char JSAMPLE; #ifdef __CHAR_UNSIGNED__ #define GETJSAMPLE(value) ((int) (value)) #else #define GETJSAMPLE(value) ((int) (value) & 0xFF) #endif /* __CHAR_UNSIGNED__ */ #endif /* HAVE_UNSIGNED_CHAR */ #define MAXJSAMPLE 255 #define CENTERJSAMPLE 128 #endif /* BITS_IN_JSAMPLE == 8 */ #if BITS_IN_JSAMPLE == 12 /* JSAMPLE should be the smallest type that will hold the values 0..4095. * On nearly all machines "short" will do nicely. */ typedef short JSAMPLE; #define GETJSAMPLE(value) ((int) (value)) #define MAXJSAMPLE 4095 #define CENTERJSAMPLE 2048 #endif /* BITS_IN_JSAMPLE == 12 */ /* Representation of a DCT frequency coefficient. * This should be a signed value of at least 16 bits; "short" is usually OK. * Again, we allocate large arrays of these, but you can change to int * if you have memory to burn and "short" is really slow. */ typedef short JCOEF; /* Compressed datastreams are represented as arrays of JOCTET. * These must be EXACTLY 8 bits wide, at least once they are written to * external storage. Note that when using the stdio data source/destination * managers, this is also the data type passed to fread/fwrite. */ #ifdef HAVE_UNSIGNED_CHAR typedef unsigned char JOCTET; #define GETJOCTET(value) (value) #else /* not HAVE_UNSIGNED_CHAR */ typedef char JOCTET; #ifdef __CHAR_UNSIGNED__ #define GETJOCTET(value) (value) #else #define GETJOCTET(value) ((value) & 0xFF) #endif /* __CHAR_UNSIGNED__ */ #endif /* HAVE_UNSIGNED_CHAR */ /* These typedefs are used for various table entries and so forth. * They must be at least as wide as specified; but making them too big * won't cost a huge amount of memory, so we don't provide special * extraction code like we did for JSAMPLE. (In other words, these * typedefs live at a different point on the speed/space tradeoff curve.) */ /* UINT8 must hold at least the values 0..255. */ #ifdef HAVE_UNSIGNED_CHAR typedef unsigned char UINT8; #else /* not HAVE_UNSIGNED_CHAR */ #ifdef __CHAR_UNSIGNED__ typedef char UINT8; #else /* not __CHAR_UNSIGNED__ */ typedef short UINT8; #endif /* __CHAR_UNSIGNED__ */ #endif /* HAVE_UNSIGNED_CHAR */ /* UINT16 must hold at least the values 0..65535. */ #ifdef HAVE_UNSIGNED_SHORT typedef unsigned short UINT16; #else /* not HAVE_UNSIGNED_SHORT */ typedef unsigned int UINT16; #endif /* HAVE_UNSIGNED_SHORT */ /* INT16 must hold at least the values -32768..32767. */ #ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ typedef short INT16; #endif /* INT32 must hold at least signed 32-bit values. * * NOTE: The INT32 typedef dates back to libjpeg v5 (1994.) Integers were * sometimes 16-bit back then (MS-DOS), which is why INT32 is typedef'd to * long. It also wasn't common (or at least as common) in 1994 for INT32 to be * defined by platform headers. Since then, however, INT32 is defined in * several other common places: * * Xmd.h (X11 header) typedefs INT32 to int on 64-bit platforms and long on * 32-bit platforms (i.e always a 32-bit signed type.) * * basetsd.h (Win32 header) typedefs INT32 to int (always a 32-bit signed type * on modern platforms.) * * qglobal.h (Qt header) typedefs INT32 to int (always a 32-bit signed type on * modern platforms.) * * This is a recipe for conflict, since "long" and "int" aren't always * compatible types. Since the definition of INT32 has technically been part * of the libjpeg API for more than 20 years, we can't remove it, but we do not * use it internally any longer. We instead define a separate type (JLONG) * for internal use, which ensures that internal behavior will always be the * same regardless of any external headers that may be included. */ #ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ #ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */ #ifndef _BASETSD_H /* MinGW is slightly different */ #ifndef QGLOBAL_H /* Qt defines it in qglobal.h */ typedef long INT32; #endif #endif #endif #endif /* Datatype used for image dimensions. The JPEG standard only supports * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore * "unsigned int" is sufficient on all machines. However, if you need to * handle larger images and you don't mind deviating from the spec, you * can change this datatype. (Note that changing this datatype will * potentially require modifying the SIMD code. The x86-64 SIMD extensions, * in particular, assume a 32-bit JDIMENSION.) */ typedef unsigned int JDIMENSION; #define JPEG_MAX_DIMENSION 65500L /* a tad under 64K to prevent overflows */ /* These macros are used in all function definitions and extern declarations. * You could modify them if you need to change function linkage conventions; * in particular, you'll need to do that to make the library a Windows DLL. * Another application is to make all functions global for use with debuggers * or code profilers that require it. */ /* a function called through method pointers: */ #define METHODDEF(type) static type /* a function used only in its module: */ #define LOCAL(type) static type /* a function referenced thru EXTERNs: */ #define GLOBAL(type) type /* a reference to a GLOBAL function: */ #define EXTERN(type) extern type /* Originally, this macro was used as a way of defining function prototypes * for both modern compilers as well as older compilers that did not support * prototype parameters. libjpeg-turbo has never supported these older, * non-ANSI compilers, but the macro is still included because there is some * software out there that uses it. */ #define JMETHOD(type,methodname,arglist) type (*methodname) arglist /* libjpeg-turbo no longer supports platforms that have far symbols (MS-DOS), * but again, some software relies on this macro. */ #undef FAR #define FAR /* * On a few systems, type boolean and/or its values FALSE, TRUE may appear * in standard header files. Or you may have conflicts with application- * specific header files that you want to include together with these files. * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. */ #ifndef HAVE_BOOLEAN typedef int boolean; #endif #ifndef FALSE /* in case these macros already exist */ #define FALSE 0 /* values of boolean */ #endif #ifndef TRUE #define TRUE 1 #endif /* * The remaining options affect code selection within the JPEG library, * but they don't need to be visible to most applications using the library. * To minimize application namespace pollution, the symbols won't be * defined unless JPEG_INTERNALS or JPEG_INTERNAL_OPTIONS has been defined. */ #ifdef JPEG_INTERNALS #define JPEG_INTERNAL_OPTIONS #endif #ifdef JPEG_INTERNAL_OPTIONS /* * These defines indicate whether to include various optional functions. * Undefining some of these symbols will produce a smaller but less capable * library. Note that you can leave certain source files out of the * compilation/linking process if you've #undef'd the corresponding symbols. * (You may HAVE to do that if your compiler doesn't like null source files.) */ /* Capability options common to encoder and decoder: */ #define DCT_ISLOW_SUPPORTED /* slow but accurate integer algorithm */ #define DCT_IFAST_SUPPORTED /* faster, less accurate integer method */ #define DCT_FLOAT_SUPPORTED /* floating-point: accurate, fast on fast HW */ /* Encoder capability options: */ #define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ #define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ #define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ /* Note: if you selected 12-bit data precision, it is dangerous to turn off * ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only good for 8-bit * precision, so jchuff.c normally uses entropy optimization to compute * usable tables for higher precision. If you don't want to do optimization, * you'll have to supply different default Huffman tables. * The exact same statements apply for progressive JPEG: the default tables * don't work for progressive mode. (This may get fixed, however.) */ #define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */ /* Decoder capability options: */ #define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ #define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ #define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ #define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ #define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? */ #undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ #define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */ #define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */ #define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */ /* more capability options later, no doubt */ /* * The RGB_RED, RGB_GREEN, RGB_BLUE, and RGB_PIXELSIZE macros are a vestigial * feature of libjpeg. The idea was that, if an application developer needed * to compress from/decompress to a BGR/BGRX/RGBX/XBGR/XRGB buffer, they could * change these macros, rebuild libjpeg, and link their application statically * with it. In reality, few people ever did this, because there were some * severe restrictions involved (cjpeg and djpeg no longer worked properly, * compressing/decompressing RGB JPEGs no longer worked properly, and the color * quantizer wouldn't work with pixel sizes other than 3.) Further, since all * of the O/S-supplied versions of libjpeg were built with the default values * of RGB_RED, RGB_GREEN, RGB_BLUE, and RGB_PIXELSIZE, many applications have * come to regard these values as immutable. * * The libjpeg-turbo colorspace extensions provide a much cleaner way of * compressing from/decompressing to buffers with arbitrary component orders * and pixel sizes. Thus, we do not support changing the values of RGB_RED, * RGB_GREEN, RGB_BLUE, or RGB_PIXELSIZE. In addition to the restrictions * listed above, changing these values will also break the SIMD extensions and * the regression tests. */ #define RGB_RED 0 /* Offset of Red in an RGB scanline element */ #define RGB_GREEN 1 /* Offset of Green */ #define RGB_BLUE 2 /* Offset of Blue */ #define RGB_PIXELSIZE 3 /* JSAMPLEs per RGB scanline element */ #define JPEG_NUMCS 17 #define EXT_RGB_RED 0 #define EXT_RGB_GREEN 1 #define EXT_RGB_BLUE 2 #define EXT_RGB_PIXELSIZE 3 #define EXT_RGBX_RED 0 #define EXT_RGBX_GREEN 1 #define EXT_RGBX_BLUE 2 #define EXT_RGBX_PIXELSIZE 4 #define EXT_BGR_RED 2 #define EXT_BGR_GREEN 1 #define EXT_BGR_BLUE 0 #define EXT_BGR_PIXELSIZE 3 #define EXT_BGRX_RED 2 #define EXT_BGRX_GREEN 1 #define EXT_BGRX_BLUE 0 #define EXT_BGRX_PIXELSIZE 4 #define EXT_XBGR_RED 3 #define EXT_XBGR_GREEN 2 #define EXT_XBGR_BLUE 1 #define EXT_XBGR_PIXELSIZE 4 #define EXT_XRGB_RED 1 #define EXT_XRGB_GREEN 2 #define EXT_XRGB_BLUE 3 #define EXT_XRGB_PIXELSIZE 4 static const int rgb_red[JPEG_NUMCS] = { -1, -1, RGB_RED, -1, -1, -1, EXT_RGB_RED, EXT_RGBX_RED, EXT_BGR_RED, EXT_BGRX_RED, EXT_XBGR_RED, EXT_XRGB_RED, EXT_RGBX_RED, EXT_BGRX_RED, EXT_XBGR_RED, EXT_XRGB_RED, -1 }; static const int rgb_green[JPEG_NUMCS] = { -1, -1, RGB_GREEN, -1, -1, -1, EXT_RGB_GREEN, EXT_RGBX_GREEN, EXT_BGR_GREEN, EXT_BGRX_GREEN, EXT_XBGR_GREEN, EXT_XRGB_GREEN, EXT_RGBX_GREEN, EXT_BGRX_GREEN, EXT_XBGR_GREEN, EXT_XRGB_GREEN, -1 }; static const int rgb_blue[JPEG_NUMCS] = { -1, -1, RGB_BLUE, -1, -1, -1, EXT_RGB_BLUE, EXT_RGBX_BLUE, EXT_BGR_BLUE, EXT_BGRX_BLUE, EXT_XBGR_BLUE, EXT_XRGB_BLUE, EXT_RGBX_BLUE, EXT_BGRX_BLUE, EXT_XBGR_BLUE, EXT_XRGB_BLUE, -1 }; static const int rgb_pixelsize[JPEG_NUMCS] = { -1, -1, RGB_PIXELSIZE, -1, -1, -1, EXT_RGB_PIXELSIZE, EXT_RGBX_PIXELSIZE, EXT_BGR_PIXELSIZE, EXT_BGRX_PIXELSIZE, EXT_XBGR_PIXELSIZE, EXT_XRGB_PIXELSIZE, EXT_RGBX_PIXELSIZE, EXT_BGRX_PIXELSIZE, EXT_XBGR_PIXELSIZE, EXT_XRGB_PIXELSIZE, -1 }; /* Definitions for speed-related optimizations. */ /* On some machines (notably 68000 series) "int" is 32 bits, but multiplying * two 16-bit shorts is faster than multiplying two ints. Define MULTIPLIER * as short on such a machine. MULTIPLIER must be at least 16 bits wide. */ #ifndef MULTIPLIER #ifndef WITH_SIMD #define MULTIPLIER int /* type for fastest integer multiply */ #else #define MULTIPLIER short /* prefer 16-bit with SIMD for parellelism */ #endif #endif /* FAST_FLOAT should be either float or double, whichever is done faster * by your compiler. (Note that this type is only used in the floating point * DCT routines, so it only matters if you've defined DCT_FLOAT_SUPPORTED.) */ #ifndef FAST_FLOAT #define FAST_FLOAT float #endif #endif /* JPEG_INTERNAL_OPTIONS */