Merge remote-tracking branch 'libjpeg-turbo/3.0.x' into mozjpeg
* libjpeg-turbo/3.0.x: (135 commits)
Ensure methods called by global funcs are init'd
Build: Generate 32-bit supplementary ppc64 .deb
Build: Fix float test errors with Xcode 14.2/Arm
AltiVec: Disable/Fix some strict compiler warnings
Neon: Disable some strict compiler warnings
Build: Make Mac packaging architecture-agnostic
Exclude more code if !(C|D)_LOSSLESS_SUPPORTED
Fix OSS-Fuzz decompress_yuv fuzzer MSan failure
TJ doc: Density params require YCbCr or grayscale
Allow disabling prog/opt/lossless if prev. enabled
GitHub: Use macos-13 runner image w/ Xcode 14.2
LICENSE.md: Update copyright year
ChangeLog: Document accidental fix from 9983840e
tj3Set(): Allow TJPARAM_LOSSLESSPT vals from 0..15
Build: Support LLVM/Windows
tj3Transform: Don't calc dst subsamp unless needed
Fuzz: Calc. xformed buf size based on dst. subsamp
TJ: Calc. xformed buf sizes based on dst. subsamp
Minor TurboJPEG doc tweaks
turbojpeg.c: Fix -Wsign-compare compiler warning
...
62
BUILDING.md
@@ -8,14 +8,16 @@ Build Requirements
|
|||||||
|
|
||||||
### All Systems
|
### All Systems
|
||||||
|
|
||||||
- [CMake](http://www.cmake.org) v2.8.12 or later
|
- [CMake](https://cmake.org) v2.8.12 or later
|
||||||
|
|
||||||
- [NASM](http://www.nasm.us) or [Yasm](http://yasm.tortall.net)
|
- [NASM](https://nasm.us) or [Yasm](https://yasm.tortall.net)
|
||||||
(if building x86 or x86-64 SIMD extensions)
|
(if building x86 or x86-64 SIMD extensions)
|
||||||
* If using NASM, 2.13 or later is required.
|
* If using NASM, 2.13 or later is required.
|
||||||
* If using Yasm, 1.2.0 or later is required.
|
* If using Yasm, 1.2.0 or later is required.
|
||||||
|
* NASM 2.15 or later is required if building libjpeg-turbo with Intel
|
||||||
|
Control-flow Enforcement Technology (CET) support.
|
||||||
* If building on macOS, NASM or Yasm can be obtained from
|
* If building on macOS, NASM or Yasm can be obtained from
|
||||||
[MacPorts](http://www.macports.org/) or [Homebrew](http://brew.sh/).
|
[MacPorts](https://macports.org) or [Homebrew](https://brew.sh).
|
||||||
- NOTE: Currently, if it is desirable to hide the SIMD function symbols in
|
- NOTE: Currently, if it is desirable to hide the SIMD function symbols in
|
||||||
Mac executables or shared libraries that statically link with
|
Mac executables or shared libraries that statically link with
|
||||||
libjpeg-turbo, then NASM 2.14 or later or Yasm must be used when
|
libjpeg-turbo, then NASM 2.14 or later or Yasm must be used when
|
||||||
@@ -37,7 +39,7 @@ Build Requirements
|
|||||||
required. Most modern Linux distributions, as well as Solaris 10 and later,
|
required. Most modern Linux distributions, as well as Solaris 10 and later,
|
||||||
include JDK or OpenJDK. For other systems, you can obtain the Oracle Java
|
include JDK or OpenJDK. For other systems, you can obtain the Oracle Java
|
||||||
Development Kit from
|
Development Kit from
|
||||||
<http://www.oracle.com/technetwork/java/javase/downloads>.
|
<https://oracle.com/java/technologies/downloads>.
|
||||||
|
|
||||||
* If using JDK 11 or later, CMake 3.10.x or later must also be used.
|
* If using JDK 11 or later, CMake 3.10.x or later must also be used.
|
||||||
|
|
||||||
@@ -86,14 +88,14 @@ Build Requirements
|
|||||||
|
|
||||||
- MinGW
|
- MinGW
|
||||||
|
|
||||||
[MSYS2](http://msys2.github.io/) or [tdm-gcc](http://tdm-gcc.tdragon.net/)
|
[MSYS2](https://msys2.org) or [tdm-gcc](https://jmeubank.github.io/tdm-gcc)
|
||||||
recommended if building on a Windows machine. Both distributions install a
|
recommended if building on a Windows machine. Both distributions install a
|
||||||
Start Menu link that can be used to launch a command prompt with the
|
Start Menu link that can be used to launch a command prompt with the
|
||||||
appropriate compiler paths automatically set.
|
appropriate compiler paths automatically set.
|
||||||
|
|
||||||
- If building the TurboJPEG Java wrapper, JDK 1.5 or later is required. This
|
- If building the TurboJPEG Java wrapper, JDK 1.5 or later is required. This
|
||||||
can be downloaded from
|
can be downloaded from
|
||||||
<http://www.oracle.com/technetwork/java/javase/downloads>.
|
<https://oracle.com/java/technologies/downloads>.
|
||||||
|
|
||||||
* If using JDK 11 or later, CMake 3.10.x or later must also be used.
|
* If using JDK 11 or later, CMake 3.10.x or later must also be used.
|
||||||
|
|
||||||
@@ -432,17 +434,13 @@ iPhone 5S/iPad Mini 2/iPad Air and newer.
|
|||||||
|
|
||||||
IOS_PLATFORMDIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
|
IOS_PLATFORMDIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
|
||||||
IOS_SYSROOT=($IOS_PLATFORMDIR/Developer/SDKs/iPhoneOS*.sdk)
|
IOS_SYSROOT=($IOS_PLATFORMDIR/Developer/SDKs/iPhoneOS*.sdk)
|
||||||
export CFLAGS="-Wall -arch arm64 -miphoneos-version-min=8.0 -funwind-tables"
|
export CFLAGS="-Wall -miphoneos-version-min=8.0 -funwind-tables"
|
||||||
|
|
||||||
cd {build_directory}
|
cd {build_directory}
|
||||||
|
|
||||||
cat <<EOF >toolchain.cmake
|
cmake -G"Unix Makefiles" \
|
||||||
set(CMAKE_SYSTEM_NAME Darwin)
|
-DCMAKE_C_COMPILER=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang \
|
||||||
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
-DCMAKE_OSX_ARCHITECTURES=arm64 \
|
||||||
set(CMAKE_C_COMPILER /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang)
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \
|
|
||||||
-DCMAKE_OSX_SYSROOT=${IOS_SYSROOT[0]} \
|
-DCMAKE_OSX_SYSROOT=${IOS_SYSROOT[0]} \
|
||||||
[additional CMake flags] {source_directory}
|
[additional CMake flags] {source_directory}
|
||||||
make
|
make
|
||||||
@@ -456,7 +454,7 @@ Building libjpeg-turbo for Android
|
|||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
Building libjpeg-turbo for Android platforms requires v13b or later of the
|
Building libjpeg-turbo for Android platforms requires v13b or later of the
|
||||||
[Android NDK](https://developer.android.com/tools/sdk/ndk).
|
[Android NDK](https://developer.android.com/ndk).
|
||||||
|
|
||||||
|
|
||||||
### Armv7 (32-bit)
|
### Armv7 (32-bit)
|
||||||
@@ -624,15 +622,6 @@ brackets, then its final value will depend on the final value of that other
|
|||||||
variable. For instance, the default value of `CMAKE_INSTALL_MANDIR` is
|
variable. For instance, the default value of `CMAKE_INSTALL_MANDIR` is
|
||||||
**\<CMAKE\_INSTALL\_DATAROOTDIR\>/man**.
|
**\<CMAKE\_INSTALL\_DATAROOTDIR\>/man**.
|
||||||
|
|
||||||
NOTE: If setting one of these directory variables to a relative path using the
|
|
||||||
CMake command line, you must specify that the variable is of type `PATH`.
|
|
||||||
For example:
|
|
||||||
|
|
||||||
cmake -G"{generator type}" -DCMAKE_INSTALL_LIBDIR:PATH=lib {source_directory}
|
|
||||||
|
|
||||||
Otherwise, CMake will assume that the path is relative to the build directory
|
|
||||||
rather than the install directory.
|
|
||||||
|
|
||||||
|
|
||||||
Creating Distribution Packages
|
Creating Distribution Packages
|
||||||
==============================
|
==============================
|
||||||
@@ -669,18 +658,19 @@ are installed by default on OS X/macOS 10.7 and later.
|
|||||||
In order to create a Mac package/disk image that contains universal
|
In order to create a Mac package/disk image that contains universal
|
||||||
x86-64/Arm binaries, set the following CMake variable:
|
x86-64/Arm binaries, set the following CMake variable:
|
||||||
|
|
||||||
* `ARMV8_BUILD`: Directory containing an Armv8 (64-bit) iOS or macOS build of
|
* `SECONDARY_BUILD`: Directory containing a cross-compiled x86-64 or Armv8
|
||||||
libjpeg-turbo to include in the universal binaries
|
(64-bit) iOS or macOS build of libjpeg-turbo to include in the universal
|
||||||
|
binaries
|
||||||
|
|
||||||
You should first use CMake to configure an Armv8 sub-build of libjpeg-turbo
|
You should first use CMake to configure the cross-compiled x86-64 or Armv8
|
||||||
(see "Building libjpeg-turbo for iOS" above, if applicable) in a build
|
secondary build of libjpeg-turbo (see "Building libjpeg-turbo for iOS" above,
|
||||||
directory that matches the one specified in the aforementioned CMake variable.
|
if applicable) in a build directory that matches the one specified in the
|
||||||
Next, configure the primary (x86-64) build of libjpeg-turbo as an out-of-tree
|
aforementioned CMake variable. Next, configure the primary (native) build of
|
||||||
build, specifying the aforementioned CMake variable, and build it. Once the
|
libjpeg-turbo as an out-of-tree build, specifying the aforementioned CMake
|
||||||
primary build has been built, run `make dmg` from the build directory. The
|
variable, and build it. Once the primary build has been built, run `make dmg`
|
||||||
packaging system will build the sub-build, use lipo to combine it with the
|
from the build directory. The packaging system will build the secondary build,
|
||||||
primary build into a single set of universal binaries, then package the
|
use lipo to combine it with the primary build into a single set of universal
|
||||||
universal binaries.
|
binaries, then package the universal binaries.
|
||||||
|
|
||||||
|
|
||||||
Windows
|
Windows
|
||||||
@@ -705,7 +695,7 @@ as the configuration you built (such as *{build_directory}*\Debug\ or
|
|||||||
*{build_directory}*\Release\).
|
*{build_directory}*\Release\).
|
||||||
|
|
||||||
Building a Windows installer requires the
|
Building a Windows installer requires the
|
||||||
[Nullsoft Install System](http://nsis.sourceforge.net/). makensis.exe should
|
[Nullsoft Install System](https://nsis.sourceforge.io). makensis.exe should
|
||||||
be in your `PATH`.
|
be in your `PATH`.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
452
CMakeLists.txt
@@ -1,9 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 2.8.12)
|
cmake_minimum_required(VERSION 2.8.12...3.28)
|
||||||
# When using CMake 3.4 and later, don't export symbols from executables unless
|
|
||||||
# the CMAKE_ENABLE_EXPORTS variable is set.
|
|
||||||
if(POLICY CMP0065)
|
|
||||||
cmake_policy(SET CMP0065 NEW)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_EXECUTABLE_SUFFIX)
|
if(CMAKE_EXECUTABLE_SUFFIX)
|
||||||
set(CMAKE_EXECUTABLE_SUFFIX_TMP ${CMAKE_EXECUTABLE_SUFFIX})
|
set(CMAKE_EXECUTABLE_SUFFIX_TMP ${CMAKE_EXECUTABLE_SUFFIX})
|
||||||
@@ -27,9 +22,16 @@ function(pad_number NUMBER OUTPUT_LEN)
|
|||||||
set(${NUMBER} ${NUM} PARENT_SCOPE)
|
set(${NUMBER} ${NUM} PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
pad_number(VERSION_MINOR 3)
|
set(TMP_VERSION_MINOR ${VERSION_MINOR})
|
||||||
pad_number(VERSION_REVISION 3)
|
set(TMP_VERSION_REVISION ${VERSION_REVISION})
|
||||||
set(LIBJPEG_TURBO_VERSION_NUMBER ${VERSION_MAJOR}${VERSION_MINOR}${VERSION_REVISION})
|
pad_number(TMP_VERSION_MINOR 3)
|
||||||
|
pad_number(TMP_VERSION_REVISION 3)
|
||||||
|
set(LIBJPEG_TURBO_VERSION_NUMBER
|
||||||
|
${VERSION_MAJOR}${TMP_VERSION_MINOR}${TMP_VERSION_REVISION})
|
||||||
|
set(MSVC_LIKE 0)
|
||||||
|
if(MSVC OR CMAKE_C_SIMULATE_ID STREQUAL "MSVC")
|
||||||
|
set(MSVC_LIKE 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
# The libjpeg-turbo build system has never supported and will never support
|
# The libjpeg-turbo build system has never supported and will never support
|
||||||
# being integrated into another build system using add_subdirectory(), because
|
# being integrated into another build system using add_subdirectory(), because
|
||||||
@@ -148,7 +150,7 @@ message(STATUS "${BITS}-bit build (${CPU_TYPE})")
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
if(MSVC)
|
if(MSVC_LIKE)
|
||||||
set(CMAKE_INSTALL_DEFAULT_PREFIX "c:/${CMAKE_PROJECT_NAME}")
|
set(CMAKE_INSTALL_DEFAULT_PREFIX "c:/${CMAKE_PROJECT_NAME}")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_INSTALL_DEFAULT_PREFIX "c:/${CMAKE_PROJECT_NAME}-gcc")
|
set(CMAKE_INSTALL_DEFAULT_PREFIX "c:/${CMAKE_PROJECT_NAME}-gcc")
|
||||||
@@ -222,27 +224,40 @@ option(ENABLE_SHARED "Build shared libraries" TRUE)
|
|||||||
boolean_number(ENABLE_SHARED)
|
boolean_number(ENABLE_SHARED)
|
||||||
option(ENABLE_STATIC "Build static libraries" TRUE)
|
option(ENABLE_STATIC "Build static libraries" TRUE)
|
||||||
boolean_number(ENABLE_STATIC)
|
boolean_number(ENABLE_STATIC)
|
||||||
option(REQUIRE_SIMD "Generate a fatal error if SIMD extensions are not available for this platform (default is to fall back to a non-SIMD build)" FALSE)
|
option(REQUIRE_SIMD
|
||||||
|
"Generate a fatal error if SIMD extensions are not available for this platform (default is to fall back to a non-SIMD build)"
|
||||||
|
FALSE)
|
||||||
boolean_number(REQUIRE_SIMD)
|
boolean_number(REQUIRE_SIMD)
|
||||||
option(PNG_SUPPORTED "Enable PNG support (requires libpng)" TRUE)
|
option(PNG_SUPPORTED "Enable PNG support (requires libpng)" TRUE)
|
||||||
boolean_number(PNG_SUPPORTED)
|
boolean_number(PNG_SUPPORTED)
|
||||||
option(WITH_ARITH_DEC "Include arithmetic decoding support when emulating the libjpeg v6b API/ABI" FALSE)
|
option(WITH_ARITH_DEC
|
||||||
|
"Include arithmetic decoding support when emulating the libjpeg v6b API/ABI"
|
||||||
|
FALSE)
|
||||||
boolean_number(WITH_ARITH_DEC)
|
boolean_number(WITH_ARITH_DEC)
|
||||||
option(WITH_ARITH_ENC "Include arithmetic encoding support when emulating the libjpeg v6b API/ABI" FALSE)
|
option(WITH_ARITH_ENC
|
||||||
|
"Include arithmetic encoding support when emulating the libjpeg v6b API/ABI"
|
||||||
|
FALSE)
|
||||||
boolean_number(WITH_ARITH_ENC)
|
boolean_number(WITH_ARITH_ENC)
|
||||||
if(CMAKE_C_COMPILER_ABI MATCHES "ELF X32")
|
if(CMAKE_C_COMPILER_ABI MATCHES "ELF X32")
|
||||||
set(WITH_JAVA 0)
|
set(WITH_JAVA 0)
|
||||||
else()
|
else()
|
||||||
option(WITH_JAVA "Build Java wrapper for the TurboJPEG API library (implies ENABLE_SHARED=1)" FALSE)
|
option(WITH_JAVA
|
||||||
|
"Build Java wrapper for the TurboJPEG API library (implies ENABLE_SHARED=1)"
|
||||||
|
FALSE)
|
||||||
boolean_number(WITH_JAVA)
|
boolean_number(WITH_JAVA)
|
||||||
endif()
|
endif()
|
||||||
option(WITH_JPEG7 "Emulate libjpeg v7 API/ABI (this makes ${CMAKE_PROJECT_NAME} backward-incompatible with libjpeg v6b)" FALSE)
|
option(WITH_JPEG7
|
||||||
|
"Emulate libjpeg v7 API/ABI (this makes ${CMAKE_PROJECT_NAME} backward-incompatible with libjpeg v6b)"
|
||||||
|
FALSE)
|
||||||
boolean_number(WITH_JPEG7)
|
boolean_number(WITH_JPEG7)
|
||||||
option(WITH_JPEG8 "Emulate libjpeg v8 API/ABI (this makes ${CMAKE_PROJECT_NAME} backward-incompatible with libjpeg v6b)" FALSE)
|
option(WITH_JPEG8
|
||||||
|
"Emulate libjpeg v8 API/ABI (this makes ${CMAKE_PROJECT_NAME} backward-incompatible with libjpeg v6b)"
|
||||||
|
FALSE)
|
||||||
boolean_number(WITH_JPEG8)
|
boolean_number(WITH_JPEG8)
|
||||||
option(WITH_SIMD "Include SIMD extensions, if available for this platform" TRUE)
|
option(WITH_SIMD "Include SIMD extensions, if available for this platform" TRUE)
|
||||||
boolean_number(WITH_SIMD)
|
boolean_number(WITH_SIMD)
|
||||||
option(WITH_TURBOJPEG "Include the TurboJPEG API library and associated test programs" TRUE)
|
option(WITH_TURBOJPEG
|
||||||
|
"Include the TurboJPEG API library and associated test programs" TRUE)
|
||||||
boolean_number(WITH_TURBOJPEG)
|
boolean_number(WITH_TURBOJPEG)
|
||||||
option(WITH_FUZZ "Build fuzz targets" FALSE)
|
option(WITH_FUZZ "Build fuzz targets" FALSE)
|
||||||
|
|
||||||
@@ -303,12 +318,12 @@ endif()
|
|||||||
# 1: + In-memory source/destination managers (libjpeg-turbo 1.3.x)
|
# 1: + In-memory source/destination managers (libjpeg-turbo 1.3.x)
|
||||||
# 2: + Partial image decompression functions (libjpeg-turbo 1.5.x)
|
# 2: + Partial image decompression functions (libjpeg-turbo 1.5.x)
|
||||||
# 3: + ICC functions (libjpeg-turbo 2.0.x)
|
# 3: + ICC functions (libjpeg-turbo 2.0.x)
|
||||||
# 4: + 12-bit-per-component and lossless functions (libjpeg-turbo 2.2.x)
|
# 4: + 12-bit-per-sample and lossless functions (libjpeg-turbo 3.0.x)
|
||||||
#
|
#
|
||||||
# libjpeg v8 API/ABI emulation:
|
# libjpeg v8 API/ABI emulation:
|
||||||
# 1: + Partial image decompression functions (libjpeg-turbo 1.5.x)
|
# 1: + Partial image decompression functions (libjpeg-turbo 1.5.x)
|
||||||
# 2: + ICC functions (libjpeg-turbo 2.0.x)
|
# 2: + ICC functions (libjpeg-turbo 2.0.x)
|
||||||
# 3: + 12-bit-per-component and lossless functions (libjpeg-turbo 2.2.x)
|
# 3: + 12-bit-per-sample and lossless functions (libjpeg-turbo 3.0.x)
|
||||||
set(SO_AGE 3)
|
set(SO_AGE 3)
|
||||||
if(NOT WITH_JPEG8)
|
if(NOT WITH_JPEG8)
|
||||||
set(SO_AGE 4)
|
set(SO_AGE 4)
|
||||||
@@ -381,23 +396,38 @@ set(TURBOJPEG_SO_VERSION 0.${TURBOJPEG_SO_AGE}.0)
|
|||||||
# COMPILER SETTINGS
|
# COMPILER SETTINGS
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
if(MSVC)
|
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC)
|
||||||
|
|
||||||
|
if(MSVC_LIKE)
|
||||||
option(WITH_CRT_DLL
|
option(WITH_CRT_DLL
|
||||||
"Link all ${CMAKE_PROJECT_NAME} libraries and executables with the C run-time DLL (msvcr*.dll) instead of the static C run-time library (libcmt*.lib.) The default is to use the C run-time DLL only with the libraries and executables that need it."
|
"Link all ${CMAKE_PROJECT_NAME} libraries and executables with the C run-time DLL (msvcr*.dll) instead of the static C run-time library (libcmt*.lib.) The default is to use the C run-time DLL only with the libraries and executables that need it."
|
||||||
FALSE)
|
FALSE)
|
||||||
|
boolean_number(WITH_CRT_DLL)
|
||||||
if(NOT WITH_CRT_DLL)
|
if(NOT WITH_CRT_DLL)
|
||||||
# Use the static C library for all build types
|
# Use the static C library for all build types
|
||||||
foreach(var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
|
if(CMAKE_VERSION VERSION_EQUAL "3.15" OR
|
||||||
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
|
CMAKE_VERSION VERSION_GREATER "3.15")
|
||||||
if(${var} MATCHES "/MD")
|
if(CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG")
|
||||||
string(REGEX REPLACE "/MD" "/MT" ${var} "${${var}}")
|
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreadedDebug)
|
||||||
|
elseif(MSVC_IDE)
|
||||||
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
|
else()
|
||||||
|
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded)
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
message(STATUS "Visual C++ run-time library: ${CMAKE_MSVC_RUNTIME_LIBRARY} (WITH_CRT_DLL = ${WITH_CRT_DLL})")
|
||||||
|
elseif(MSVC)
|
||||||
|
foreach(var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
|
||||||
|
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
|
||||||
|
if(${var} MATCHES "/MD")
|
||||||
|
string(REGEX REPLACE "/MD" "/MT" ${var} "${${var}}")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
add_definitions(-D_CRT_NONSTDC_NO_WARNINGS)
|
add_definitions(-D_CRT_NONSTDC_NO_WARNINGS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
# Use the maximum optimization level for release builds
|
# Use the maximum optimization level for release builds
|
||||||
foreach(var CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO)
|
foreach(var CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO)
|
||||||
if(${var} MATCHES "-O2")
|
if(${var} MATCHES "-O2")
|
||||||
@@ -420,8 +450,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC)
|
|
||||||
|
|
||||||
set(EFFECTIVE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
|
set(EFFECTIVE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
|
||||||
message(STATUS "Compiler flags = ${EFFECTIVE_C_FLAGS}")
|
message(STATUS "Compiler flags = ${EFFECTIVE_C_FLAGS}")
|
||||||
|
|
||||||
@@ -439,7 +467,7 @@ if(SIZE_T EQUAL UNSIGNED_LONG)
|
|||||||
check_c_source_compiles("int main(int argc, char **argv) { unsigned long a = argc; return __builtin_ctzl(a); }"
|
check_c_source_compiles("int main(int argc, char **argv) { unsigned long a = argc; return __builtin_ctzl(a); }"
|
||||||
HAVE_BUILTIN_CTZL)
|
HAVE_BUILTIN_CTZL)
|
||||||
endif()
|
endif()
|
||||||
if(MSVC)
|
if(MSVC_LIKE)
|
||||||
check_include_files("intrin.h" HAVE_INTRIN_H)
|
check_include_files("intrin.h" HAVE_INTRIN_H)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -451,13 +479,13 @@ if(UNIX)
|
|||||||
check_c_source_runs("
|
check_c_source_runs("
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
int is_shifting_signed (long arg) {
|
static int is_shifting_signed (long arg) {
|
||||||
long res = arg >> 4;
|
long res = arg >> 4;
|
||||||
if (res == -0x7F7E80CL)
|
if (res == -0x7F7E80CL)
|
||||||
return 1; /* right shift is signed */
|
return 1; /* right shift is signed */
|
||||||
/* see if unsigned-shift hack will fix it. */
|
/* see if unsigned-shift hack will fix it. */
|
||||||
/* we can't just test exact value since it depends on width of long... */
|
/* we can't just test exact value since it depends on width of long... */
|
||||||
res |= (~0L) << (32-4);
|
res |= 0xFFFFFFFFL << (32-4);
|
||||||
if (res == -0x7F7E80CL)
|
if (res == -0x7F7E80CL)
|
||||||
return 0; /* right shift is unsigned */
|
return 0; /* right shift is unsigned */
|
||||||
printf(\"Right shift isn't acting as I expect it to.\\\\n\");
|
printf(\"Right shift isn't acting as I expect it to.\\\\n\");
|
||||||
@@ -470,6 +498,15 @@ if(UNIX)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(NOT MSVC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
|
check_c_source_compiles("extern const int table[1]; const int __attribute__((visibility(\"hidden\"))) table[1] = { 0 }; int main(void) { return table[0]; }"
|
||||||
|
HIDDEN_WORKS)
|
||||||
|
if(HIDDEN_WORKS)
|
||||||
|
set(HIDDEN "__attribute__((visibility(\"hidden\")))")
|
||||||
|
message(STATUS "HIDDEN = ${HIDDEN}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(INLINE_OPTIONS "__inline;inline")
|
set(INLINE_OPTIONS "__inline;inline")
|
||||||
else()
|
else()
|
||||||
@@ -503,7 +540,8 @@ if(MSVC)
|
|||||||
else()
|
else()
|
||||||
set(THREAD_LOCAL "__thread")
|
set(THREAD_LOCAL "__thread")
|
||||||
endif()
|
endif()
|
||||||
check_c_source_compiles("${THREAD_LOCAL} int i; int main(void) { i = 0; return i; }" HAVE_THREAD_LOCAL)
|
check_c_source_compiles("static ${THREAD_LOCAL} int i; int main(void) { i = 0; return i; }"
|
||||||
|
HAVE_THREAD_LOCAL)
|
||||||
if(HAVE_THREAD_LOCAL)
|
if(HAVE_THREAD_LOCAL)
|
||||||
message(STATUS "THREAD_LOCAL = ${THREAD_LOCAL}")
|
message(STATUS "THREAD_LOCAL = ${THREAD_LOCAL}")
|
||||||
else()
|
else()
|
||||||
@@ -575,7 +613,7 @@ set(JPEG_SOURCES ${JPEG12_SOURCES} jcapimin.c jchuff.c jcicc.c jcinit.c
|
|||||||
jclhuff.c jcmarker.c jcmaster.c jcomapi.c jcparam.c jcphuff.c jctrans.c
|
jclhuff.c jcmarker.c jcmaster.c jcomapi.c jcparam.c jcphuff.c jctrans.c
|
||||||
jdapimin.c jdatadst.c jdatasrc.c jdhuff.c jdicc.c jdinput.c jdlhuff.c
|
jdapimin.c jdatadst.c jdatasrc.c jdhuff.c jdicc.c jdinput.c jdlhuff.c
|
||||||
jdmarker.c jdmaster.c jdphuff.c jdtrans.c jerror.c jfdctflt.c jmemmgr.c
|
jdmarker.c jdmaster.c jdphuff.c jdtrans.c jerror.c jfdctflt.c jmemmgr.c
|
||||||
jmemnobs.c)
|
jmemnobs.c jpeg_nbits.c)
|
||||||
|
|
||||||
if(WITH_ARITH_ENC OR WITH_ARITH_DEC)
|
if(WITH_ARITH_ENC OR WITH_ARITH_DEC)
|
||||||
set(JPEG_SOURCES ${JPEG_SOURCES} jaricom.c)
|
set(JPEG_SOURCES ${JPEG_SOURCES} jaricom.c)
|
||||||
@@ -639,7 +677,7 @@ if(ENABLE_STATIC)
|
|||||||
add_library(jpeg-static STATIC ${JPEG_SOURCES} ${SIMD_TARGET_OBJECTS}
|
add_library(jpeg-static STATIC ${JPEG_SOURCES} ${SIMD_TARGET_OBJECTS}
|
||||||
${SIMD_OBJS} $<TARGET_OBJECTS:jpeg12-static>
|
${SIMD_OBJS} $<TARGET_OBJECTS:jpeg12-static>
|
||||||
$<TARGET_OBJECTS:jpeg16-static>)
|
$<TARGET_OBJECTS:jpeg16-static>)
|
||||||
if(NOT MSVC)
|
if(NOT MSVC_LIKE)
|
||||||
set_target_properties(jpeg-static PROPERTIES OUTPUT_NAME jpeg)
|
set_target_properties(jpeg-static PROPERTIES OUTPUT_NAME jpeg)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
@@ -655,7 +693,7 @@ if(WITH_TURBOJPEG)
|
|||||||
include_directories(${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
|
include_directories(${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
|
||||||
set(TJMAPFILE ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg-mapfile.jni)
|
set(TJMAPFILE ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg-mapfile.jni)
|
||||||
endif()
|
endif()
|
||||||
if(MSVC)
|
if(MSVC_LIKE)
|
||||||
configure_file(${CMAKE_SOURCE_DIR}/win/turbojpeg.rc.in
|
configure_file(${CMAKE_SOURCE_DIR}/win/turbojpeg.rc.in
|
||||||
${CMAKE_BINARY_DIR}/win/turbojpeg.rc)
|
${CMAKE_BINARY_DIR}/win/turbojpeg.rc)
|
||||||
set(TURBOJPEG_SOURCES ${TURBOJPEG_SOURCES}
|
set(TURBOJPEG_SOURCES ${TURBOJPEG_SOURCES}
|
||||||
@@ -707,9 +745,13 @@ if(WITH_TURBOJPEG)
|
|||||||
|
|
||||||
add_executable(tjexample tjexample.c)
|
add_executable(tjexample tjexample.c)
|
||||||
target_link_libraries(tjexample turbojpeg)
|
target_link_libraries(tjexample turbojpeg)
|
||||||
|
|
||||||
|
add_custom_target(tjdoc COMMAND doxygen -s doxygen.config
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
target_link_libraries(tjexample m)
|
target_link_libraries(tjexample m)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_STATIC)
|
if(ENABLE_STATIC)
|
||||||
@@ -726,7 +768,7 @@ if(WITH_TURBOJPEG)
|
|||||||
$<TARGET_OBJECTS:turbojpeg16-static>)
|
$<TARGET_OBJECTS:turbojpeg16-static>)
|
||||||
set_property(TARGET turbojpeg-static PROPERTY COMPILE_FLAGS
|
set_property(TARGET turbojpeg-static PROPERTY COMPILE_FLAGS
|
||||||
"-DBMP_SUPPORTED -DPPM_SUPPORTED")
|
"-DBMP_SUPPORTED -DPPM_SUPPORTED")
|
||||||
if(NOT MSVC)
|
if(NOT MSVC_LIKE)
|
||||||
set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg)
|
set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -909,10 +951,8 @@ if(ENABLE_STATIC)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(TESTIMAGES ${CMAKE_CURRENT_SOURCE_DIR}/testimages)
|
set(TESTIMAGES ${CMAKE_CURRENT_SOURCE_DIR}/testimages)
|
||||||
set(MD5CMP ${CMAKE_CURRENT_BINARY_DIR}/md5/md5cmp)
|
|
||||||
if(CMAKE_CROSSCOMPILING)
|
if(CMAKE_CROSSCOMPILING)
|
||||||
file(RELATIVE_PATH TESTIMAGES ${CMAKE_CURRENT_BINARY_DIR} ${TESTIMAGES})
|
file(RELATIVE_PATH TESTIMAGES ${CMAKE_CURRENT_BINARY_DIR} ${TESTIMAGES})
|
||||||
file(RELATIVE_PATH MD5CMP ${CMAKE_CURRENT_BINARY_DIR} ${MD5CMP})
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# The output of the floating point DCT/IDCT algorithms differs depending on the
|
# The output of the floating point DCT/IDCT algorithms differs depending on the
|
||||||
@@ -924,14 +964,14 @@ endif()
|
|||||||
# extensions
|
# extensions
|
||||||
# no-fp-contract = validate against the expected results from the C code when
|
# no-fp-contract = validate against the expected results from the C code when
|
||||||
# floating point expression contraction is disabled (the
|
# floating point expression contraction is disabled (the
|
||||||
# default with Clang, with GCC when building for platforms
|
# default with Clang 13 and earlier, when building for
|
||||||
# that lack fused multiply-add [FMA] instructions, or when
|
# platforms that lack fused multiply-add [FMA] instructions,
|
||||||
# passing -ffp-contract=off to the compiler)
|
# or when passing -ffp-contract=off to GCC or Clang)
|
||||||
# fp-contract = validate against the expected results from the C code when
|
# fp-contract = validate against the expected results from the C code when
|
||||||
# floating point expression contraction is enabled (the default
|
# floating point expression contraction is enabled (the default
|
||||||
# with GCC when building for platforms that have fused multiply-
|
# with Clang 14 and later, with GCC when building for platforms
|
||||||
# add [FMA] instructions or when passing -ffp-contract=fast to
|
# that have fused multiply-add [FMA] instructions, or when
|
||||||
# the compiler)
|
# passing -ffp-contract=fast to GCC or -ffp-contract=on to Clang)
|
||||||
# 387 = validate against the expected results from the C code when the 387 FPU
|
# 387 = validate against the expected results from the C code when the 387 FPU
|
||||||
# is being used for floating point math (which is generally the default
|
# is being used for floating point math (which is generally the default
|
||||||
# with x86 compilers)
|
# with x86 compilers)
|
||||||
@@ -943,18 +983,28 @@ if(CPU_TYPE STREQUAL "x86_64" OR CPU_TYPE STREQUAL "i386")
|
|||||||
set(DEFAULT_FLOATTEST8 sse)
|
set(DEFAULT_FLOATTEST8 sse)
|
||||||
elseif(CPU_TYPE STREQUAL "x86_64")
|
elseif(CPU_TYPE STREQUAL "x86_64")
|
||||||
set(DEFAULT_FLOATTEST8 no-fp-contract)
|
set(DEFAULT_FLOATTEST8 no-fp-contract)
|
||||||
# else we can't really set an intelligent default for i386. The appropriate
|
|
||||||
# value could be no-fp-contract, fp-contract, 387, or msvc, depending on the
|
|
||||||
# compiler and compiler options. We leave it to the user to set FLOATTEST
|
|
||||||
# manually.
|
|
||||||
endif()
|
endif()
|
||||||
else()
|
elseif(CPU_TYPE STREQUAL "powerpc" OR CPU_TYPE STREQUAL "arm64")
|
||||||
if((CPU_TYPE STREQUAL "powerpc" OR CPU_TYPE STREQUAL "arm64") AND
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
NOT CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT MSVC)
|
if(CMAKE_C_COMPILER_ID MATCHES "AppleClang")
|
||||||
|
# Xcode 14.3 and later
|
||||||
|
set(MIN_FP_CONTRACT_VERSION 14.0.1)
|
||||||
|
else()
|
||||||
|
set(MIN_FP_CONTRACT_VERSION 14.0.0)
|
||||||
|
endif()
|
||||||
|
if(CMAKE_C_COMPILER_VERSION VERSION_EQUAL ${MIN_FP_CONTRACT_VERSION} OR
|
||||||
|
CMAKE_C_COMPILER_VERSION VERSION_GREATER ${MIN_FP_CONTRACT_VERSION})
|
||||||
|
set(DEFAULT_FLOATTEST8 fp-contract)
|
||||||
|
else()
|
||||||
|
set(DEFAULT_FLOATTEST8 no-fp-contract)
|
||||||
|
endif()
|
||||||
|
elseif(CMAKE_COMPILER_IS_GNUCC)
|
||||||
set(DEFAULT_FLOATTEST8 fp-contract)
|
set(DEFAULT_FLOATTEST8 fp-contract)
|
||||||
else()
|
|
||||||
set(DEFAULT_FLOATTEST8 no-fp-contract)
|
|
||||||
endif()
|
endif()
|
||||||
|
# else we can't really set an intelligent default for FLOATTEST8. The
|
||||||
|
# appropriate value could be no-fp-contract, fp-contract, 387, or msvc,
|
||||||
|
# depending on the compiler and compiler options. We leave it to the user to
|
||||||
|
# set FLOATTEST8 manually.
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# This causes FLOATTEST8 to reset to the default value if WITH_SIMD has
|
# This causes FLOATTEST8 to reset to the default value if WITH_SIMD has
|
||||||
@@ -982,13 +1032,27 @@ endif()
|
|||||||
|
|
||||||
if(CPU_TYPE STREQUAL "x86_64")
|
if(CPU_TYPE STREQUAL "x86_64")
|
||||||
set(DEFAULT_FLOATTEST12 no-fp-contract)
|
set(DEFAULT_FLOATTEST12 no-fp-contract)
|
||||||
elseif(NOT CPU_TYPE STREQUAL "i386")
|
elseif(CPU_TYPE STREQUAL "powerpc" OR CPU_TYPE STREQUAL "arm64")
|
||||||
if((CPU_TYPE STREQUAL "powerpc" OR CPU_TYPE STREQUAL "arm64") AND
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
NOT CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT MSVC)
|
if(CMAKE_C_COMPILER_ID MATCHES "AppleClang")
|
||||||
|
# Xcode 14.3 and later
|
||||||
|
set(MIN_FP_CONTRACT_VERSION 14.0.1)
|
||||||
|
else()
|
||||||
|
set(MIN_FP_CONTRACT_VERSION 14.0.0)
|
||||||
|
endif()
|
||||||
|
if(CMAKE_C_COMPILER_VERSION VERSION_EQUAL ${MIN_FP_CONTRACT_VERSION} OR
|
||||||
|
CMAKE_C_COMPILER_VERSION VERSION_GREATER ${MIN_FP_CONTRACT_VERSION})
|
||||||
|
set(DEFAULT_FLOATTEST12 fp-contract)
|
||||||
|
else()
|
||||||
|
set(DEFAULT_FLOATTEST12 no-fp-contract)
|
||||||
|
endif()
|
||||||
|
elseif(CMAKE_COMPILER_IS_GNUCC)
|
||||||
set(DEFAULT_FLOATTEST12 fp-contract)
|
set(DEFAULT_FLOATTEST12 fp-contract)
|
||||||
else()
|
|
||||||
set(DEFAULT_FLOATTEST12 no-fp-contract)
|
|
||||||
endif()
|
endif()
|
||||||
|
# else we can't really set an intelligent default for FLOATTEST12. The
|
||||||
|
# appropriate value could be no-fp-contract, fp-contract, or something else,
|
||||||
|
# depending on the compiler and compiler options. We leave it to the user to
|
||||||
|
# set FLOATTEST12 manually.
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(FLOATTEST12 ${DEFAULT_FLOATTEST12} CACHE STRING
|
set(FLOATTEST12 ${DEFAULT_FLOATTEST12} CACHE STRING
|
||||||
@@ -1013,48 +1077,44 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
set(suffix -static)
|
set(suffix -static)
|
||||||
endif()
|
endif()
|
||||||
if(WITH_TURBOJPEG)
|
if(WITH_TURBOJPEG)
|
||||||
add_test(tjunittest-${libtype}
|
add_test(NAME tjunittest-${libtype}
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix})
|
COMMAND tjunittest${suffix})
|
||||||
add_test(tjunittest-${libtype}-alloc
|
add_test(NAME tjunittest-${libtype}-alloc
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -alloc)
|
COMMAND tjunittest${suffix} -alloc)
|
||||||
add_test(tjunittest-${libtype}-yuv
|
add_test(NAME tjunittest-${libtype}-yuv
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -yuv)
|
COMMAND tjunittest${suffix} -yuv)
|
||||||
add_test(tjunittest-${libtype}-yuv-alloc
|
add_test(NAME tjunittest-${libtype}-yuv-alloc
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -yuv -alloc)
|
COMMAND tjunittest${suffix} -yuv -alloc)
|
||||||
add_test(tjunittest-${libtype}-yuv-nopad
|
add_test(NAME tjunittest-${libtype}-yuv-nopad
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -yuv -noyuvpad)
|
COMMAND tjunittest${suffix} -yuv -noyuvpad)
|
||||||
add_test(tjunittest-${libtype}-lossless
|
add_test(NAME tjunittest-${libtype}-lossless
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -lossless)
|
COMMAND tjunittest${suffix} -lossless)
|
||||||
add_test(tjunittest-${libtype}-lossless-alloc
|
add_test(NAME tjunittest-${libtype}-lossless-alloc
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -lossless -alloc)
|
COMMAND tjunittest${suffix} -lossless -alloc)
|
||||||
add_test(tjunittest-${libtype}-bmp
|
add_test(NAME tjunittest-${libtype}-bmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -bmp)
|
COMMAND tjunittest${suffix} -bmp)
|
||||||
add_test(tjunittest12-${libtype}
|
add_test(NAME tjunittest12-${libtype}
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -precision 12)
|
COMMAND tjunittest${suffix} -precision 12)
|
||||||
add_test(tjunittest12-${libtype}-alloc
|
add_test(NAME tjunittest12-${libtype}-alloc
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -precision 12
|
COMMAND tjunittest${suffix} -precision 12 -alloc)
|
||||||
-alloc)
|
add_test(NAME tjunittest12-${libtype}-lossless
|
||||||
add_test(tjunittest12-${libtype}-lossless
|
COMMAND tjunittest${suffix} -precision 12 -lossless)
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -precision 12
|
add_test(NAME tjunittest12-${libtype}-lossless-alloc
|
||||||
-lossless)
|
COMMAND tjunittest${suffix} -precision 12 -lossless -alloc)
|
||||||
add_test(tjunittest12-${libtype}-lossless-alloc
|
add_test(NAME tjunittest12-${libtype}-bmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -precision 12
|
COMMAND tjunittest${suffix} -precision 12 -bmp)
|
||||||
-lossless -alloc)
|
add_test(NAME tjunittest16-${libtype}-lossless
|
||||||
add_test(tjunittest12-${libtype}-bmp
|
COMMAND tjunittest${suffix} -precision 16)
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -precision 12 -bmp)
|
add_test(NAME tjunittest16-${libtype}-lossless-alloc
|
||||||
add_test(tjunittest16-${libtype}-lossless
|
COMMAND tjunittest${suffix} -precision 16 -alloc)
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -precision 16)
|
add_test(NAME tjunittest16-${libtype}-bmp
|
||||||
add_test(tjunittest16-${libtype}-lossless-alloc
|
COMMAND tjunittest${suffix} -precision 16 -bmp)
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -precision 16
|
|
||||||
-alloc)
|
|
||||||
add_test(tjunittest16-${libtype}-bmp
|
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjunittest${suffix} -precision 16 -bmp)
|
|
||||||
|
|
||||||
foreach(sample_bits 8 12)
|
foreach(sample_bits 8 12)
|
||||||
|
|
||||||
if(sample_bits EQUAL 12)
|
if(sample_bits EQUAL 12)
|
||||||
set(tjbench tjbench12)
|
set(tjbench tjbench12)
|
||||||
set(testout testout12)
|
set(testout testout12${suffix})
|
||||||
|
|
||||||
set(MD5_PPM_GRAY_TILE 2f799249148b1a9d0e61fa4408f6c397)
|
set(MD5_PPM_GRAY_TILE 2f799249148b1a9d0e61fa4408f6c397)
|
||||||
set(MD5_PPM_420_8x8_TILE b25684e1af37be504ee3fd137757353f)
|
set(MD5_PPM_420_8x8_TILE b25684e1af37be504ee3fd137757353f)
|
||||||
@@ -1074,7 +1134,7 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
set(MD5_PPM_444_TILE 2f571a032e4dbc8ef40f75219d336b0b)
|
set(MD5_PPM_444_TILE 2f571a032e4dbc8ef40f75219d336b0b)
|
||||||
else()
|
else()
|
||||||
set(tjbench tjbench)
|
set(tjbench tjbench)
|
||||||
set(testout testout)
|
set(testout testout${suffix})
|
||||||
|
|
||||||
set(MD5_PPM_GRAY_TILE 2c3b567086e6ca0c5e6d34ad8d6f6fe8)
|
set(MD5_PPM_GRAY_TILE 2c3b567086e6ca0c5e6d34ad8d6f6fe8)
|
||||||
set(MD5_PPM_420_8x8_TILE efca1bdf0226df01777137778cf986ec)
|
set(MD5_PPM_420_8x8_TILE efca1bdf0226df01777137778cf986ec)
|
||||||
@@ -1094,30 +1154,29 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
set(MD5_PPM_444_TILE 87bd58005eec73f0f313c8e38d0d793c)
|
set(MD5_PPM_444_TILE 87bd58005eec73f0f313c8e38d0d793c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Test compressing from/decompressing to an arbitrary subregion of a larger
|
# Test compressing from/decompressing to an arbitrary subregion of a
|
||||||
# image buffer
|
# larger image buffer
|
||||||
add_test(${tjbench}-${libtype}-tile-cp
|
add_test(NAME ${tjbench}-${libtype}-tile-cp
|
||||||
${CMAKE_COMMAND} -E copy_if_different ${TESTIMAGES}/testorig.ppm
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${testout}_tile.ppm)
|
${TESTIMAGES}/testorig.ppm ${testout}_tile.ppm)
|
||||||
add_test(${tjbench}-${libtype}-tile
|
add_test(NAME ${tjbench}-${libtype}-tile
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjbench${suffix} ${testout}_tile.ppm
|
COMMAND tjbench${suffix} ${testout}_tile.ppm 95
|
||||||
95 -precision ${sample_bits} -rgb -quiet -tile -benchtime 0.01
|
-precision ${sample_bits} -rgb -quiet -tile -benchtime 0.01
|
||||||
-warmup 0)
|
-warmup 0)
|
||||||
set_tests_properties(${tjbench}-${libtype}-tile
|
set_tests_properties(${tjbench}-${libtype}-tile
|
||||||
PROPERTIES DEPENDS ${tjbench}-${libtype}-tile-cp)
|
PROPERTIES DEPENDS ${tjbench}-${libtype}-tile-cp)
|
||||||
|
|
||||||
foreach(tile 8 16 32 64 128)
|
foreach(tile 8 16 32 64 128)
|
||||||
add_test(${tjbench}-${libtype}-tile-gray-${tile}x${tile}-cmp
|
add_test(NAME ${tjbench}-${libtype}-tile-gray-${tile}x${tile}-cmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP} ${MD5_PPM_GRAY_TILE}
|
COMMAND md5cmp ${MD5_PPM_GRAY_TILE}
|
||||||
${testout}_tile_GRAY_Q95_${tile}x${tile}.ppm)
|
${testout}_tile_GRAY_Q95_${tile}x${tile}.ppm)
|
||||||
foreach(subsamp 420 422)
|
foreach(subsamp 420 422)
|
||||||
add_test(${tjbench}-${libtype}-tile-${subsamp}-${tile}x${tile}-cmp
|
add_test(NAME ${tjbench}-${libtype}-tile-${subsamp}-${tile}x${tile}-cmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP}
|
COMMAND md5cmp ${MD5_PPM_${subsamp}_${tile}x${tile}_TILE}
|
||||||
${MD5_PPM_${subsamp}_${tile}x${tile}_TILE}
|
|
||||||
${testout}_tile_${subsamp}_Q95_${tile}x${tile}.ppm)
|
${testout}_tile_${subsamp}_Q95_${tile}x${tile}.ppm)
|
||||||
endforeach()
|
endforeach()
|
||||||
add_test(${tjbench}-${libtype}-tile-444-${tile}x${tile}-cmp
|
add_test(NAME ${tjbench}-${libtype}-tile-444-${tile}x${tile}-cmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP} ${MD5_PPM_444_TILE}
|
COMMAND md5cmp ${MD5_PPM_444_TILE}
|
||||||
${testout}_tile_444_Q95_${tile}x${tile}.ppm)
|
${testout}_tile_444_Q95_${tile}x${tile}.ppm)
|
||||||
foreach(subsamp gray 420 422 444)
|
foreach(subsamp gray 420 422 444)
|
||||||
set_tests_properties(
|
set_tests_properties(
|
||||||
@@ -1126,27 +1185,26 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
endforeach()
|
endforeach()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
add_test(${tjbench}-${libtype}-tilem-cp
|
add_test(NAME ${tjbench}-${libtype}-tilem-cp
|
||||||
${CMAKE_COMMAND} -E copy_if_different ${TESTIMAGES}/testorig.ppm
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${testout}_tilem.ppm)
|
${TESTIMAGES}/testorig.ppm ${testout}_tilem.ppm)
|
||||||
add_test(${tjbench}-${libtype}-tilem
|
add_test(NAME ${tjbench}-${libtype}-tilem
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} tjbench${suffix} ${testout}_tilem.ppm
|
COMMAND tjbench${suffix} ${testout}_tilem.ppm 95
|
||||||
95 -precision ${sample_bits} -rgb -fastupsample -quiet -tile
|
-precision ${sample_bits} -rgb -fastupsample -quiet -tile
|
||||||
-benchtime 0.01 -warmup 0)
|
-benchtime 0.01 -warmup 0)
|
||||||
set_tests_properties(${tjbench}-${libtype}-tilem
|
set_tests_properties(${tjbench}-${libtype}-tilem
|
||||||
PROPERTIES DEPENDS ${tjbench}-${libtype}-tilem-cp)
|
PROPERTIES DEPENDS ${tjbench}-${libtype}-tilem-cp)
|
||||||
|
|
||||||
add_test(${tjbench}-${libtype}-tile-420m-8x8-cmp
|
add_test(NAME ${tjbench}-${libtype}-tile-420m-8x8-cmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP} ${MD5_PPM_420M_8x8_TILE}
|
COMMAND md5cmp ${MD5_PPM_420M_8x8_TILE}
|
||||||
${testout}_tilem_420_Q95_8x8.ppm)
|
${testout}_tilem_420_Q95_8x8.ppm)
|
||||||
add_test(${tjbench}-${libtype}-tile-422m-8x8-cmp
|
add_test(NAME ${tjbench}-${libtype}-tile-422m-8x8-cmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP} ${MD5_PPM_422M_8x8_TILE}
|
COMMAND md5cmp ${MD5_PPM_422M_8x8_TILE}
|
||||||
${testout}_tilem_422_Q95_8x8.ppm)
|
${testout}_tilem_422_Q95_8x8.ppm)
|
||||||
foreach(tile 16 32 64 128)
|
foreach(tile 16 32 64 128)
|
||||||
foreach(subsamp 420 422)
|
foreach(subsamp 420 422)
|
||||||
add_test(${tjbench}-${libtype}-tile-${subsamp}m-${tile}x${tile}-cmp
|
add_test(NAME ${tjbench}-${libtype}-tile-${subsamp}m-${tile}x${tile}-cmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP}
|
COMMAND md5cmp ${MD5_PPM_${subsamp}M_TILE}
|
||||||
${MD5_PPM_${subsamp}M_TILE}
|
|
||||||
${testout}_tilem_${subsamp}_Q95_${tile}x${tile}.ppm)
|
${testout}_tilem_${subsamp}_Q95_${tile}x${tile}.ppm)
|
||||||
endforeach()
|
endforeach()
|
||||||
endforeach()
|
endforeach()
|
||||||
@@ -1176,11 +1234,11 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
endif()
|
endif()
|
||||||
string(REGEX REPLACE "16" "" ACTUAL_PROG ${PROG})
|
string(REGEX REPLACE "16" "" ACTUAL_PROG ${PROG})
|
||||||
string(REGEX REPLACE "12" "" ACTUAL_PROG ${ACTUAL_PROG})
|
string(REGEX REPLACE "12" "" ACTUAL_PROG ${ACTUAL_PROG})
|
||||||
add_test(${PROG}-${libtype}-${NAME}
|
add_test(NAME ${PROG}-${libtype}-${NAME}
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${ACTUAL_PROG}${suffix} ${ACTUAL_ARGS}
|
COMMAND ${ACTUAL_PROG}${suffix} ${ACTUAL_ARGS} -outfile ${OUTFILE}
|
||||||
-outfile ${OUTFILE} ${INFILE})
|
${INFILE})
|
||||||
add_test(${PROG}-${libtype}-${NAME}-cmp
|
add_test(NAME ${PROG}-${libtype}-${NAME}-cmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP} ${MD5SUM} ${OUTFILE})
|
COMMAND md5cmp ${MD5SUM} ${OUTFILE})
|
||||||
set_tests_properties(${PROG}-${libtype}-${NAME}-cmp PROPERTIES
|
set_tests_properties(${PROG}-${libtype}-${NAME}-cmp PROPERTIES
|
||||||
DEPENDS ${PROG}-${libtype}-${NAME})
|
DEPENDS ${PROG}-${libtype}-${NAME})
|
||||||
if(${ARGC} GREATER 6)
|
if(${ARGC} GREATER 6)
|
||||||
@@ -1210,11 +1268,11 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
set(cjpeg cjpeg12)
|
set(cjpeg cjpeg12)
|
||||||
set(djpeg djpeg12)
|
set(djpeg djpeg12)
|
||||||
set(jpegtran jpegtran12)
|
set(jpegtran jpegtran12)
|
||||||
set(testout testout12)
|
set(testout testout12${suffix})
|
||||||
|
|
||||||
set(TESTORIG testorig12.jpg)
|
set(TESTORIG testorig12.jpg)
|
||||||
set(MD5_JPEG_RGB_ISLOW 9d7369207c520d37f2c1cbfcb82b2964)
|
set(MD5_JPEG_RGB_ISLOW 9d7369207c520d37f2c1cbfcb82b2964)
|
||||||
set(MD5_JPEG_RGB_ISLOW2 a00bd20d8ae49684640ef7177d2e0b64)
|
set(MD5_JPEG_RGB_ISLOW2 e619791332a99813bdca9f56fd60f9f9)
|
||||||
set(MD5_PPM_RGB_ISLOW f3301d2219783b8b3d942b7239fa50c0)
|
set(MD5_PPM_RGB_ISLOW f3301d2219783b8b3d942b7239fa50c0)
|
||||||
set(MD5_JPEG_422_IFAST_OPT 7322e3bd2f127f7de4b40d4480ce60e4)
|
set(MD5_JPEG_422_IFAST_OPT 7322e3bd2f127f7de4b40d4480ce60e4)
|
||||||
set(MD5_PPM_422_IFAST 79807fa552899e66a04708f533e16950)
|
set(MD5_PPM_422_IFAST 79807fa552899e66a04708f533e16950)
|
||||||
@@ -1236,7 +1294,11 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
set(MD5_PPM_3x2_FLOAT_NO_FP_CONTRACT ${MD5_PPM_3x2_FLOAT_SSE})
|
set(MD5_PPM_3x2_FLOAT_NO_FP_CONTRACT ${MD5_PPM_3x2_FLOAT_SSE})
|
||||||
set(MD5_JPEG_3x2_FLOAT_PROG_FP_CONTRACT
|
set(MD5_JPEG_3x2_FLOAT_PROG_FP_CONTRACT
|
||||||
${MD5_JPEG_3x2_FLOAT_PROG_NO_FP_CONTRACT})
|
${MD5_JPEG_3x2_FLOAT_PROG_NO_FP_CONTRACT})
|
||||||
set(MD5_PPM_3x2_FLOAT_FP_CONTRACT ${MD5_PPM_3x2_FLOAT_SSE})
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
|
set(MD5_PPM_3x2_FLOAT_FP_CONTRACT 2da9de6ae869e88b8372de815d366b03)
|
||||||
|
else()
|
||||||
|
set(MD5_PPM_3x2_FLOAT_FP_CONTRACT ${MD5_PPM_3x2_FLOAT_SSE})
|
||||||
|
endif()
|
||||||
set(MD5_JPEG_3x2_FLOAT_PROG_387 bc6dbbefac2872f6b9d6c4a0ae60c3c0)
|
set(MD5_JPEG_3x2_FLOAT_PROG_387 bc6dbbefac2872f6b9d6c4a0ae60c3c0)
|
||||||
set(MD5_PPM_3x2_FLOAT_387 bcc5723c61560463ac60f772e742d092)
|
set(MD5_PPM_3x2_FLOAT_387 bcc5723c61560463ac60f772e742d092)
|
||||||
set(MD5_JPEG_3x2_FLOAT_PROG_MSVC e27840755870fa849872e58aa0cd1400)
|
set(MD5_JPEG_3x2_FLOAT_PROG_MSVC e27840755870fa849872e58aa0cd1400)
|
||||||
@@ -1267,16 +1329,16 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
set(MD5_JPEG_CROP cdb35ff4b4519392690ea040c56ea99c)
|
set(MD5_JPEG_CROP cdb35ff4b4519392690ea040c56ea99c)
|
||||||
|
|
||||||
set(MD5_JPEG_EXAMPLE_COMPRESS 5e502da0c3c0f957a58c536f31e973dc)
|
set(MD5_JPEG_EXAMPLE_COMPRESS 5e502da0c3c0f957a58c536f31e973dc)
|
||||||
set(MD5_PPM_EXAMPLE_DECOMPRESS 2ff0e8505ee6e0ffaeb24037d5650b57)
|
set(MD5_PPM_EXAMPLE_DECOMPRESS 70194fdcb73370ee7ba0db868d0c6fc8)
|
||||||
else()
|
else()
|
||||||
set(cjpeg cjpeg)
|
set(cjpeg cjpeg)
|
||||||
set(djpeg djpeg)
|
set(djpeg djpeg)
|
||||||
set(jpegtran jpegtran)
|
set(jpegtran jpegtran)
|
||||||
set(testout testout)
|
set(testout testout${suffix})
|
||||||
|
|
||||||
set(TESTORIG testorig.jpg)
|
set(TESTORIG testorig.jpg)
|
||||||
set(MD5_JPEG_RGB_ISLOW 1d44a406f61da743b5fd31c0a9abdca3)
|
set(MD5_JPEG_RGB_ISLOW 1d44a406f61da743b5fd31c0a9abdca3)
|
||||||
set(MD5_JPEG_RGB_ISLOW2 31d121e57b6c2934c890a7fc7763bcd4)
|
set(MD5_JPEG_RGB_ISLOW2 b811e5ad807beb9384e51ef6a47f715d)
|
||||||
set(MD5_PPM_RGB_ISLOW 00a257f5393fef8821f2b88ac7421291)
|
set(MD5_PPM_RGB_ISLOW 00a257f5393fef8821f2b88ac7421291)
|
||||||
set(MD5_BMP_RGB_ISLOW_565 f07d2e75073e4bb10f6c6f4d36e2e3be)
|
set(MD5_BMP_RGB_ISLOW_565 f07d2e75073e4bb10f6c6f4d36e2e3be)
|
||||||
set(MD5_BMP_RGB_ISLOW_565D 4cfa0928ef3e6bb626d7728c924cfda4)
|
set(MD5_BMP_RGB_ISLOW_565D 4cfa0928ef3e6bb626d7728c924cfda4)
|
||||||
@@ -1304,7 +1366,11 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
set(MD5_PPM_3x2_FLOAT_NO_FP_CONTRACT f6bfab038438ed8f5522fbd33595dcdc)
|
set(MD5_PPM_3x2_FLOAT_NO_FP_CONTRACT f6bfab038438ed8f5522fbd33595dcdc)
|
||||||
set(MD5_JPEG_3x2_FLOAT_PROG_FP_CONTRACT
|
set(MD5_JPEG_3x2_FLOAT_PROG_FP_CONTRACT
|
||||||
${MD5_JPEG_3x2_FLOAT_PROG_NO_FP_CONTRACT})
|
${MD5_JPEG_3x2_FLOAT_PROG_NO_FP_CONTRACT})
|
||||||
set(MD5_PPM_3x2_FLOAT_FP_CONTRACT 0e917a34193ef976b679a6b069b1be26)
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
|
set(MD5_PPM_3x2_FLOAT_FP_CONTRACT ${MD5_PPM_3x2_FLOAT_NO_FP_CONTRACT})
|
||||||
|
else()
|
||||||
|
set(MD5_PPM_3x2_FLOAT_FP_CONTRACT 0e917a34193ef976b679a6b069b1be26)
|
||||||
|
endif()
|
||||||
set(MD5_JPEG_3x2_FLOAT_PROG_387 1657664a410e0822c924b54f6f65e6e9)
|
set(MD5_JPEG_3x2_FLOAT_PROG_387 1657664a410e0822c924b54f6f65e6e9)
|
||||||
set(MD5_PPM_3x2_FLOAT_387 cb0a1f027f3d2917c902b5640214e025)
|
set(MD5_PPM_3x2_FLOAT_387 cb0a1f027f3d2917c902b5640214e025)
|
||||||
set(MD5_JPEG_3x2_FLOAT_PROG_MSVC 7999ce9cd0ee9b6c7043b7351ab7639d)
|
set(MD5_JPEG_3x2_FLOAT_PROG_MSVC 7999ce9cd0ee9b6c7043b7351ab7639d)
|
||||||
@@ -1347,7 +1413,7 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
set(MD5_JPEG_CROP b4197f377e621c4e9b1d20471432610d)
|
set(MD5_JPEG_CROP b4197f377e621c4e9b1d20471432610d)
|
||||||
|
|
||||||
set(MD5_JPEG_EXAMPLE_COMPRESS 95d4d72e2ef127332654c2599afb47bf)
|
set(MD5_JPEG_EXAMPLE_COMPRESS 95d4d72e2ef127332654c2599afb47bf)
|
||||||
set(MD5_PPM_EXAMPLE_DECOMPRESS 6fdde7301575bfd711e295b969b6b3de)
|
set(MD5_PPM_EXAMPLE_DECOMPRESS dea1d7bbc37e39adf628342c86096641)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# CC: null SAMP: fullsize FDCT: islow ENT: huff
|
# CC: null SAMP: fullsize FDCT: islow ENT: huff
|
||||||
@@ -1361,13 +1427,12 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
${testout}_rgb_islow.ppm ${testout}_rgb_islow.jpg
|
${testout}_rgb_islow.ppm ${testout}_rgb_islow.jpg
|
||||||
${MD5_PPM_RGB_ISLOW} ${cjpeg}-${libtype}-rgb-islow)
|
${MD5_PPM_RGB_ISLOW} ${cjpeg}-${libtype}-rgb-islow)
|
||||||
|
|
||||||
add_test(${djpeg}-${libtype}-rgb-islow-icc-cmp
|
add_test(NAME ${djpeg}-${libtype}-rgb-islow-icc-cmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP}
|
COMMAND md5cmp b06a39d730129122e85c1363ed1bbc9e ${testout}_rgb_islow.icc)
|
||||||
b06a39d730129122e85c1363ed1bbc9e ${testout}_rgb_islow.icc)
|
|
||||||
set_tests_properties(${djpeg}-${libtype}-rgb-islow-icc-cmp PROPERTIES
|
set_tests_properties(${djpeg}-${libtype}-rgb-islow-icc-cmp PROPERTIES
|
||||||
DEPENDS ${djpeg}-${libtype}-rgb-islow)
|
DEPENDS ${djpeg}-${libtype}-rgb-islow)
|
||||||
|
|
||||||
add_bittest(${jpegtran} icc "-copy;all;-icc;${TESTIMAGES}/test2.icc"
|
add_bittest(${jpegtran} icc "-copy;all;-icc;${TESTIMAGES}/test3.icc"
|
||||||
${testout}_rgb_islow2.jpg ${testout}_rgb_islow.jpg
|
${testout}_rgb_islow2.jpg ${testout}_rgb_islow.jpg
|
||||||
${MD5_JPEG_RGB_ISLOW2} ${cjpeg}-${libtype}-rgb-islow)
|
${MD5_JPEG_RGB_ISLOW2} ${cjpeg}-${libtype}-rgb-islow)
|
||||||
|
|
||||||
@@ -1403,11 +1468,6 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
${testout}_440_islow.ppm ${testout}_440_islow.jpg
|
${testout}_440_islow.ppm ${testout}_440_islow.jpg
|
||||||
${MD5_PPM_440_ISLOW} ${cjpeg}-${libtype}-440-islow)
|
${MD5_PPM_440_ISLOW} ${cjpeg}-${libtype}-440-islow)
|
||||||
|
|
||||||
# CC: YCC->RGB SAMP: fullsize/int IDCT: float ENT: prog huff
|
|
||||||
add_bittest(djpeg 3x2-float-prog "-revert;-dct;float"
|
|
||||||
testout_3x2_float.ppm testout_3x2_float_prog.jpg
|
|
||||||
${MD5_PPM_3x2_FLOAT_${FLOATTEST_UC}} cjpeg-${libtype}-3x2-float-prog)
|
|
||||||
|
|
||||||
# CC: YCC->RGB SAMP: h2v1 merged IDCT: ifast ENT: huff
|
# CC: YCC->RGB SAMP: h2v1 merged IDCT: ifast ENT: huff
|
||||||
add_bittest(${djpeg} 422m-ifast "-revert;-dct;fast;-nosmooth"
|
add_bittest(${djpeg} 422m-ifast "-revert;-dct;fast;-nosmooth"
|
||||||
${testout}_422m_ifast.ppm ${testout}_422_ifast_opt.jpg
|
${testout}_422m_ifast.ppm ${testout}_422_ifast_opt.jpg
|
||||||
@@ -1612,10 +1672,9 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
|
|
||||||
# Context rows: Yes Intra-iMCU row: No iMCU row prefetch: No
|
# Context rows: Yes Intra-iMCU row: No iMCU row prefetch: No
|
||||||
# ENT: prog huff
|
# ENT: prog huff
|
||||||
add_test(${cjpeg}-${libtype}-420-islow-prog
|
add_test(NAME ${cjpeg}-${libtype}-420-islow-prog
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} cjpeg${suffix} -dct int -prog
|
COMMAND cjpeg${suffix} -revert -dct int -prog -precision ${sample_bits}
|
||||||
-precision ${sample_bits} -outfile ${testout}_420_islow_prog.jpg
|
-outfile ${testout}_420_islow_prog.jpg ${TESTIMAGES}/testorig.ppm)
|
||||||
${TESTIMAGES}/testorig.ppm)
|
|
||||||
add_bittest(${djpeg} 420-islow-prog-crop62x62_71_71
|
add_bittest(${djpeg} 420-islow-prog-crop62x62_71_71
|
||||||
"-revert;-dct;int;-crop;62x62+71+71;-ppm"
|
"-revert;-dct;int;-crop;62x62+71+71;-ppm"
|
||||||
${testout}_420_islow_prog_crop62x62,71,71.ppm
|
${testout}_420_islow_prog_crop62x62,71,71.ppm
|
||||||
@@ -1632,19 +1691,18 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Context rows: No Intra-iMCU row: Yes ENT: huff
|
# Context rows: No Intra-iMCU row: Yes ENT: huff
|
||||||
add_test(${cjpeg}-${libtype}-444-islow
|
add_test(NAME ${cjpeg}-${libtype}-444-islow
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} cjpeg${suffix} -dct int -sample 1x1
|
COMMAND cjpeg${suffix} -revert -dct int -sample 1x1 -precision ${sample_bits}
|
||||||
-precision ${sample_bits} -outfile ${testout}_444_islow.jpg
|
-outfile ${testout}_444_islow.jpg ${TESTIMAGES}/testorig.ppm)
|
||||||
${TESTIMAGES}/testorig.ppm)
|
|
||||||
add_bittest(${djpeg} 444-islow-skip1_6 "-revert;-dct;int;-skip;1,6;-ppm"
|
add_bittest(${djpeg} 444-islow-skip1_6 "-revert;-dct;int;-skip;1,6;-ppm"
|
||||||
${testout}_444_islow_skip1,6.ppm ${testout}_444_islow.jpg
|
${testout}_444_islow_skip1,6.ppm ${testout}_444_islow.jpg
|
||||||
${MD5_PPM_444_ISLOW_SKIP1_6} ${cjpeg}-${libtype}-444-islow)
|
${MD5_PPM_444_ISLOW_SKIP1_6} ${cjpeg}-${libtype}-444-islow)
|
||||||
|
|
||||||
# Context rows: No Intra-iMCU row: No ENT: prog huff
|
# Context rows: No Intra-iMCU row: No ENT: prog huff
|
||||||
add_test(${cjpeg}-${libtype}-444-islow-prog
|
add_test(NAME ${cjpeg}-${libtype}-444-islow-prog
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} cjpeg${suffix} -dct int -prog
|
COMMAND cjpeg${suffix} -revert -dct int -prog -precision ${sample_bits}
|
||||||
-precision ${sample_bits} -sample 1x1
|
-sample 1x1 -outfile ${testout}_444_islow_prog.jpg
|
||||||
-outfile ${testout}_444_islow_prog.jpg ${TESTIMAGES}/testorig.ppm)
|
${TESTIMAGES}/testorig.ppm)
|
||||||
add_bittest(${djpeg} 444-islow-prog-crop98x98_13_13
|
add_bittest(${djpeg} 444-islow-prog-crop98x98_13_13
|
||||||
"-revert;-dct;int;-crop;98x98+13+13;-ppm"
|
"-revert;-dct;int;-crop;98x98+13+13;-ppm"
|
||||||
${testout}_444_islow_prog_crop98x98,13,13.ppm
|
${testout}_444_islow_prog_crop98x98,13,13.ppm
|
||||||
@@ -1653,10 +1711,10 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
|
|
||||||
# Context rows: No Intra-iMCU row: No ENT: arith
|
# Context rows: No Intra-iMCU row: No ENT: arith
|
||||||
if(WITH_ARITH_ENC AND sample_bits EQUAL 8)
|
if(WITH_ARITH_ENC AND sample_bits EQUAL 8)
|
||||||
add_test(${cjpeg}-${libtype}-444-islow-ari
|
add_test(NAME ${cjpeg}-${libtype}-444-islow-ari
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} cjpeg${suffix} -dct int -arithmetic
|
COMMAND cjpeg${suffix} -revert -dct int -arithmetic -sample 1x1
|
||||||
-sample 1x1 -precision ${sample_bits}
|
-precision ${sample_bits} -outfile ${testout}_444_islow_ari.jpg
|
||||||
-outfile ${testout}_444_islow_ari.jpg ${TESTIMAGES}/testorig.ppm)
|
${TESTIMAGES}/testorig.ppm)
|
||||||
if(WITH_ARITH_DEC)
|
if(WITH_ARITH_DEC)
|
||||||
add_bittest(${djpeg} 444-islow-ari-crop37x37_0_0
|
add_bittest(${djpeg} 444-islow-ari-crop37x37_0_0
|
||||||
"-revert;-dct;int;-crop;37x37+0+0;-ppm"
|
"-revert;-dct;int;-crop;37x37+0+0;-ppm"
|
||||||
@@ -1675,21 +1733,19 @@ foreach(libtype ${TEST_LIBTYPES})
|
|||||||
set(EXAMPLE_12BIT_ARG "-precision;12")
|
set(EXAMPLE_12BIT_ARG "-precision;12")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_test(example-${sample_bits}bit-${libtype}-compress
|
add_test(NAME example-${sample_bits}bit-${libtype}-compress
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} example${suffix} compress -q 95
|
COMMAND example${suffix} compress -q 95 ${EXAMPLE_12BIT_ARG}
|
||||||
${EXAMPLE_12BIT_ARG} ${testout}-example.jpg)
|
|
||||||
add_test(example-${sample_bits}bit-${libtype}-compress-cmp
|
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP} ${MD5_JPEG_EXAMPLE_COMPRESS}
|
|
||||||
${testout}-example.jpg)
|
${testout}-example.jpg)
|
||||||
|
add_test(NAME example-${sample_bits}bit-${libtype}-compress-cmp
|
||||||
|
COMMAND md5cmp ${MD5_JPEG_EXAMPLE_COMPRESS} ${testout}-example.jpg)
|
||||||
set_tests_properties(example-${sample_bits}bit-${libtype}-compress-cmp
|
set_tests_properties(example-${sample_bits}bit-${libtype}-compress-cmp
|
||||||
PROPERTIES DEPENDS example-${sample_bits}bit-${libtype}-compress)
|
PROPERTIES DEPENDS example-${sample_bits}bit-${libtype}-compress)
|
||||||
|
|
||||||
add_test(example-${sample_bits}bit-${libtype}-decompress
|
add_test(NAME example-${sample_bits}bit-${libtype}-decompress
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} example${suffix} decompress
|
COMMAND example${suffix} decompress ${EXAMPLE_12BIT_ARG}
|
||||||
${EXAMPLE_12BIT_ARG} ${testout}-example.jpg ${testout}-example.ppm)
|
${TESTIMAGES}/${TESTORIG} ${testout}-example.ppm)
|
||||||
add_test(example-${sample_bits}bit-${libtype}-decompress-cmp
|
add_test(NAME example-${sample_bits}bit-${libtype}-decompress-cmp
|
||||||
${CMAKE_CROSSCOMPILING_EMULATOR} ${MD5CMP} ${MD5_PPM_EXAMPLE_DECOMPRESS}
|
COMMAND md5cmp ${MD5_PPM_EXAMPLE_DECOMPRESS} ${testout}-example.ppm)
|
||||||
${testout}-example.ppm)
|
|
||||||
set_tests_properties(example-${sample_bits}bit-${libtype}-decompress-cmp
|
set_tests_properties(example-${sample_bits}bit-${libtype}-decompress-cmp
|
||||||
PROPERTIES DEPENDS example-${sample_bits}bit-${libtype}-decompress)
|
PROPERTIES DEPENDS example-${sample_bits}bit-${libtype}-decompress)
|
||||||
|
|
||||||
@@ -1739,21 +1795,21 @@ if(WITH_TURBOJPEG)
|
|||||||
if(ENABLE_SHARED)
|
if(ENABLE_SHARED)
|
||||||
install(TARGETS turbojpeg EXPORT ${CMAKE_PROJECT_NAME}Targets
|
install(TARGETS turbojpeg EXPORT ${CMAKE_PROJECT_NAME}Targets
|
||||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin)
|
||||||
install(TARGETS tjbench
|
install(TARGETS tjbench
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin)
|
||||||
if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND
|
if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC_LIKE AND
|
||||||
CMAKE_C_LINKER_SUPPORTS_PDB)
|
CMAKE_C_LINKER_SUPPORTS_PDB)
|
||||||
install(FILES "$<TARGET_PDB_FILE:turbojpeg>"
|
install(FILES "$<TARGET_PDB_FILE:turbojpeg>"
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
|
DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin OPTIONAL)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(ENABLE_STATIC)
|
if(ENABLE_STATIC)
|
||||||
install(TARGETS turbojpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets
|
install(TARGETS turbojpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets
|
||||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib)
|
||||||
if(NOT ENABLE_SHARED)
|
if(NOT ENABLE_SHARED)
|
||||||
if(GENERATOR_IS_MULTI_CONFIG)
|
if(GENERATOR_IS_MULTI_CONFIG)
|
||||||
set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
|
set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
|
||||||
@@ -1761,17 +1817,17 @@ if(WITH_TURBOJPEG)
|
|||||||
set(DIR ${CMAKE_CURRENT_BINARY_DIR})
|
set(DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
endif()
|
endif()
|
||||||
install(PROGRAMS ${DIR}/tjbench-static${EXE}
|
install(PROGRAMS ${DIR}/tjbench-static${EXE}
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE})
|
DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin RENAME tjbench${EXE})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h
|
||||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT include)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_STATIC)
|
if(ENABLE_STATIC)
|
||||||
install(TARGETS jpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets
|
install(TARGETS jpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets
|
||||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib)
|
||||||
if(NOT ENABLE_SHARED)
|
if(NOT ENABLE_SHARED)
|
||||||
if(GENERATOR_IS_MULTI_CONFIG)
|
if(GENERATOR_IS_MULTI_CONFIG)
|
||||||
set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
|
set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
|
||||||
@@ -1779,15 +1835,16 @@ if(ENABLE_STATIC)
|
|||||||
set(DIR ${CMAKE_CURRENT_BINARY_DIR})
|
set(DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
endif()
|
endif()
|
||||||
install(PROGRAMS ${DIR}/cjpeg-static${EXE}
|
install(PROGRAMS ${DIR}/cjpeg-static${EXE}
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME cjpeg${EXE})
|
DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin RENAME cjpeg${EXE})
|
||||||
install(PROGRAMS ${DIR}/djpeg-static${EXE}
|
install(PROGRAMS ${DIR}/djpeg-static${EXE}
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME djpeg${EXE})
|
DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin RENAME djpeg${EXE})
|
||||||
install(PROGRAMS ${DIR}/jpegtran-static${EXE}
|
install(PROGRAMS ${DIR}/jpegtran-static${EXE}
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME jpegtran${EXE})
|
DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin RENAME jpegtran${EXE})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
install(TARGETS rdjpgcom wrjpgcom
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin)
|
||||||
|
|
||||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.c
|
${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.c
|
||||||
@@ -1795,10 +1852,11 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/libjpeg.txt
|
${CMAKE_CURRENT_SOURCE_DIR}/libjpeg.txt
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/structure.txt
|
${CMAKE_CURRENT_SOURCE_DIR}/structure.txt
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/usage.txt ${CMAKE_CURRENT_SOURCE_DIR}/wizard.txt
|
${CMAKE_CURRENT_SOURCE_DIR}/usage.txt ${CMAKE_CURRENT_SOURCE_DIR}/wizard.txt
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
||||||
|
COMPONENT doc)
|
||||||
if(WITH_JAVA)
|
if(WITH_JAVA)
|
||||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.java
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.java
|
||||||
DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT doc)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX OR MINGW)
|
if(UNIX OR MINGW)
|
||||||
@@ -1806,26 +1864,28 @@ if(UNIX OR MINGW)
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/djpeg.1 ${CMAKE_CURRENT_SOURCE_DIR}/jpegtran.1
|
${CMAKE_CURRENT_SOURCE_DIR}/djpeg.1 ${CMAKE_CURRENT_SOURCE_DIR}/jpegtran.1
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/rdjpgcom.1
|
${CMAKE_CURRENT_SOURCE_DIR}/rdjpgcom.1
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/wrjpgcom.1
|
${CMAKE_CURRENT_SOURCE_DIR}/wrjpgcom.1
|
||||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT man)
|
||||||
endif()
|
endif()
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libjpeg.pc
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libjpeg.pc
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT lib)
|
||||||
if(WITH_TURBOJPEG)
|
if(WITH_TURBOJPEG)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libturbojpeg.pc
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libturbojpeg.pc
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT lib)
|
||||||
endif()
|
endif()
|
||||||
install(FILES
|
install(FILES
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/${CMAKE_PROJECT_NAME}Config.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/${CMAKE_PROJECT_NAME}Config.cmake
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/${CMAKE_PROJECT_NAME}ConfigVersion.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/${CMAKE_PROJECT_NAME}ConfigVersion.cmake
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME})
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}
|
||||||
|
COMPONENT lib)
|
||||||
install(EXPORT ${CMAKE_PROJECT_NAME}Targets
|
install(EXPORT ${CMAKE_PROJECT_NAME}Targets
|
||||||
NAMESPACE ${CMAKE_PROJECT_NAME}::
|
NAMESPACE ${CMAKE_PROJECT_NAME}::
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME})
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}
|
||||||
|
COMPONENT lib)
|
||||||
|
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/jerror.h ${CMAKE_CURRENT_SOURCE_DIR}/jmorecfg.h
|
${CMAKE_CURRENT_SOURCE_DIR}/jerror.h ${CMAKE_CURRENT_SOURCE_DIR}/jmorecfg.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/jpeglib.h
|
${CMAKE_CURRENT_SOURCE_DIR}/jpeglib.h
|
||||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT include)
|
||||||
|
|
||||||
include(cmakescripts/BuildPackages.cmake)
|
include(cmakescripts/BuildPackages.cmake)
|
||||||
|
|
||||||
|
|||||||
211
ChangeLog.md
@@ -1,3 +1,172 @@
|
|||||||
|
3.0.5
|
||||||
|
=====
|
||||||
|
|
||||||
|
### Significant changes relative to 3.0.4:
|
||||||
|
|
||||||
|
1. Fixed an issue in the TurboJPEG API whereby, when generating a
|
||||||
|
12-bit-per-sample or 16-bit-per-sample lossless JPEG image, specifying a point
|
||||||
|
transform value greater than 7 resulted in an error ("Parameter value out of
|
||||||
|
range".)
|
||||||
|
|
||||||
|
2. Fixed a regression introduced by 1.4 beta1[3] that prevented
|
||||||
|
`jpeg_set_defaults()` from resetting the Huffman tables to default (baseline)
|
||||||
|
values if Huffman table optimization or progressive mode was previously enabled
|
||||||
|
in the same libjpeg instance.
|
||||||
|
|
||||||
|
3. Fixed an issue whereby lossless JPEG compression could not be disabled if it
|
||||||
|
was previously enabled in a libjpeg or TurboJPEG instance.
|
||||||
|
`jpeg_set_defaults()` now disables lossless JPEG compression in a libjpeg
|
||||||
|
instance, and setting `TJPARAM_LOSSLESS`/`TJ.PARAM_LOSSLESS` to `0` now
|
||||||
|
disables lossless JPEG compression in a TurboJPEG instance.
|
||||||
|
|
||||||
|
4. Hardened the libjpeg API against hypothetical calling applications that may
|
||||||
|
erroneously change the value of the `data_precision` field in
|
||||||
|
`jpeg_compress_struct` or `jpeg_decompress_struct` after calling
|
||||||
|
`jpeg_start_compress()` or `jpeg_start_decompress()`.
|
||||||
|
|
||||||
|
|
||||||
|
3.0.4
|
||||||
|
=====
|
||||||
|
|
||||||
|
### Significant changes relative to 3.0.3:
|
||||||
|
|
||||||
|
1. Fixed an issue whereby the CPU usage of the default marker processor in the
|
||||||
|
decompressor grew exponentially with the number of markers. This caused an
|
||||||
|
unreasonable slow-down in `jpeg_read_header()` if an application called
|
||||||
|
`jpeg_save_markers()` to save markers of a particular type and then attempted
|
||||||
|
to decompress a JPEG image containing an excessive number of markers of that
|
||||||
|
type.
|
||||||
|
|
||||||
|
2. Hardened the default marker processor in the decompressor to guard against
|
||||||
|
an issue (exposed by 3.0 beta2[6]) whereby attempting to decompress a
|
||||||
|
specially-crafted malformed JPEG image (specifically an image with a complete
|
||||||
|
12-bit-per-sample Start Of Frame segment followed by an incomplete
|
||||||
|
8-bit-per-sample Start Of Frame segment) using buffered-image mode and input
|
||||||
|
prefetching caused a segfault if the `fill_input_buffer()` method in the
|
||||||
|
calling application's custom source manager incorrectly returned `FALSE` in
|
||||||
|
response to a prematurely-terminated JPEG data stream.
|
||||||
|
|
||||||
|
3. Fixed an issue in cjpeg whereby, when generating a 12-bit-per-sample or
|
||||||
|
16-bit-per-sample lossless JPEG image, specifying a point transform value
|
||||||
|
greater than 7 resulted in an error ("Invalid progressive/lossless parameters")
|
||||||
|
unless the `-precision` option was specified before the `-lossless` option.
|
||||||
|
|
||||||
|
4. Fixed a regression introduced by 3.0.3[3] that made it impossible for
|
||||||
|
calling applications to generate 12-bit-per-sample arithmetic-coded lossy JPEG
|
||||||
|
images using the TurboJPEG API.
|
||||||
|
|
||||||
|
5. Fixed an error ("Destination buffer is not large enough") that occurred when
|
||||||
|
attempting to generate a full-color lossless JPEG image using the TurboJPEG
|
||||||
|
Java API's `byte[] TJCompressor.compress()` method if the value of
|
||||||
|
`TJ.PARAM_SUBSAMP` was not `TJ.SAMP_444`.
|
||||||
|
|
||||||
|
6. Fixed a segfault in djpeg that occurred if a negative width was specified
|
||||||
|
with the `-crop` option. Since the cropping region width was read into an
|
||||||
|
unsigned 32-bit integer, a negative width was interpreted as a very large
|
||||||
|
value. With certain negative width and positive left boundary values, the
|
||||||
|
bounds checks in djpeg and `jpeg_crop_scanline()` overflowed and did not detect
|
||||||
|
the out-of-bounds width, which caused a buffer overrun in the upsampling or
|
||||||
|
color conversion routine. Both bounds checks now use 64-bit integers to guard
|
||||||
|
against overflow, and djpeg now checks for negative numbers when it parses the
|
||||||
|
crop specification from the command line.
|
||||||
|
|
||||||
|
7. Fixed an issue whereby the TurboJPEG lossless transformation function and
|
||||||
|
methods checked the specified cropping region against the source image
|
||||||
|
dimensions and level of chrominance subsampling rather than the destination
|
||||||
|
image dimensions and level of chrominance subsampling, which caused some
|
||||||
|
cropping regions to be unduly rejected when performing 90-degree rotation,
|
||||||
|
270-degree rotation, transposition, transverse transposition, or grayscale
|
||||||
|
conversion.
|
||||||
|
|
||||||
|
8. Fixed a regression, introduced by 3.0 beta2[4], that prevented the
|
||||||
|
`tjTransform()` backward compatibility function from copying extra markers from
|
||||||
|
the source image to the destination image.
|
||||||
|
|
||||||
|
9. Fixed an issue whereby the TurboJPEG lossless transformation function and
|
||||||
|
methods did not honor `TJXOPT_COPYNONE`/`TJTransform.OPT_COPYNONE` unless it
|
||||||
|
was specified for all lossless transforms.
|
||||||
|
|
||||||
|
|
||||||
|
3.0.3
|
||||||
|
=====
|
||||||
|
|
||||||
|
### Significant changes relative to 3.0.2:
|
||||||
|
|
||||||
|
1. Fixed an issue in the build system, introduced in 3.0.2, that caused all
|
||||||
|
libjpeg-turbo components to depend on the Visual C++ run-time DLL when built
|
||||||
|
with Visual C++ and CMake 3.15 or later, regardless of value of the
|
||||||
|
`WITH_CRT_DLL` CMake variable.
|
||||||
|
|
||||||
|
2. The x86-64 SIMD extensions now include support for Intel Control-flow
|
||||||
|
Enforcement Technology (CET), which is enabled automatically if CET is enabled
|
||||||
|
in the C compiler.
|
||||||
|
|
||||||
|
3. Fixed a regression introduced by 3.0 beta2[6] that made it impossible for
|
||||||
|
calling applications to supply custom Huffman tables when generating
|
||||||
|
12-bit-per-component lossy JPEG images using the libjpeg API.
|
||||||
|
|
||||||
|
4. Fixed a segfault that occurred when attempting to use the jpegtran `-drop`
|
||||||
|
option with a specially-crafted malformed input image or drop image
|
||||||
|
(specifically an image in which all of the scans contain fewer components than
|
||||||
|
the number of components specified in the Start Of Frame segment.)
|
||||||
|
|
||||||
|
|
||||||
|
3.0.2
|
||||||
|
=====
|
||||||
|
|
||||||
|
### Significant changes relative to 3.0.1:
|
||||||
|
|
||||||
|
1. Fixed a signed integer overflow in the `tj3CompressFromYUV8()`,
|
||||||
|
`tj3DecodeYUV8()`, `tj3DecompressToYUV8()`, and `tj3EncodeYUV8()` functions,
|
||||||
|
detected by the Clang and GCC undefined behavior sanitizers, that could be
|
||||||
|
triggered by setting the `align` parameter to an unreasonably large value.
|
||||||
|
This issue did not pose a security threat, but removing the warning made it
|
||||||
|
easier to detect actual security issues, should they arise in the future.
|
||||||
|
|
||||||
|
2. Introduced a new parameter (`TJPARAM_MAXMEMORY` in the TurboJPEG C API and
|
||||||
|
`TJ.PARAM_MAXMEMORY` in the TurboJPEG Java API) and a corresponding TJBench
|
||||||
|
option (`-maxmemory`) for specifying the maximum amount of memory (in
|
||||||
|
megabytes) that will be allocated for intermediate buffers, which are used with
|
||||||
|
progressive JPEG compression and decompression, Huffman table optimization,
|
||||||
|
lossless JPEG compression, and lossless transformation. The new parameter and
|
||||||
|
option serve the same purpose as the `max_memory_to_use` field in the
|
||||||
|
`jpeg_memory_mgr` struct in the libjpeg API, the `JPEGMEM` environment
|
||||||
|
variable, and the cjpeg/djpeg/jpegtran `-maxmemory` option.
|
||||||
|
|
||||||
|
3. Introduced a new parameter (`TJPARAM_MAXPIXELS` in the TurboJPEG C API and
|
||||||
|
`TJ.PARAM_MAXPIXELS` in the TurboJPEG Java API) and a corresponding TJBench
|
||||||
|
option (`-maxpixels`) for specifying the maximum number of pixels that the
|
||||||
|
decompression, lossless transformation, and packed-pixel image loading
|
||||||
|
functions/methods will process.
|
||||||
|
|
||||||
|
4. Fixed an error ("Unsupported color conversion request") that occurred when
|
||||||
|
attempting to decompress a 3-component lossless JPEG image without an Adobe
|
||||||
|
APP14 marker. The decompressor now assumes that a 3-component lossless JPEG
|
||||||
|
image without an Adobe APP14 marker uses the RGB colorspace if its component
|
||||||
|
IDs are 1, 2, and 3.
|
||||||
|
|
||||||
|
|
||||||
|
3.0.1
|
||||||
|
=====
|
||||||
|
|
||||||
|
### Significant changes relative to 3.0.0:
|
||||||
|
|
||||||
|
1. The x86-64 SIMD functions now use a standard stack frame, prologue, and
|
||||||
|
epilogue so that debuggers and profilers can reliably capture backtraces from
|
||||||
|
within the functions.
|
||||||
|
|
||||||
|
2. Fixed two minor issues in the interblock smoothing algorithm that caused
|
||||||
|
mathematical (but not necessarily perceptible) edge block errors when
|
||||||
|
decompressing progressive JPEG images exactly two DCT blocks in width or that
|
||||||
|
use vertical chrominance subsampling.
|
||||||
|
|
||||||
|
3. Fixed a regression introduced by 3.0 beta2[6] that, in rare cases, caused
|
||||||
|
the C Huffman encoder (which is not used by default on x86 and Arm CPUs) to
|
||||||
|
generate incorrect results if the Neon SIMD extensions were explicitly disabled
|
||||||
|
at build time (by setting the `WITH_SIMD` CMake variable to `0`) in an AArch64
|
||||||
|
build of libjpeg-turbo.
|
||||||
|
|
||||||
|
|
||||||
3.0.0
|
3.0.0
|
||||||
=====
|
=====
|
||||||
|
|
||||||
@@ -99,11 +268,10 @@ through pointer arguments.
|
|||||||
- `TJFLAG_LIMITSCANS`/`TJ.FLAG_LIMITSCANS` has been reimplemented as an
|
- `TJFLAG_LIMITSCANS`/`TJ.FLAG_LIMITSCANS` has been reimplemented as an
|
||||||
API parameter (`TJPARAM_SCANLIMIT`/`TJ.PARAM_SCANLIMIT`) that allows the number
|
API parameter (`TJPARAM_SCANLIMIT`/`TJ.PARAM_SCANLIMIT`) that allows the number
|
||||||
of scans to be specified.
|
of scans to be specified.
|
||||||
- Optimized baseline entropy coding (the computation of optimal Huffman
|
- Huffman table optimization can now be specified using a new API
|
||||||
tables, as opposed to using the default Huffman tables) can now be specified,
|
parameter (`TJPARAM_OPTIMIZE`/`TJ.PARAM_OPTIMIZE`), a new transform option
|
||||||
using a new API parameter (`TJPARAM_OPTIMIZE`/`TJ.PARAM_OPTIMIZE`), a new
|
(`TJXOPT_OPTIMIZE`/`TJTransform.OPT_OPTIMIZE`), and a new TJBench option
|
||||||
transform option (`TJXOPT_OPTIMIZE`/`TJTransform.OPT_OPTIMIZE`), and a new
|
(`-optimize`.)
|
||||||
TJBench option (`-optimize`.)
|
|
||||||
- Arithmetic entropy coding can now be specified or queried, using a new
|
- Arithmetic entropy coding can now be specified or queried, using a new
|
||||||
API parameter (`TJPARAM_ARITHMETIC`/`TJ.PARAM_ARITHMETIC`), a new transform
|
API parameter (`TJPARAM_ARITHMETIC`/`TJ.PARAM_ARITHMETIC`), a new transform
|
||||||
option (`TJXOPT_ARITHMETIC`/`TJTransform.OPT_ARITHMETIC`), and a new TJBench
|
option (`TJXOPT_ARITHMETIC`/`TJTransform.OPT_ARITHMETIC`), and a new TJBench
|
||||||
@@ -346,9 +514,9 @@ prevented libjpeg-turbo from working properly with other linkers and also
|
|||||||
represented a potential security risk.
|
represented a potential security risk.
|
||||||
|
|
||||||
2. Fixed an issue whereby the `tjTransform()` function incorrectly computed the
|
2. Fixed an issue whereby the `tjTransform()` function incorrectly computed the
|
||||||
MCU block size for 4:4:4 JPEG images with non-unary sampling factors and thus
|
iMCU size for 4:4:4 JPEG images with non-unary sampling factors and thus unduly
|
||||||
unduly rejected some cropping regions, even though those regions aligned with
|
rejected some cropping regions, even though those regions aligned with 8x8 iMCU
|
||||||
8x8 MCU block boundaries.
|
boundaries.
|
||||||
|
|
||||||
3. Fixed a regression introduced by 2.1 beta1[13] that caused the build system
|
3. Fixed a regression introduced by 2.1 beta1[13] that caused the build system
|
||||||
to enable the Arm Neon SIMD extensions when targetting Armv6 and other legacy
|
to enable the Arm Neon SIMD extensions when targetting Armv6 and other legacy
|
||||||
@@ -398,9 +566,9 @@ transform a specially-crafted malformed JPEG image.
|
|||||||
|
|
||||||
### Significant changes relative to 2.1 beta1:
|
### Significant changes relative to 2.1 beta1:
|
||||||
|
|
||||||
1. Fixed a regression introduced by 2.1 beta1[6(b)] whereby attempting to
|
1. Fixed a regression (CVE-2021-29390) introduced by 2.1 beta1[6(b)] whereby
|
||||||
decompress certain progressive JPEG images with one or more component planes of
|
attempting to decompress certain progressive JPEG images with one or more
|
||||||
width 8 or less caused a buffer overrun.
|
component planes of width 8 or less caused a buffer overrun.
|
||||||
|
|
||||||
2. Fixed a regression introduced by 2.1 beta1[6(b)] whereby attempting to
|
2. Fixed a regression introduced by 2.1 beta1[6(b)] whereby attempting to
|
||||||
decompress a specially-crafted malformed progressive JPEG image caused the
|
decompress a specially-crafted malformed progressive JPEG image caused the
|
||||||
@@ -930,16 +1098,15 @@ encounters a warning from the underlying libjpeg API (the default behavior is
|
|||||||
to allow the operation to complete unless a fatal error is encountered.)
|
to allow the operation to complete unless a fatal error is encountered.)
|
||||||
|
|
||||||
5. Introduced a new flag in the TurboJPEG C and Java APIs (`TJFLAG_PROGRESSIVE`
|
5. Introduced a new flag in the TurboJPEG C and Java APIs (`TJFLAG_PROGRESSIVE`
|
||||||
and `TJ.FLAG_PROGRESSIVE`, respectively) that causes the library to use
|
and `TJ.FLAG_PROGRESSIVE`, respectively) that causes compression and transform
|
||||||
progressive entropy coding in JPEG images generated by compression and
|
operations to generate progressive JPEG images. Additionally, a new transform
|
||||||
transform operations. Additionally, a new transform option
|
option (`TJXOPT_PROGRESSIVE` in the C API and `TJTransform.OPT_PROGRESSIVE` in
|
||||||
(`TJXOPT_PROGRESSIVE` in the C API and `TJTransform.OPT_PROGRESSIVE` in the
|
the Java API) has been introduced, allowing progressive JPEG images to be
|
||||||
Java API) has been introduced, allowing progressive entropy coding to be
|
generated by selected transforms in a multi-transform operation.
|
||||||
enabled for selected transforms in a multi-transform operation.
|
|
||||||
|
|
||||||
6. Introduced a new transform option in the TurboJPEG API (`TJXOPT_COPYNONE` in
|
6. Introduced a new transform option in the TurboJPEG API (`TJXOPT_COPYNONE` in
|
||||||
the C API and `TJTransform.OPT_COPYNONE` in the Java API) that allows the
|
the C API and `TJTransform.OPT_COPYNONE` in the Java API) that allows the
|
||||||
copying of markers (including EXIF and ICC profile data) to be disabled for a
|
copying of markers (including Exif and ICC profile data) to be disabled for a
|
||||||
particular transform.
|
particular transform.
|
||||||
|
|
||||||
7. Added two functions to the TurboJPEG C API (`tjLoadImage()` and
|
7. Added two functions to the TurboJPEG C API (`tjLoadImage()` and
|
||||||
@@ -1070,13 +1237,13 @@ bug that has existed since the introduction of libjpeg v7/v8 API/ABI emulation
|
|||||||
in libjpeg-turbo v1.1.
|
in libjpeg-turbo v1.1.
|
||||||
|
|
||||||
7. The lossless transform features in jpegtran and the TurboJPEG API will now
|
7. The lossless transform features in jpegtran and the TurboJPEG API will now
|
||||||
always attempt to adjust the EXIF image width and height tags if the image size
|
always attempt to adjust the Exif image width and height tags if the image size
|
||||||
changed as a result of the transform. This behavior has always existed when
|
changed as a result of the transform. This behavior has always existed when
|
||||||
using libjpeg v8 API/ABI emulation. It was supposed to be available with
|
using libjpeg v8 API/ABI emulation. It was supposed to be available with
|
||||||
libjpeg v7 API/ABI emulation as well but did not work properly due to a bug.
|
libjpeg v7 API/ABI emulation as well but did not work properly due to a bug.
|
||||||
Furthermore, there was never any good reason not to enable it with libjpeg v6b
|
Furthermore, there was never any good reason not to enable it with libjpeg v6b
|
||||||
API/ABI emulation, since the behavior is entirely internal. Note that
|
API/ABI emulation, since the behavior is entirely internal. Note that
|
||||||
`-copy all` must be passed to jpegtran in order to transfer the EXIF tags from
|
`-copy all` must be passed to jpegtran in order to transfer the Exif tags from
|
||||||
the source image to the destination image.
|
the source image to the destination image.
|
||||||
|
|
||||||
8. Fixed several memory leaks in the TurboJPEG API library that could occur
|
8. Fixed several memory leaks in the TurboJPEG API library that could occur
|
||||||
@@ -1098,7 +1265,7 @@ for two reasons: it allows testers to more easily work around the 2 GB limit
|
|||||||
in libFuzzer, and it allows developers of security-sensitive applications to
|
in libFuzzer, and it allows developers of security-sensitive applications to
|
||||||
more easily defend against one of the progressive JPEG exploits (LJT-01-004)
|
more easily defend against one of the progressive JPEG exploits (LJT-01-004)
|
||||||
identified in
|
identified in
|
||||||
[this report](http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf).
|
[this report](https://libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf).
|
||||||
|
|
||||||
10. TJBench will now run each benchmark for 1 second prior to starting the
|
10. TJBench will now run each benchmark for 1 second prior to starting the
|
||||||
timer, in order to improve the consistency of the results. Furthermore, the
|
timer, in order to improve the consistency of the results. Furthermore, the
|
||||||
@@ -2125,7 +2292,7 @@ and unit tests now work on those architectures.
|
|||||||
0.0.93
|
0.0.93
|
||||||
======
|
======
|
||||||
|
|
||||||
### Significant changes since 0.0.91:
|
### Significant changes relative to 0.0.91:
|
||||||
|
|
||||||
1. 2982659: Fixed x86-64 build on FreeBSD systems
|
1. 2982659: Fixed x86-64 build on FreeBSD systems
|
||||||
|
|
||||||
|
|||||||
33
LICENSE.md
@@ -1,30 +1,33 @@
|
|||||||
libjpeg-turbo Licenses
|
libjpeg-turbo Licenses
|
||||||
======================
|
======================
|
||||||
|
|
||||||
libjpeg-turbo is covered by three compatible BSD-style open source licenses:
|
libjpeg-turbo is covered by two compatible BSD-style open source licenses:
|
||||||
|
|
||||||
- The IJG (Independent JPEG Group) License, which is listed in
|
- The IJG (Independent JPEG Group) License, which is listed in
|
||||||
[README.ijg](README.ijg)
|
[README.ijg](README.ijg)
|
||||||
|
|
||||||
This license applies to the libjpeg API library and associated programs
|
This license applies to the libjpeg API library and associated programs,
|
||||||
(any code inherited from libjpeg, and any modifications to that code.)
|
including any code inherited from libjpeg and any modifications to that
|
||||||
|
code. Note that the libjpeg-turbo SIMD source code bears the
|
||||||
|
[zlib License](https://opensource.org/licenses/Zlib), but in the context of
|
||||||
|
the overall libjpeg API library, the terms of the zlib License are subsumed
|
||||||
|
by the terms of the IJG License.
|
||||||
|
|
||||||
- The Modified (3-clause) BSD License, which is listed below
|
- The Modified (3-clause) BSD License, which is listed below
|
||||||
|
|
||||||
This license covers the TurboJPEG API library and associated programs, as
|
This license applies to the TurboJPEG API library and associated programs, as
|
||||||
well as the build system.
|
well as the build system. Note that the TurboJPEG API library wraps the
|
||||||
|
libjpeg API library, so in the context of the overall TurboJPEG API library,
|
||||||
- The [zlib License](https://opensource.org/licenses/Zlib)
|
both the terms of the IJG License and the terms of the Modified (3-clause)
|
||||||
|
BSD License apply.
|
||||||
This license is a subset of the other two, and it covers the libjpeg-turbo
|
|
||||||
SIMD extensions.
|
|
||||||
|
|
||||||
|
|
||||||
Complying with the libjpeg-turbo Licenses
|
Complying with the libjpeg-turbo Licenses
|
||||||
=========================================
|
=========================================
|
||||||
|
|
||||||
This section provides a roll-up of the libjpeg-turbo licensing terms, to the
|
This section provides a roll-up of the libjpeg-turbo licensing terms, to the
|
||||||
best of our understanding.
|
best of our understanding. This is not a license in and of itself. It is
|
||||||
|
intended solely for clarification.
|
||||||
|
|
||||||
1. If you are distributing a modified version of the libjpeg-turbo source,
|
1. If you are distributing a modified version of the libjpeg-turbo source,
|
||||||
then:
|
then:
|
||||||
@@ -38,7 +41,7 @@ best of our understanding.
|
|||||||
- Clauses 1 and 3 of the zlib License
|
- Clauses 1 and 3 of the zlib License
|
||||||
|
|
||||||
2. You must add your own copyright notice to the header of each source
|
2. You must add your own copyright notice to the header of each source
|
||||||
file you modified, so others can tell that you modified that file (if
|
file you modified, so others can tell that you modified that file. (If
|
||||||
there is not an existing copyright header in that file, then you can
|
there is not an existing copyright header in that file, then you can
|
||||||
simply add a notice stating that you modified the file.)
|
simply add a notice stating that you modified the file.)
|
||||||
|
|
||||||
@@ -91,7 +94,7 @@ best of our understanding.
|
|||||||
The Modified (3-clause) BSD License
|
The Modified (3-clause) BSD License
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
Copyright (C)2009-2023 D. R. Commander. All Rights Reserved.<br>
|
Copyright (C)2009-2024 D. R. Commander. All Rights Reserved.<br>
|
||||||
Copyright (C)2015 Viktor Szathmáry. All Rights Reserved.
|
Copyright (C)2015 Viktor Szathmáry. All Rights Reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
@@ -119,8 +122,8 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
Why Three Licenses?
|
Why Two Licenses?
|
||||||
===================
|
=================
|
||||||
|
|
||||||
The zlib License could have been used instead of the Modified (3-clause) BSD
|
The zlib License could have been used instead of the Modified (3-clause) BSD
|
||||||
License, and since the IJG License effectively subsumes the distribution
|
License, and since the IJG License effectively subsumes the distribution
|
||||||
|
|||||||
140
README-turbo.txt
@@ -1,14 +1,14 @@
|
|||||||
Background
|
Background
|
||||||
==========
|
==========
|
||||||
|
|
||||||
libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2,
|
libjpeg-turbo is a JPEG image codec that uses SIMD instructions to accelerate
|
||||||
AVX2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression
|
baseline JPEG compression and decompression on x86, x86-64, Arm, PowerPC, and
|
||||||
on x86, x86-64, ARM, and PowerPC systems, as well as progressive JPEG
|
MIPS systems, as well as progressive JPEG compression on x86, x86-64, and Arm
|
||||||
compression on x86 and x86-64 systems. On such systems, libjpeg-turbo is
|
systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg,
|
||||||
generally 2-6x as fast as libjpeg, all else being equal. On other types of
|
all else being equal. On other types of systems, libjpeg-turbo can still
|
||||||
systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by
|
outperform libjpeg by a significant amount, by virtue of its highly-optimized
|
||||||
virtue of its highly-optimized Huffman coding routines. In many cases, the
|
Huffman coding routines. In many cases, the performance of libjpeg-turbo
|
||||||
performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.
|
rivals that of proprietary high-speed JPEG codecs.
|
||||||
|
|
||||||
libjpeg-turbo implements both the traditional libjpeg API as well as the less
|
libjpeg-turbo implements both the traditional libjpeg API as well as the less
|
||||||
powerful but more straightforward TurboJPEG API. libjpeg-turbo also features
|
powerful but more straightforward TurboJPEG API. libjpeg-turbo also features
|
||||||
@@ -21,7 +21,26 @@ derivative of libjpeg v6b developed by Miyasaka Masaru. The TigerVNC and
|
|||||||
VirtualGL projects made numerous enhancements to the codec in 2009, and in
|
VirtualGL projects made numerous enhancements to the codec in 2009, and in
|
||||||
early 2010, libjpeg-turbo spun off into an independent project, with the goal
|
early 2010, libjpeg-turbo spun off into an independent project, with the goal
|
||||||
of making high-speed JPEG compression/decompression technology available to a
|
of making high-speed JPEG compression/decompression technology available to a
|
||||||
broader range of users and developers.
|
broader range of users and developers. libjpeg-turbo is an ISO/IEC and ITU-T
|
||||||
|
reference implementation of the JPEG standard.
|
||||||
|
|
||||||
|
More information about libjpeg-turbo can be found at
|
||||||
|
<https://libjpeg-turbo.org>.
|
||||||
|
|
||||||
|
|
||||||
|
Funding
|
||||||
|
=======
|
||||||
|
|
||||||
|
libjpeg-turbo is an independent open source project, but we rely on patronage
|
||||||
|
and funded development in order to maintain that independence. The easiest way
|
||||||
|
to ensure that libjpeg-turbo remains community-focused and free of any one
|
||||||
|
organization's agenda is to
|
||||||
|
[sponsor our project through GitHub](https://github.com/sponsors/libjpeg-turbo).
|
||||||
|
All sponsorship money goes directly toward funding the labor necessary to
|
||||||
|
maintain libjpeg-turbo, support the user community, and implement bug fixes and
|
||||||
|
strategically important features.
|
||||||
|
|
||||||
|
[](https://github.com/sponsors/libjpeg-turbo)
|
||||||
|
|
||||||
|
|
||||||
License
|
License
|
||||||
@@ -52,7 +71,8 @@ JPEG images:
|
|||||||
top of the TurboJPEG API. The TurboJPEG API is recommended for first-time
|
top of the TurboJPEG API. The TurboJPEG API is recommended for first-time
|
||||||
users of libjpeg-turbo. Refer to [tjexample.c](tjexample.c) and
|
users of libjpeg-turbo. Refer to [tjexample.c](tjexample.c) and
|
||||||
[TJExample.java](java/TJExample.java) for examples of its usage and to
|
[TJExample.java](java/TJExample.java) for examples of its usage and to
|
||||||
<http://libjpeg-turbo.org/Documentation/Documentation> for API documentation.
|
<https://libjpeg-turbo.org/Documentation/Documentation> for API
|
||||||
|
documentation.
|
||||||
|
|
||||||
- **libjpeg API**<br>
|
- **libjpeg API**<br>
|
||||||
This is the de facto industry-standard API for compressing and decompressing
|
This is the de facto industry-standard API for compressing and decompressing
|
||||||
@@ -135,25 +155,24 @@ without recompiling. libjpeg-turbo does not claim to support all of the
|
|||||||
libjpeg v7+ features, nor to produce identical output to libjpeg v7+ in all
|
libjpeg v7+ features, nor to produce identical output to libjpeg v7+ in all
|
||||||
cases (see below.)
|
cases (see below.)
|
||||||
|
|
||||||
By passing an argument of `--with-jpeg7` or `--with-jpeg8` to `configure`, or
|
By passing an argument of `-DWITH_JPEG7=1` or `-DWITH_JPEG8=1` to `cmake`, you
|
||||||
an argument of `-DWITH_JPEG7=1` or `-DWITH_JPEG8=1` to `cmake`, you can build a
|
can build a version of libjpeg-turbo that emulates the libjpeg v7 or v8 ABI, so
|
||||||
version of libjpeg-turbo that emulates the libjpeg v7 or v8 ABI, so that
|
that programs that are built against libjpeg v7 or v8 can be run with
|
||||||
programs that are built against libjpeg v7 or v8 can be run with libjpeg-turbo.
|
libjpeg-turbo. The following section describes which libjpeg v7+ features are
|
||||||
The following section describes which libjpeg v7+ features are supported and
|
supported and which aren't.
|
||||||
which aren't.
|
|
||||||
|
|
||||||
### Support for libjpeg v7 and v8 Features
|
### Support for libjpeg v7 and v8 Features
|
||||||
|
|
||||||
#### Fully supported
|
#### Fully supported
|
||||||
|
|
||||||
- **libjpeg: IDCT scaling extensions in decompressor**<br>
|
- **libjpeg API: IDCT scaling extensions in decompressor**<br>
|
||||||
libjpeg-turbo supports IDCT scaling with scaling factors of 1/8, 1/4, 3/8,
|
libjpeg-turbo supports IDCT scaling with scaling factors of 1/8, 1/4, 3/8,
|
||||||
1/2, 5/8, 3/4, 7/8, 9/8, 5/4, 11/8, 3/2, 13/8, 7/4, 15/8, and 2/1 (only 1/4
|
1/2, 5/8, 3/4, 7/8, 9/8, 5/4, 11/8, 3/2, 13/8, 7/4, 15/8, and 2/1 (only 1/4
|
||||||
and 1/2 are SIMD-accelerated.)
|
and 1/2 are SIMD-accelerated.)
|
||||||
|
|
||||||
- **libjpeg: Arithmetic coding**
|
- **libjpeg API: Arithmetic coding**
|
||||||
|
|
||||||
- **libjpeg: In-memory source and destination managers**<br>
|
- **libjpeg API: In-memory source and destination managers**<br>
|
||||||
See notes below.
|
See notes below.
|
||||||
|
|
||||||
- **cjpeg: Separate quality settings for luminance and chrominance**<br>
|
- **cjpeg: Separate quality settings for luminance and chrominance**<br>
|
||||||
@@ -180,19 +199,19 @@ which aren't.
|
|||||||
|
|
||||||
NOTE: As of this writing, extensive research has been conducted into the
|
NOTE: As of this writing, extensive research has been conducted into the
|
||||||
usefulness of DCT scaling as a means of data reduction and SmartScale as a
|
usefulness of DCT scaling as a means of data reduction and SmartScale as a
|
||||||
means of quality improvement. The reader is invited to peruse the research at
|
means of quality improvement. Readers are invited to peruse the research at
|
||||||
<http://www.libjpeg-turbo.org/About/SmartScale> and draw his/her own conclusions,
|
<https://libjpeg-turbo.org/About/SmartScale> and draw their own conclusions,
|
||||||
but it is the general belief of our project that these features have not
|
but it is the general belief of our project that these features have not
|
||||||
demonstrated sufficient usefulness to justify inclusion in libjpeg-turbo.
|
demonstrated sufficient usefulness to justify inclusion in libjpeg-turbo.
|
||||||
|
|
||||||
- **libjpeg: DCT scaling in compressor**<br>
|
- **libjpeg API: DCT scaling in compressor**<br>
|
||||||
`cinfo.scale_num` and `cinfo.scale_denom` are silently ignored.
|
`cinfo.scale_num` and `cinfo.scale_denom` are silently ignored.
|
||||||
There is no technical reason why DCT scaling could not be supported when
|
There is no technical reason why DCT scaling could not be supported when
|
||||||
emulating the libjpeg v7+ API/ABI, but without the SmartScale extension (see
|
emulating the libjpeg v7+ API/ABI, but without the SmartScale extension (see
|
||||||
below), only scaling factors of 1/2, 8/15, 4/7, 8/13, 2/3, 8/11, 4/5, and
|
below), only scaling factors of 1/2, 8/15, 4/7, 8/13, 2/3, 8/11, 4/5, and
|
||||||
8/9 would be available, which is of limited usefulness.
|
8/9 would be available, which is of limited usefulness.
|
||||||
|
|
||||||
- **libjpeg: SmartScale**<br>
|
- **libjpeg API: SmartScale**<br>
|
||||||
`cinfo.block_size` is silently ignored.
|
`cinfo.block_size` is silently ignored.
|
||||||
SmartScale is an extension to the JPEG format that allows for DCT block
|
SmartScale is an extension to the JPEG format that allows for DCT block
|
||||||
sizes other than 8x8. Providing support for this new format would be
|
sizes other than 8x8. Providing support for this new format would be
|
||||||
@@ -205,7 +224,7 @@ demonstrated sufficient usefulness to justify inclusion in libjpeg-turbo.
|
|||||||
interest in providing this feature would be as a means of supporting
|
interest in providing this feature would be as a means of supporting
|
||||||
additional DCT scaling factors.
|
additional DCT scaling factors.
|
||||||
|
|
||||||
- **libjpeg: Fancy downsampling in compressor**<br>
|
- **libjpeg API: Fancy downsampling in compressor**<br>
|
||||||
`cinfo.do_fancy_downsampling` is silently ignored.
|
`cinfo.do_fancy_downsampling` is silently ignored.
|
||||||
This requires the DCT scaling feature, which is not supported.
|
This requires the DCT scaling feature, which is not supported.
|
||||||
|
|
||||||
@@ -246,17 +265,6 @@ programs that need them, without breaking ABI compatibility for programs that
|
|||||||
don't, and it allows those functions to be provided in the "official"
|
don't, and it allows those functions to be provided in the "official"
|
||||||
libjpeg-turbo binaries.
|
libjpeg-turbo binaries.
|
||||||
|
|
||||||
Those who are concerned about maintaining strict conformance with the libjpeg
|
|
||||||
v6b or v7 API can pass an argument of `--without-mem-srcdst` to `configure` or
|
|
||||||
an argument of `-DWITH_MEM_SRCDST=0` to `cmake` prior to building
|
|
||||||
libjpeg-turbo. This will restore the pre-1.3 behavior, in which
|
|
||||||
`jpeg_mem_src()` and `jpeg_mem_dest()` are only included when emulating the
|
|
||||||
libjpeg v8 API/ABI.
|
|
||||||
|
|
||||||
On Un*x systems, including the in-memory source/destination managers changes
|
|
||||||
the dynamic library version from 62.1.0 to 62.2.0 if using libjpeg v6b API/ABI
|
|
||||||
emulation and from 7.1.0 to 7.2.0 if using libjpeg v7 API/ABI emulation.
|
|
||||||
|
|
||||||
Note that, on most Un*x systems, the dynamic linker will not look for a
|
Note that, on most Un*x systems, the dynamic linker will not look for a
|
||||||
function in a library until that function is actually used. Thus, if a program
|
function in a library until that function is actually used. Thus, if a program
|
||||||
is built against libjpeg-turbo 1.3+ and uses `jpeg_mem_src()` or
|
is built against libjpeg-turbo 1.3+ and uses `jpeg_mem_src()` or
|
||||||
@@ -276,29 +284,35 @@ Mathematical Compatibility
|
|||||||
==========================
|
==========================
|
||||||
|
|
||||||
For the most part, libjpeg-turbo should produce identical output to libjpeg
|
For the most part, libjpeg-turbo should produce identical output to libjpeg
|
||||||
v6b. The one exception to this is when using the floating point DCT/IDCT, in
|
v6b. There are two exceptions:
|
||||||
which case the outputs of libjpeg v6b and libjpeg-turbo can differ for the
|
|
||||||
following reasons:
|
|
||||||
|
|
||||||
- The SSE/SSE2 floating point DCT implementation in libjpeg-turbo is ever so
|
1. When decompressing a JPEG image that uses 4:4:0 chrominance subsampling, the
|
||||||
slightly more accurate than the implementation in libjpeg v6b, but not by
|
outputs of libjpeg v6b and libjpeg-turbo can differ because libjpeg-turbo
|
||||||
any amount perceptible to human vision (generally in the range of 0.01 to
|
implements a "fancy" (smooth) 4:4:0 upsampling algorithm and libjpeg did not.
|
||||||
0.08 dB gain in PNSR.)
|
|
||||||
|
|
||||||
- When not using the SIMD extensions, libjpeg-turbo uses the more accurate
|
2. When using the floating point DCT/IDCT, the outputs of libjpeg v6b and
|
||||||
(and slightly faster) floating point IDCT algorithm introduced in libjpeg
|
libjpeg-turbo can differ for the following reasons:
|
||||||
v8a as opposed to the algorithm used in libjpeg v6b. It should be noted,
|
|
||||||
however, that this algorithm basically brings the accuracy of the floating
|
|
||||||
point IDCT in line with the accuracy of the slow integer IDCT. The floating
|
|
||||||
point DCT/IDCT algorithms are mainly a legacy feature, and they do not
|
|
||||||
produce significantly more accuracy than the slow integer algorithms (to put
|
|
||||||
numbers on this, the typical difference in PNSR between the two algorithms
|
|
||||||
is less than 0.10 dB, whereas changing the quality level by 1 in the upper
|
|
||||||
range of the quality scale is typically more like a 1.0 dB difference.)
|
|
||||||
|
|
||||||
- If the floating point algorithms in libjpeg-turbo are not implemented using
|
- The SSE/SSE2 floating point DCT implementation in libjpeg-turbo is ever
|
||||||
SIMD instructions on a particular platform, then the accuracy of the
|
so slightly more accurate than the implementation in libjpeg v6b, but not
|
||||||
floating point DCT/IDCT can depend on the compiler settings.
|
by any amount perceptible to human vision (generally in the range of 0.01
|
||||||
|
to 0.08 dB gain in PNSR.)
|
||||||
|
|
||||||
|
- When not using the SIMD extensions, libjpeg-turbo uses the more accurate
|
||||||
|
(and slightly faster) floating point IDCT algorithm introduced in libjpeg
|
||||||
|
v8a as opposed to the algorithm used in libjpeg v6b. It should be noted,
|
||||||
|
however, that this algorithm basically brings the accuracy of the
|
||||||
|
floating point IDCT in line with the accuracy of the accurate integer
|
||||||
|
IDCT. The floating point DCT/IDCT algorithms are mainly a legacy
|
||||||
|
feature, and they do not produce significantly more accuracy than the
|
||||||
|
accurate integer algorithms. (To put numbers on this, the typical
|
||||||
|
difference in PNSR between the two algorithms is less than 0.10 dB,
|
||||||
|
whereas changing the quality level by 1 in the upper range of the quality
|
||||||
|
scale is typically more like a 1.0 dB difference.)
|
||||||
|
|
||||||
|
- If the floating point algorithms in libjpeg-turbo are not implemented
|
||||||
|
using SIMD instructions on a particular platform, then the accuracy of
|
||||||
|
the floating point DCT/IDCT can depend on the compiler settings.
|
||||||
|
|
||||||
While libjpeg-turbo does emulate the libjpeg v8 API/ABI, under the hood it is
|
While libjpeg-turbo does emulate the libjpeg v8 API/ABI, under the hood it is
|
||||||
still using the same algorithms as libjpeg v6b, so there are several specific
|
still using the same algorithms as libjpeg v6b, so there are several specific
|
||||||
@@ -331,7 +345,7 @@ in a way that makes the rest of the libjpeg infrastructure happy, so it is
|
|||||||
necessary to use the slow Huffman decoder when decompressing a JPEG image that
|
necessary to use the slow Huffman decoder when decompressing a JPEG image that
|
||||||
has restart markers. This can cause the decompression performance to drop by
|
has restart markers. This can cause the decompression performance to drop by
|
||||||
as much as 20%, but the performance will still be much greater than that of
|
as much as 20%, but the performance will still be much greater than that of
|
||||||
libjpeg. Many consumer packages, such as PhotoShop, use restart markers when
|
libjpeg. Many consumer packages, such as Photoshop, use restart markers when
|
||||||
generating JPEG images, so images generated by those programs will experience
|
generating JPEG images, so images generated by those programs will experience
|
||||||
this issue.
|
this issue.
|
||||||
|
|
||||||
@@ -342,5 +356,17 @@ The algorithm used by the SIMD-accelerated quantization function cannot produce
|
|||||||
correct results whenever the fast integer forward DCT is used along with a JPEG
|
correct results whenever the fast integer forward DCT is used along with a JPEG
|
||||||
quality of 98-100. Thus, libjpeg-turbo must use the non-SIMD quantization
|
quality of 98-100. Thus, libjpeg-turbo must use the non-SIMD quantization
|
||||||
function in those cases. This causes performance to drop by as much as 40%.
|
function in those cases. This causes performance to drop by as much as 40%.
|
||||||
It is therefore strongly advised that you use the slow integer forward DCT
|
It is therefore strongly advised that you use the accurate integer forward DCT
|
||||||
whenever encoding images with a JPEG quality of 98 or higher.
|
whenever encoding images with a JPEG quality of 98 or higher.
|
||||||
|
|
||||||
|
|
||||||
|
Memory Debugger Pitfalls
|
||||||
|
========================
|
||||||
|
|
||||||
|
Valgrind and Memory Sanitizer (MSan) can generate false positives
|
||||||
|
(specifically, incorrect reports of uninitialized memory accesses) when used
|
||||||
|
with libjpeg-turbo's SIMD extensions. It is generally recommended that the
|
||||||
|
SIMD extensions be disabled, either by passing an argument of `-DWITH_SIMD=0`
|
||||||
|
to `cmake` when configuring the build or by setting the environment variable
|
||||||
|
`JSIMD_FORCENONE` to `1` at run time, when testing libjpeg-turbo with Valgrind,
|
||||||
|
MSan, or other memory debuggers.
|
||||||
|
|||||||
@@ -89,9 +89,9 @@ The library is intended to be reused in other applications.
|
|||||||
In order to support file conversion and viewing software, we have included
|
In order to support file conversion and viewing software, we have included
|
||||||
considerable functionality beyond the bare JPEG coding/decoding capability;
|
considerable functionality beyond the bare JPEG coding/decoding capability;
|
||||||
for example, the color quantization modules are not strictly part of JPEG
|
for example, the color quantization modules are not strictly part of JPEG
|
||||||
decoding, but they are essential for output to colormapped file formats or
|
decoding, but they are essential for output to colormapped file formats. These
|
||||||
colormapped displays. These extra functions can be compiled out of the
|
extra functions can be compiled out of the library if not required for a
|
||||||
library if not required for a particular application.
|
particular application.
|
||||||
|
|
||||||
We have also included "jpegtran", a utility for lossless transcoding between
|
We have also included "jpegtran", a utility for lossless transcoding between
|
||||||
different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple
|
different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple
|
||||||
|
|||||||
19
cderror.h
@@ -5,7 +5,7 @@
|
|||||||
* Copyright (C) 1994-1997, Thomas G. Lane.
|
* Copyright (C) 1994-1997, Thomas G. Lane.
|
||||||
* Modified 2009-2017 by Guido Vollbeding.
|
* Modified 2009-2017 by Guido Vollbeding.
|
||||||
* libjpeg-turbo Modifications:
|
* libjpeg-turbo Modifications:
|
||||||
* Copyright (C) 2021, D. R. Commander.
|
* Copyright (C) 2021, 2024, D. R. Commander.
|
||||||
* For conditions of distribution and use, see the accompanying README.ijg
|
* For conditions of distribution and use, see the accompanying README.ijg
|
||||||
* file.
|
* file.
|
||||||
*
|
*
|
||||||
@@ -42,7 +42,6 @@ typedef enum {
|
|||||||
|
|
||||||
JMESSAGE(JMSG_FIRSTADDONCODE = 1000, NULL) /* Must be first entry! */
|
JMESSAGE(JMSG_FIRSTADDONCODE = 1000, NULL) /* Must be first entry! */
|
||||||
|
|
||||||
#ifdef BMP_SUPPORTED
|
|
||||||
JMESSAGE(JERR_BMP_BADCMAP, "Unsupported BMP colormap format")
|
JMESSAGE(JERR_BMP_BADCMAP, "Unsupported BMP colormap format")
|
||||||
JMESSAGE(JERR_BMP_BADDEPTH, "Only 8-, 24-, and 32-bit BMP files are supported")
|
JMESSAGE(JERR_BMP_BADDEPTH, "Only 8-, 24-, and 32-bit BMP files are supported")
|
||||||
JMESSAGE(JERR_BMP_BADHEADER, "Invalid BMP file: bad header length")
|
JMESSAGE(JERR_BMP_BADHEADER, "Invalid BMP file: bad header length")
|
||||||
@@ -56,9 +55,7 @@ JMESSAGE(JTRC_BMP, "%ux%u %d-bit BMP image")
|
|||||||
JMESSAGE(JTRC_BMP_MAPPED, "%ux%u 8-bit colormapped BMP image")
|
JMESSAGE(JTRC_BMP_MAPPED, "%ux%u 8-bit colormapped BMP image")
|
||||||
JMESSAGE(JTRC_BMP_OS2, "%ux%u %d-bit OS2 BMP image")
|
JMESSAGE(JTRC_BMP_OS2, "%ux%u %d-bit OS2 BMP image")
|
||||||
JMESSAGE(JTRC_BMP_OS2_MAPPED, "%ux%u 8-bit colormapped OS2 BMP image")
|
JMESSAGE(JTRC_BMP_OS2_MAPPED, "%ux%u 8-bit colormapped OS2 BMP image")
|
||||||
#endif /* BMP_SUPPORTED */
|
|
||||||
|
|
||||||
#ifdef GIF_SUPPORTED
|
|
||||||
JMESSAGE(JERR_GIF_BUG, "GIF output got confused")
|
JMESSAGE(JERR_GIF_BUG, "GIF output got confused")
|
||||||
JMESSAGE(JERR_GIF_CODESIZE, "Bogus GIF codesize %d")
|
JMESSAGE(JERR_GIF_CODESIZE, "Bogus GIF codesize %d")
|
||||||
JMESSAGE(JERR_GIF_COLORSPACE, "GIF output must be grayscale or RGB")
|
JMESSAGE(JERR_GIF_COLORSPACE, "GIF output must be grayscale or RGB")
|
||||||
@@ -74,29 +71,23 @@ JMESSAGE(JWRN_GIF_BADDATA, "Corrupt data in GIF file")
|
|||||||
JMESSAGE(JWRN_GIF_CHAR, "Bogus char 0x%02x in GIF file, ignoring")
|
JMESSAGE(JWRN_GIF_CHAR, "Bogus char 0x%02x in GIF file, ignoring")
|
||||||
JMESSAGE(JWRN_GIF_ENDCODE, "Premature end of GIF image")
|
JMESSAGE(JWRN_GIF_ENDCODE, "Premature end of GIF image")
|
||||||
JMESSAGE(JWRN_GIF_NOMOREDATA, "Ran out of GIF bits")
|
JMESSAGE(JWRN_GIF_NOMOREDATA, "Ran out of GIF bits")
|
||||||
#endif /* GIF_SUPPORTED */
|
|
||||||
|
|
||||||
#ifdef PPM_SUPPORTED
|
|
||||||
JMESSAGE(JERR_PPM_COLORSPACE, "PPM output must be grayscale or RGB")
|
JMESSAGE(JERR_PPM_COLORSPACE, "PPM output must be grayscale or RGB")
|
||||||
JMESSAGE(JERR_PPM_NONNUMERIC, "Nonnumeric data in PPM file")
|
JMESSAGE(JERR_PPM_NONNUMERIC, "Nonnumeric data in PPM file")
|
||||||
JMESSAGE(JERR_PPM_NOT, "Not a PPM/PGM file")
|
JMESSAGE(JERR_PPM_NOT, "Not a PPM/PGM file")
|
||||||
JMESSAGE(JERR_PPM_OUTOFRANGE, "Numeric value out of range in PPM file")
|
JMESSAGE(JERR_PPM_OUTOFRANGE, "Numeric value out of range in PPM file")
|
||||||
JMESSAGE(JTRC_PGM, "%ux%u PGM image")
|
JMESSAGE(JTRC_PGM, "%ux%u PGM image (maximum color value = %u)")
|
||||||
JMESSAGE(JTRC_PGM_TEXT, "%ux%u text PGM image")
|
JMESSAGE(JTRC_PGM_TEXT, "%ux%u text PGM image (maximum color value = %u)")
|
||||||
JMESSAGE(JTRC_PPM, "%ux%u PPM image")
|
JMESSAGE(JTRC_PPM, "%ux%u PPM image (maximum color value = %u)")
|
||||||
JMESSAGE(JTRC_PPM_TEXT, "%ux%u text PPM image")
|
JMESSAGE(JTRC_PPM_TEXT, "%ux%u text PPM image (maximum color value = %u)")
|
||||||
#endif /* PPM_SUPPORTED */
|
|
||||||
|
|
||||||
#ifdef TARGA_SUPPORTED
|
|
||||||
JMESSAGE(JERR_TGA_BADCMAP, "Unsupported Targa colormap format")
|
JMESSAGE(JERR_TGA_BADCMAP, "Unsupported Targa colormap format")
|
||||||
JMESSAGE(JERR_TGA_BADPARMS, "Invalid or unsupported Targa file")
|
JMESSAGE(JERR_TGA_BADPARMS, "Invalid or unsupported Targa file")
|
||||||
JMESSAGE(JERR_TGA_COLORSPACE, "Targa output must be grayscale or RGB")
|
JMESSAGE(JERR_TGA_COLORSPACE, "Targa output must be grayscale or RGB")
|
||||||
JMESSAGE(JTRC_TGA, "%ux%u RGB Targa image")
|
JMESSAGE(JTRC_TGA, "%ux%u RGB Targa image")
|
||||||
JMESSAGE(JTRC_TGA_GRAY, "%ux%u grayscale Targa image")
|
JMESSAGE(JTRC_TGA_GRAY, "%ux%u grayscale Targa image")
|
||||||
JMESSAGE(JTRC_TGA_MAPPED, "%ux%u colormapped Targa image")
|
JMESSAGE(JTRC_TGA_MAPPED, "%ux%u colormapped Targa image")
|
||||||
#else
|
|
||||||
JMESSAGE(JERR_TGA_NOTCOMP, "Targa support was not compiled")
|
JMESSAGE(JERR_TGA_NOTCOMP, "Targa support was not compiled")
|
||||||
#endif /* TARGA_SUPPORTED */
|
|
||||||
|
|
||||||
JMESSAGE(JERR_BAD_CMAP_FILE,
|
JMESSAGE(JERR_BAD_CMAP_FILE,
|
||||||
"Color map file is invalid or of unsupported format")
|
"Color map file is invalid or of unsupported format")
|
||||||
|
|||||||
2
cdjpeg.h
@@ -42,9 +42,7 @@ struct cjpeg_source_struct {
|
|||||||
J16SAMPARRAY buffer16;
|
J16SAMPARRAY buffer16;
|
||||||
#endif
|
#endif
|
||||||
JDIMENSION buffer_height;
|
JDIMENSION buffer_height;
|
||||||
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
|
|
||||||
JDIMENSION max_pixels;
|
JDIMENSION max_pixels;
|
||||||
#endif
|
|
||||||
#if JPEG_RAW_READER
|
#if JPEG_RAW_READER
|
||||||
// For reading JPEG
|
// For reading JPEG
|
||||||
JSAMPARRAY plane_pointer[4];
|
JSAMPARRAY plane_pointer[4];
|
||||||
|
|||||||
92
cjpeg.1
@@ -1,4 +1,4 @@
|
|||||||
.TH CJPEG 1 "29 June 2023"
|
.TH CJPEG 1 "30 August 2024"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
cjpeg \- compress an image file to a JPEG file
|
cjpeg \- compress an image file to a JPEG file
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@@ -16,7 +16,8 @@ cjpeg \- compress an image file to a JPEG file
|
|||||||
compresses the named image file, or the standard input if no file is
|
compresses the named image file, or the standard input if no file is
|
||||||
named, and produces a JPEG/JFIF file on the standard output.
|
named, and produces a JPEG/JFIF file on the standard output.
|
||||||
The currently supported input file formats are: PPM (PBMPLUS color
|
The currently supported input file formats are: PPM (PBMPLUS color
|
||||||
format), PGM (PBMPLUS grayscale format), BMP, GIF, and Targa.
|
format), PGM (PBMPLUS grayscale format), BMP, GIF [legacy feature], and Targa
|
||||||
|
[legacy feature].
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
All switch names may be abbreviated; for example,
|
All switch names may be abbreviated; for example,
|
||||||
.B \-grayscale
|
.B \-grayscale
|
||||||
@@ -29,7 +30,7 @@ Upper and lower case are equivalent (thus
|
|||||||
.B \-BMP
|
.B \-BMP
|
||||||
is the same as
|
is the same as
|
||||||
.BR \-bmp ).
|
.BR \-bmp ).
|
||||||
British spellings are also accepted (e.g.,
|
British spellings are also accepted (e.g.
|
||||||
.BR \-greyscale ),
|
.BR \-greyscale ),
|
||||||
though for brevity these are not mentioned below.
|
though for brevity these are not mentioned below.
|
||||||
.PP
|
.PP
|
||||||
@@ -40,13 +41,12 @@ Scale quantization tables to adjust image quality. Quality is 0 (worst) to
|
|||||||
100 (best); default is 75. (See below for more info.)
|
100 (best); default is 75. (See below for more info.)
|
||||||
.TP
|
.TP
|
||||||
.B \-grayscale
|
.B \-grayscale
|
||||||
Create monochrome JPEG file from color input. By saying
|
Create monochrome JPEG file from color input. By specifying
|
||||||
.BR \-grayscale,
|
.BR \-grayscale,
|
||||||
you'll get a smaller JPEG file that takes less time to process.
|
you'll get a smaller JPEG file that takes less time to process.
|
||||||
.TP
|
.TP
|
||||||
.B \-rgb
|
.B \-rgb
|
||||||
Create RGB JPEG file.
|
Create RGB JPEG file. Using this switch suppresses the conversion from RGB
|
||||||
Using this switch suppresses the conversion from RGB
|
|
||||||
colorspace input to the default YCbCr JPEG colorspace.
|
colorspace input to the default YCbCr JPEG colorspace.
|
||||||
.TP
|
.TP
|
||||||
.B \-optimize
|
.B \-optimize
|
||||||
@@ -60,18 +60,22 @@ decompression are unaffected by
|
|||||||
.BR \-optimize .
|
.BR \-optimize .
|
||||||
.TP
|
.TP
|
||||||
.B \-progressive
|
.B \-progressive
|
||||||
Create progressive JPEG file (see below).
|
Create progressive JPEG file (see below). Implies
|
||||||
|
.B \-optimize
|
||||||
|
unless
|
||||||
|
.B \-arithmetic
|
||||||
|
is also specified.
|
||||||
.TP
|
.TP
|
||||||
.B \-targa
|
.B \-targa
|
||||||
Input file is Targa format. Targa files that contain an "identification"
|
Input file is Targa format [legacy feature]. Targa files that contain an
|
||||||
field will not be automatically recognized by
|
"identification" field will not be automatically recognized by
|
||||||
.BR cjpeg ;
|
.BR cjpeg .
|
||||||
for such files you must specify
|
For such files, you must specify
|
||||||
.B \-targa
|
.B \-targa
|
||||||
to make
|
to make
|
||||||
.B cjpeg
|
.B cjpeg
|
||||||
treat the input as Targa format.
|
treat the input as Targa format. For most Targa files, you won't need this
|
||||||
For most Targa files, you won't need this switch.
|
switch.
|
||||||
.PP
|
.PP
|
||||||
The
|
The
|
||||||
.B \-quality
|
.B \-quality
|
||||||
@@ -153,10 +157,28 @@ Switches for advanced users:
|
|||||||
Create JPEG file with N-bit data precision. N is 8, 12, or 16; default is 8.
|
Create JPEG file with N-bit data precision. N is 8, 12, or 16; default is 8.
|
||||||
If N is 16, then
|
If N is 16, then
|
||||||
.B -lossless
|
.B -lossless
|
||||||
must also be specified.
|
must also be specified. Note that only the PBMPLUS input file format supports
|
||||||
|
data precisions other than 8. (For historical reasons,
|
||||||
|
.B cjpeg
|
||||||
|
allows GIF input files to be converted into 12-bit-per-sample JPEG files, but
|
||||||
|
this is not a useful conversion.) Note also that PBMPLUS input files are
|
||||||
|
silently scaled to the target data precision, even if it is lower than the
|
||||||
|
precision of the input file. Passing an argument of
|
||||||
|
.B \-verbose
|
||||||
|
to
|
||||||
|
.B cjpeg
|
||||||
|
will cause it to print information about the precision of the input file.
|
||||||
.B Caution:
|
.B Caution:
|
||||||
12-bit and 16-bit JPEG is not yet widely implemented, so many decoders will be
|
12-bit and 16-bit data precision is not yet widely implemented, so many
|
||||||
unable to view a 12-bit or 16-bit JPEG file at all.
|
decoders will be unable to handle a 12-bit-per-sample or 16-bit-per-sample JPEG
|
||||||
|
file at all.
|
||||||
|
.IP
|
||||||
|
.B \-precision\ 12
|
||||||
|
implies
|
||||||
|
.B \-optimize
|
||||||
|
unless
|
||||||
|
.B \-arithmetic
|
||||||
|
is also specified.
|
||||||
.TP
|
.TP
|
||||||
.BI \-lossless " psv[,Pt]"
|
.BI \-lossless " psv[,Pt]"
|
||||||
Create a lossless JPEG file using the specified predictor selection value
|
Create a lossless JPEG file using the specified predictor selection value
|
||||||
@@ -174,8 +196,11 @@ non-zero point transform value right-shifts the input samples by the specified
|
|||||||
number of bits, which is effectively a form of lossy color quantization.)
|
number of bits, which is effectively a form of lossy color quantization.)
|
||||||
.B Caution:
|
.B Caution:
|
||||||
lossless JPEG is not yet widely implemented, so many decoders will be unable to
|
lossless JPEG is not yet widely implemented, so many decoders will be unable to
|
||||||
view a lossless JPEG file at all. Note that the following features will be
|
handle a lossless JPEG file at all. In most cases, compressing and
|
||||||
unavailable when compressing or decompressing a lossless JPEG file:
|
decompressing a lossless JPEG file is considerably slower than compressing and
|
||||||
|
decompressing a lossy JPEG file, and lossless JPEG files are much larger than
|
||||||
|
lossy JPEG files. Also note that the following features will be unavailable
|
||||||
|
when compressing or decompressing a lossless JPEG file:
|
||||||
.IP
|
.IP
|
||||||
- Quality/quantization table selection
|
- Quality/quantization table selection
|
||||||
.IP
|
.IP
|
||||||
@@ -202,8 +227,8 @@ Any switches used to enable or configure those features will be ignored.
|
|||||||
.B \-arithmetic
|
.B \-arithmetic
|
||||||
Use arithmetic coding.
|
Use arithmetic coding.
|
||||||
.B Caution:
|
.B Caution:
|
||||||
arithmetic coded JPEG is not yet widely implemented, so many decoders will be
|
arithmetic-coded JPEG is not yet widely implemented, so many decoders will be
|
||||||
unable to view an arithmetic coded JPEG file at all.
|
unable to handle an arithmetic-coded JPEG file at all.
|
||||||
.TP
|
.TP
|
||||||
.B \-dct int
|
.B \-dct int
|
||||||
Use accurate integer DCT method (default).
|
Use accurate integer DCT method (default).
|
||||||
@@ -245,8 +270,18 @@ machines.
|
|||||||
Embed ICC color management profile contained in the specified file.
|
Embed ICC color management profile contained in the specified file.
|
||||||
.TP
|
.TP
|
||||||
.BI \-restart " N"
|
.BI \-restart " N"
|
||||||
Emit a JPEG restart marker every N MCU rows, or every N MCU blocks (samples in
|
Emit a JPEG restart marker every N MCU rows, or every N MCUs if "B" is attached
|
||||||
lossless mode) if "B" is attached to the number.
|
to the number.
|
||||||
|
.IP
|
||||||
|
In typical JPEG images, an MCU (Minimum Coded Unit) is the minimum set of
|
||||||
|
interleaved "data units" (8x8 DCT blocks if the image is lossy or samples if
|
||||||
|
the image is lossless) necessary to represent at least one data unit per
|
||||||
|
component. (For example, an MCU in an interleaved lossy JPEG image that uses
|
||||||
|
4:2:2 subsampling consists of two luminance blocks followed by one block for
|
||||||
|
each chrominance component.) In single-component or non-interleaved JPEG
|
||||||
|
images, an MCU is the same as a data unit. An MCU row is a row of MCUs
|
||||||
|
spanning the entire width of the image.
|
||||||
|
.IP
|
||||||
.B \-restart 0
|
.B \-restart 0
|
||||||
(the default) means no restart markers.
|
(the default) means no restart markers.
|
||||||
.TP
|
.TP
|
||||||
@@ -346,10 +381,10 @@ This example compresses the PPM file foo.ppm with a quality factor of
|
|||||||
.I foo.jpg
|
.I foo.jpg
|
||||||
.SH HINTS
|
.SH HINTS
|
||||||
Color GIF files are not the ideal input for JPEG; JPEG is really intended for
|
Color GIF files are not the ideal input for JPEG; JPEG is really intended for
|
||||||
compressing full-color (24-bit) images. In particular, don't try to convert
|
compressing full-color (24-bit through 48-bit) images. In particular, don't
|
||||||
cartoons, line drawings, and other images that have only a few distinct
|
try to convert cartoons, line drawings, and other images that have only a few
|
||||||
colors. GIF works great on these, JPEG does not. If you want to convert a
|
distinct colors. GIF works great on these; JPEG does not. If you want to
|
||||||
GIF to JPEG, you should experiment with
|
convert a GIF to JPEG, you should experiment with
|
||||||
.BR cjpeg 's
|
.BR cjpeg 's
|
||||||
.B \-quality
|
.B \-quality
|
||||||
and
|
and
|
||||||
@@ -404,8 +439,3 @@ relevant to libjpeg-turbo, to wordsmith certain sections, and to describe
|
|||||||
features not present in libjpeg.
|
features not present in libjpeg.
|
||||||
.SH ISSUES
|
.SH ISSUES
|
||||||
Not all variants of BMP and Targa file formats are supported.
|
Not all variants of BMP and Targa file formats are supported.
|
||||||
.PP
|
|
||||||
The
|
|
||||||
.B \-targa
|
|
||||||
switch is not a bug, it's a feature. (It would be a bug if the Targa format
|
|
||||||
designers had not been clueless.)
|
|
||||||
|
|||||||
25
cjpeg.c
@@ -7,7 +7,7 @@
|
|||||||
* Lossless JPEG Modifications:
|
* Lossless JPEG Modifications:
|
||||||
* Copyright (C) 1999, Ken Murchison.
|
* Copyright (C) 1999, Ken Murchison.
|
||||||
* libjpeg-turbo Modifications:
|
* libjpeg-turbo Modifications:
|
||||||
* Copyright (C) 2010, 2013-2014, 2017, 2019-2022, D. R. Commander.
|
* Copyright (C) 2010, 2013-2014, 2017, 2019-2022, 2024, D. R. Commander.
|
||||||
* Copyright (C) 2014, Mozilla Corporation.
|
* Copyright (C) 2014, Mozilla Corporation.
|
||||||
* For conditions of distribution and use, see the accompanying README.ijg
|
* For conditions of distribution and use, see the accompanying README.ijg
|
||||||
* file.
|
* file.
|
||||||
@@ -167,9 +167,9 @@ select_file_type(j_compress_ptr cinfo, FILE *infile)
|
|||||||
static const char *progname; /* program name for error messages */
|
static const char *progname; /* program name for error messages */
|
||||||
static char *icc_filename; /* for -icc switch */
|
static char *icc_filename; /* for -icc switch */
|
||||||
static char *outfilename; /* for -outfile switch */
|
static char *outfilename; /* for -outfile switch */
|
||||||
boolean memdst; /* for -memdst switch */
|
static boolean memdst; /* for -memdst switch */
|
||||||
boolean report; /* for -report switch */
|
static boolean report; /* for -report switch */
|
||||||
boolean strict; /* for -strict switch */
|
static boolean strict; /* for -strict switch */
|
||||||
|
|
||||||
|
|
||||||
#ifdef CJPEG_FUZZER
|
#ifdef CJPEG_FUZZER
|
||||||
@@ -328,7 +328,7 @@ parse_switches(j_compress_ptr cinfo, int argc, char **argv,
|
|||||||
int argn;
|
int argn;
|
||||||
char *arg;
|
char *arg;
|
||||||
#ifdef C_LOSSLESS_SUPPORTED
|
#ifdef C_LOSSLESS_SUPPORTED
|
||||||
int psv, pt = 0;
|
int psv = 0, pt = 0;
|
||||||
#endif
|
#endif
|
||||||
boolean force_baseline;
|
boolean force_baseline;
|
||||||
boolean simple_progressive;
|
boolean simple_progressive;
|
||||||
@@ -414,7 +414,8 @@ parse_switches(j_compress_ptr cinfo, int argc, char **argv,
|
|||||||
if (!printed_version) {
|
if (!printed_version) {
|
||||||
fprintf(stderr, "%s version %s (build %s)\n",
|
fprintf(stderr, "%s version %s (build %s)\n",
|
||||||
PACKAGE_NAME, VERSION, BUILD);
|
PACKAGE_NAME, VERSION, BUILD);
|
||||||
fprintf(stderr, "%s\n\n", JCOPYRIGHT);
|
fprintf(stderr, JCOPYRIGHT1);
|
||||||
|
fprintf(stderr, JCOPYRIGHT2 "\n");
|
||||||
fprintf(stderr, "Emulating The Independent JPEG Group's software, version %s\n\n",
|
fprintf(stderr, "Emulating The Independent JPEG Group's software, version %s\n\n",
|
||||||
JVERSION);
|
JVERSION);
|
||||||
printed_version = TRUE;
|
printed_version = TRUE;
|
||||||
@@ -469,7 +470,8 @@ parse_switches(j_compress_ptr cinfo, int argc, char **argv,
|
|||||||
string */
|
string */
|
||||||
if (*ptr)
|
if (*ptr)
|
||||||
sscanf(ptr, "%d", &pt);
|
sscanf(ptr, "%d", &pt);
|
||||||
jpeg_enable_lossless(cinfo, psv, pt);
|
|
||||||
|
/* We must postpone execution until data_precision is known. */
|
||||||
#else
|
#else
|
||||||
fprintf(stderr, "%s: sorry, lossless output was not compiled\n",
|
fprintf(stderr, "%s: sorry, lossless output was not compiled\n",
|
||||||
progname);
|
progname);
|
||||||
@@ -530,7 +532,7 @@ parse_switches(j_compress_ptr cinfo, int argc, char **argv,
|
|||||||
usage();
|
usage();
|
||||||
cinfo->data_precision = val;
|
cinfo->data_precision = val;
|
||||||
|
|
||||||
} else if (keymatch(arg, "progressive", 3)) {
|
} else if (keymatch(arg, "progressive", 1)) {
|
||||||
/* Select simple progressive mode. */
|
/* Select simple progressive mode. */
|
||||||
#ifdef C_PROGRESSIVE_SUPPORTED
|
#ifdef C_PROGRESSIVE_SUPPORTED
|
||||||
simple_progressive = TRUE;
|
simple_progressive = TRUE;
|
||||||
@@ -622,7 +624,7 @@ parse_switches(j_compress_ptr cinfo, int argc, char **argv,
|
|||||||
* default sampling factors.
|
* default sampling factors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
} else if (keymatch(arg, "scans", 4)) {
|
} else if (keymatch(arg, "scans", 2)) {
|
||||||
/* Set scan script. */
|
/* Set scan script. */
|
||||||
#ifdef C_MULTISCAN_FILES_SUPPORTED
|
#ifdef C_MULTISCAN_FILES_SUPPORTED
|
||||||
if (++argn >= argc) /* advance to next argument */
|
if (++argn >= argc) /* advance to next argument */
|
||||||
@@ -747,6 +749,11 @@ parse_switches(j_compress_ptr cinfo, int argc, char **argv,
|
|||||||
jpeg_simple_progression(cinfo);
|
jpeg_simple_progression(cinfo);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef C_LOSSLESS_SUPPORTED
|
||||||
|
if (psv != 0) /* process -lossless */
|
||||||
|
jpeg_enable_lossless(cinfo, psv, pt);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef C_MULTISCAN_FILES_SUPPORTED
|
#ifdef C_MULTISCAN_FILES_SUPPORTED
|
||||||
if (scansarg != NULL) /* process -scans if it was present */
|
if (scansarg != NULL) /* process -scans if it was present */
|
||||||
if (!read_scan_script(cinfo, scansarg))
|
if (!read_scan_script(cinfo, scansarg))
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ endif() # Linux
|
|||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC_LIKE)
|
||||||
set(INST_PLATFORM "Visual C++")
|
set(INST_PLATFORM "Visual C++")
|
||||||
set(INST_ID vc)
|
set(INST_ID vc)
|
||||||
set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-${INST_ID})
|
set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-${INST_ID})
|
||||||
@@ -127,8 +127,8 @@ endif() # WIN32
|
|||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
|
|
||||||
set(ARMV8_BUILD "" CACHE PATH
|
set(SECONDARY_BUILD "" CACHE PATH
|
||||||
"Directory containing Armv8 iOS or macOS build to include in universal binaries")
|
"Directory containing cross-compiled x86-64 or Armv8 (64-bit) iOS or macOS build to include in universal binaries")
|
||||||
|
|
||||||
set(MACOS_APP_CERT_NAME "" CACHE STRING
|
set(MACOS_APP_CERT_NAME "" CACHE STRING
|
||||||
"Name of the Developer ID Application certificate (in the macOS keychain) that should be used to sign the libjpeg-turbo DMG. Leave this blank to generate an unsigned DMG.")
|
"Name of the Developer ID Application certificate (in the macOS keychain) that should be used to sign the libjpeg-turbo DMG. Leave this blank to generate an unsigned DMG.")
|
||||||
|
|||||||
@@ -118,9 +118,10 @@
|
|||||||
# absolute paths where necessary, using the same logic.
|
# absolute paths where necessary, using the same logic.
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
|
# Copyright 2018 Tobias C. Berner
|
||||||
# Copyright 2018 Matthias Räncker
|
# Copyright 2018 Matthias Räncker
|
||||||
# Copyright 2016, 2019 D. R. Commander
|
# Copyright 2016, 2019, 2024 D. R. Commander
|
||||||
# Copyright 2016 Dmitry Marakasov
|
# Copyright 2016, 2021 Dmitry Marakasov
|
||||||
# Copyright 2016 Roger Leigh
|
# Copyright 2016 Roger Leigh
|
||||||
# Copyright 2015 Alex Turbov
|
# Copyright 2015 Alex Turbov
|
||||||
# Copyright 2014 Rolf Eike Beer
|
# Copyright 2014 Rolf Eike Beer
|
||||||
@@ -181,6 +182,10 @@ macro(GNUInstallDirs_set_install_dir var docstring)
|
|||||||
set(_GNUInstallDirs_CMAKE_INSTALL_FORCE_${var} "FORCE")
|
set(_GNUInstallDirs_CMAKE_INSTALL_FORCE_${var} "FORCE")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(DEFINED CMAKE_INSTALL_${var} AND NOT CMAKE_INSTALL_${var} MATCHES "^/")
|
||||||
|
set_property(CACHE CMAKE_INSTALL_${var} PROPERTY TYPE PATH)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_INSTALL_${var} "${CMAKE_INSTALL_DEFAULT_${var}}" CACHE PATH
|
set(CMAKE_INSTALL_${var} "${CMAKE_INSTALL_DEFAULT_${var}}" CACHE PATH
|
||||||
"${docstring} (Default: ${CMAKE_INSTALL_DEFAULT_${var}})"
|
"${docstring} (Default: ${CMAKE_INSTALL_DEFAULT_${var}})"
|
||||||
${_GNUInstallDirs_CMAKE_INSTALL_FORCE_${var}})
|
${_GNUInstallDirs_CMAKE_INSTALL_FORCE_${var}})
|
||||||
@@ -300,7 +305,7 @@ GNUInstallDirs_set_install_dir(DATADIR
|
|||||||
"The directory under which read-only architecture-independent data files should be installed")
|
"The directory under which read-only architecture-independent data files should be installed")
|
||||||
|
|
||||||
if(NOT DEFINED CMAKE_INSTALL_DEFAULT_INFODIR)
|
if(NOT DEFINED CMAKE_INSTALL_DEFAULT_INFODIR)
|
||||||
if(CMAKE_SYSTEM_NAME MATCHES "^(.*BSD|DragonFly)$")
|
if(CMAKE_SYSTEM_NAME MATCHES "^(([^kF].*)?BSD|DragonFly)$")
|
||||||
set(CMAKE_INSTALL_DEFAULT_INFODIR "info")
|
set(CMAKE_INSTALL_DEFAULT_INFODIR "info")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_INSTALL_DEFAULT_INFODIR "<CMAKE_INSTALL_DATAROOTDIR>/info")
|
set(CMAKE_INSTALL_DEFAULT_INFODIR "<CMAKE_INSTALL_DATAROOTDIR>/info")
|
||||||
@@ -310,7 +315,7 @@ GNUInstallDirs_set_install_dir(INFODIR
|
|||||||
"The directory into which info documentation files should be installed")
|
"The directory into which info documentation files should be installed")
|
||||||
|
|
||||||
if(NOT DEFINED CMAKE_INSTALL_DEFAULT_MANDIR)
|
if(NOT DEFINED CMAKE_INSTALL_DEFAULT_MANDIR)
|
||||||
if(CMAKE_SYSTEM_NAME MATCHES "^(.*BSD|DragonFly)$")
|
if(CMAKE_SYSTEM_NAME MATCHES "^(([^k].*)?BSD|DragonFly)$" AND NOT CMAKE_SYSTEM_NAME MATCHES "^(FreeBSD)$")
|
||||||
set(CMAKE_INSTALL_DEFAULT_MANDIR "man")
|
set(CMAKE_INSTALL_DEFAULT_MANDIR "man")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_INSTALL_DEFAULT_MANDIR "<CMAKE_INSTALL_DATAROOTDIR>/man")
|
set(CMAKE_INSTALL_DEFAULT_MANDIR "<CMAKE_INSTALL_DATAROOTDIR>/man")
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ set(PKGNAME ${CMAKE_PROJECT_NAME} CACHE STRING
|
|||||||
"Distribution package name (default: ${CMAKE_PROJECT_NAME})")
|
"Distribution package name (default: ${CMAKE_PROJECT_NAME})")
|
||||||
set(PKGVENDOR "The ${CMAKE_PROJECT_NAME} Project" CACHE STRING
|
set(PKGVENDOR "The ${CMAKE_PROJECT_NAME} Project" CACHE STRING
|
||||||
"Vendor name to be included in distribution package descriptions (default: The ${CMAKE_PROJECT_NAME} Project)")
|
"Vendor name to be included in distribution package descriptions (default: The ${CMAKE_PROJECT_NAME} Project)")
|
||||||
set(PKGURL "http://www.${CMAKE_PROJECT_NAME}.org" CACHE STRING
|
set(PKGURL "https://${CMAKE_PROJECT_NAME}.org" CACHE STRING
|
||||||
"URL of project web site to be included in distribution package descriptions (default: http://www.${CMAKE_PROJECT_NAME}.org)")
|
"URL of project web site to be included in distribution package descriptions (default: https://${CMAKE_PROJECT_NAME}.org)")
|
||||||
set(PKGEMAIL "information@${CMAKE_PROJECT_NAME}.org" CACHE STRING
|
set(PKGEMAIL "information@${CMAKE_PROJECT_NAME}.org" CACHE STRING
|
||||||
"E-mail of project maintainer to be included in distribution package descriptions (default: information@${CMAKE_PROJECT_NAME}.org")
|
"E-mail of project maintainer to be included in distribution package descriptions (default: information@${CMAKE_PROJECT_NAME}.org")
|
||||||
set(PKGID "com.${CMAKE_PROJECT_NAME}.${PKGNAME}" CACHE STRING
|
set(PKGID "com.${CMAKE_PROJECT_NAME}.${PKGNAME}" CACHE STRING
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ file(GLOB FILES
|
|||||||
*_LOSSL*S_*.bmp
|
*_LOSSL*S_*.bmp
|
||||||
*_LOSSL*S_*.ppm
|
*_LOSSL*S_*.ppm
|
||||||
*_LOSSL*S_*.jpg
|
*_LOSSL*S_*.jpg
|
||||||
|
croptest.log
|
||||||
tjbenchtest*.log
|
tjbenchtest*.log
|
||||||
tjexampletest*.log)
|
tjexampletest*.log)
|
||||||
|
|
||||||
|
|||||||
129
djpeg.1
@@ -1,4 +1,4 @@
|
|||||||
.TH DJPEG 1 "4 November 2020"
|
.TH DJPEG 1 "17 June 2024"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
djpeg \- decompress a JPEG file to an image file
|
djpeg \- decompress a JPEG file to an image file
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@@ -28,47 +28,46 @@ Upper and lower case are equivalent (thus
|
|||||||
.B \-BMP
|
.B \-BMP
|
||||||
is the same as
|
is the same as
|
||||||
.BR \-bmp ).
|
.BR \-bmp ).
|
||||||
British spellings are also accepted (e.g.,
|
British spellings are also accepted (e.g.
|
||||||
.BR \-greyscale ),
|
.BR \-greyscale ),
|
||||||
though for brevity these are not mentioned below.
|
though for brevity these are not mentioned below.
|
||||||
.PP
|
.PP
|
||||||
The basic switches are:
|
The basic switches are:
|
||||||
.TP
|
.TP
|
||||||
.BI \-colors " N"
|
.BI \-colors " N"
|
||||||
Reduce image to at most N colors. This reduces the number of colors used in
|
Reduce image to at most N colors [legacy feature]. This reduces the number of
|
||||||
the output image, so that it can be displayed on a colormapped display or
|
colors used in the output image so that it can be stored in a colormapped file
|
||||||
stored in a colormapped file format. For example, if you have an 8-bit
|
format. This feature cannot be used when decompressing lossless JPEG images.
|
||||||
display, you'd need to reduce to 256 or fewer colors.
|
|
||||||
.TP
|
.TP
|
||||||
.BI \-quantize " N"
|
.BI \-quantize " N"
|
||||||
Same as
|
Same as
|
||||||
.BR \-colors .
|
.BR \-colors .
|
||||||
.B \-colors
|
.B \-colors
|
||||||
is the recommended name,
|
is the recommended name.
|
||||||
.B \-quantize
|
.B \-quantize
|
||||||
is provided only for backwards compatibility.
|
is provided only for backward compatibility.
|
||||||
.TP
|
.TP
|
||||||
.B \-fast
|
.B \-fast
|
||||||
Select recommended processing options for fast, low quality output. (The
|
Select recommended processing options for low-quality output [legacy feature].
|
||||||
default options are chosen for highest quality output.) Currently, this is
|
(The default options are chosen for highest-quality output.) Currently, this
|
||||||
equivalent to \fB\-dct fast \-nosmooth \-onepass \-dither ordered\fR.
|
is equivalent to \fB\-dct fast \-nosmooth \-onepass \-dither ordered\fR. On
|
||||||
|
modern CPUs, these settings have little or no performance benefit and are
|
||||||
|
retained solely for backward compatibility.
|
||||||
.TP
|
.TP
|
||||||
.B \-grayscale
|
.B \-grayscale
|
||||||
Force grayscale output even if JPEG file is color. Useful for viewing on
|
Force grayscale output even if JPEG file is full-color. This feature cannot be
|
||||||
monochrome displays; also,
|
used when decompressing full-color lossless JPEG images.
|
||||||
.B djpeg
|
|
||||||
runs noticeably faster in this mode.
|
|
||||||
.TP
|
.TP
|
||||||
.B \-rgb
|
.B \-rgb
|
||||||
Force RGB output even if JPEG file is grayscale.
|
Force RGB output even if JPEG file is grayscale. This feature cannot be used
|
||||||
|
when decompressing grayscale lossless JPEG images.
|
||||||
.TP
|
.TP
|
||||||
.BI \-scale " M/N"
|
.BI \-scale " M/N"
|
||||||
Scale the output image by a factor M/N. Currently the scale factor must be
|
Scale the output image by a factor M/N. Currently the scale factor must be
|
||||||
M/8, where M is an integer between 1 and 16 inclusive, or any reduced fraction
|
M/8, where M is an integer between 1 and 16 inclusive, or any reduced fraction
|
||||||
thereof (such as 1/2, 3/4, etc.) Scaling is handy if the image is larger than
|
thereof (such as 1/2, 3/4, etc.) Scaling is handy if the image is larger than
|
||||||
your screen; also,
|
your screen. This feature cannot be used when decompressing lossless JPEG
|
||||||
.B djpeg
|
images.
|
||||||
runs much faster when scaling down the output.
|
|
||||||
.TP
|
.TP
|
||||||
.B \-bmp
|
.B \-bmp
|
||||||
Select BMP output format (Windows flavor). 8-bit colormapped format is
|
Select BMP output format (Windows flavor). 8-bit colormapped format is
|
||||||
@@ -77,32 +76,36 @@ emitted if
|
|||||||
or
|
or
|
||||||
.B \-grayscale
|
.B \-grayscale
|
||||||
is specified, or if the JPEG file is grayscale; otherwise, 24-bit full-color
|
is specified, or if the JPEG file is grayscale; otherwise, 24-bit full-color
|
||||||
format is emitted.
|
format is emitted. This format can only be used when decompressing
|
||||||
|
8-bit-per-sample JPEG images.
|
||||||
.TP
|
.TP
|
||||||
.B \-gif
|
.B \-gif
|
||||||
Select GIF output format (LZW-compressed). Since GIF does not support more
|
Select GIF output format (LZW-compressed) [legacy feature]. Since GIF does not
|
||||||
than 256 colors,
|
support more than 256 colors,
|
||||||
.B \-colors 256
|
.B \-colors 256
|
||||||
is assumed (unless you specify a smaller number of colors). If you specify
|
is assumed (unless you specify a smaller number of colors). If you specify
|
||||||
.BR \-fast,
|
.BR \-fast,
|
||||||
the default number of colors is 216.
|
the default number of colors is 216. This format can only be used when
|
||||||
|
decompressing 8-bit-per-sample or 12-bit-per-sample lossy JPEG images.
|
||||||
.TP
|
.TP
|
||||||
.B \-gif0
|
.B \-gif0
|
||||||
Select GIF output format (uncompressed). Since GIF does not support more than
|
Select GIF output format (uncompressed) [legacy feature]. Since GIF does not
|
||||||
256 colors,
|
support more than 256 colors,
|
||||||
.B \-colors 256
|
.B \-colors 256
|
||||||
is assumed (unless you specify a smaller number of colors). If you specify
|
is assumed (unless you specify a smaller number of colors). If you specify
|
||||||
.BR \-fast,
|
.BR \-fast,
|
||||||
the default number of colors is 216.
|
the default number of colors is 216. This format can only be used when
|
||||||
|
decompressing 8-bit-per-sample or 12-bit-per-sample lossy JPEG images.
|
||||||
.TP
|
.TP
|
||||||
.B \-os2
|
.B \-os2
|
||||||
Select BMP output format (OS/2 1.x flavor). 8-bit colormapped format is
|
Select BMP output format (OS/2 1.x flavor) [legacy feature]. 8-bit colormapped
|
||||||
emitted if
|
format is emitted if
|
||||||
.B \-colors
|
.B \-colors
|
||||||
or
|
or
|
||||||
.B \-grayscale
|
.B \-grayscale
|
||||||
is specified, or if the JPEG file is grayscale; otherwise, 24-bit full-color
|
is specified, or if the JPEG file is grayscale; otherwise, 24-bit full-color
|
||||||
format is emitted.
|
format is emitted. This format can only be used when decompressing
|
||||||
|
8-bit-per-sample JPEG images.
|
||||||
.TP
|
.TP
|
||||||
.B \-pnm
|
.B \-pnm
|
||||||
Select PBMPLUS (PPM/PGM) output format (this is the default format).
|
Select PBMPLUS (PPM/PGM) output format (this is the default format).
|
||||||
@@ -111,12 +114,13 @@ PGM is emitted if the JPEG file is grayscale or if
|
|||||||
is specified; otherwise PPM is emitted.
|
is specified; otherwise PPM is emitted.
|
||||||
.TP
|
.TP
|
||||||
.B \-targa
|
.B \-targa
|
||||||
Select Targa output format. Grayscale format is emitted if the JPEG file is
|
Select Targa output format [legacy feature]. Grayscale format is emitted if
|
||||||
grayscale or if
|
the JPEG file is grayscale or if
|
||||||
.B \-grayscale
|
.B \-grayscale
|
||||||
is specified; otherwise, colormapped format is emitted if
|
is specified; otherwise, colormapped format is emitted if
|
||||||
.B \-colors
|
.B \-colors
|
||||||
is specified; otherwise, 24-bit full-color format is emitted.
|
is specified; otherwise, 24-bit full-color format is emitted. This format can
|
||||||
|
only be used when decompressing 8-bit-per-sample JPEG images.
|
||||||
.PP
|
.PP
|
||||||
Switches for advanced users:
|
Switches for advanced users:
|
||||||
.TP
|
.TP
|
||||||
@@ -157,18 +161,18 @@ behavior, whereas the integer methods should give the same results on all
|
|||||||
machines.
|
machines.
|
||||||
.TP
|
.TP
|
||||||
.B \-dither fs
|
.B \-dither fs
|
||||||
Use Floyd-Steinberg dithering in color quantization.
|
Use Floyd-Steinberg dithering when quantizing colors [legacy feature].
|
||||||
.TP
|
.TP
|
||||||
.B \-dither ordered
|
.B \-dither ordered
|
||||||
Use ordered dithering in color quantization.
|
Use ordered dithering when quantizing colors [legacy feature].
|
||||||
.TP
|
.TP
|
||||||
.B \-dither none
|
.B \-dither none
|
||||||
Do not use dithering in color quantization.
|
Do not use dithering when quantizing colors [legacy feature]. By default,
|
||||||
By default, Floyd-Steinberg dithering is applied when quantizing colors; this
|
Floyd-Steinberg dithering is applied when quantizing colors. This is slower
|
||||||
is slow but usually produces the best results. Ordered dither is a compromise
|
but usually produces the best results. Ordered dithering is a compromise
|
||||||
between speed and quality; no dithering is fast but usually looks awful. Note
|
between speed and quality. No dithering is faster but usually looks awful.
|
||||||
that these switches have no effect unless color quantization is being done.
|
Note that these switches have no effect unless color quantization is being
|
||||||
Ordered dither is only available in
|
done. Ordered dithering is only available in
|
||||||
.B \-onepass
|
.B \-onepass
|
||||||
mode.
|
mode.
|
||||||
.TP
|
.TP
|
||||||
@@ -176,9 +180,9 @@ mode.
|
|||||||
Extract ICC color management profile to the specified file.
|
Extract ICC color management profile to the specified file.
|
||||||
.TP
|
.TP
|
||||||
.BI \-map " file"
|
.BI \-map " file"
|
||||||
Quantize to the colors used in the specified image file. This is useful for
|
Quantize to the colors used in the specified image file [legacy feature]. This
|
||||||
producing multiple files with identical color maps, or for forcing a
|
is useful for producing multiple files with identical color maps, or for
|
||||||
predefined set of colors to be used. The
|
forcing a predefined set of colors to be used. The
|
||||||
.I file
|
.I file
|
||||||
must be a GIF or PPM file. This option overrides
|
must be a GIF or PPM file. This option overrides
|
||||||
.B \-colors
|
.B \-colors
|
||||||
@@ -189,14 +193,14 @@ and
|
|||||||
Use a faster, lower-quality upsampling routine.
|
Use a faster, lower-quality upsampling routine.
|
||||||
.TP
|
.TP
|
||||||
.B \-onepass
|
.B \-onepass
|
||||||
Use one-pass instead of two-pass color quantization. The one-pass method is
|
Use one-pass instead of two-pass color quantization [legacy feature]. The
|
||||||
faster and needs less memory, but it produces a lower-quality image.
|
one-pass method needs less memory, but it produces a lower-quality image.
|
||||||
.B \-onepass
|
.B \-onepass
|
||||||
is ignored unless you also say
|
is ignored unless you also specify
|
||||||
.B \-colors
|
.B \-colors
|
||||||
.IR N .
|
.IR N .
|
||||||
Also, the one-pass method is always used for grayscale output (the two-pass
|
Also, the one-pass method is always used for grayscale output. (The two-pass
|
||||||
method is no improvement then).
|
method has no improvement in that case.)
|
||||||
.TP
|
.TP
|
||||||
.BI \-maxmemory " N"
|
.BI \-maxmemory " N"
|
||||||
Set limit for amount of memory to use in processing large images. Value is
|
Set limit for amount of memory to use in processing large images. Value is
|
||||||
@@ -260,36 +264,13 @@ Same as
|
|||||||
Print version information and exit.
|
Print version information and exit.
|
||||||
.SH EXAMPLES
|
.SH EXAMPLES
|
||||||
.LP
|
.LP
|
||||||
This example decompresses the JPEG file foo.jpg, quantizes it to
|
This example decompresses the JPEG file foo.jpg and saves the output in 8-bit
|
||||||
256 colors, and saves the output in 8-bit BMP format in foo.bmp:
|
BMP format in foo.bmp:
|
||||||
.IP
|
.IP
|
||||||
.B djpeg \-colors 256 \-bmp
|
.B djpeg \-bmp
|
||||||
.I foo.jpg
|
.I foo.jpg
|
||||||
.B >
|
.B >
|
||||||
.I foo.bmp
|
.I foo.bmp
|
||||||
.SH HINTS
|
|
||||||
To get a quick preview of an image, use the
|
|
||||||
.B \-grayscale
|
|
||||||
and/or
|
|
||||||
.B \-scale
|
|
||||||
switches.
|
|
||||||
.B \-grayscale \-scale 1/8
|
|
||||||
is the fastest case.
|
|
||||||
.PP
|
|
||||||
Several options are available that trade off image quality to gain speed.
|
|
||||||
.B \-fast
|
|
||||||
turns on the recommended settings.
|
|
||||||
.PP
|
|
||||||
.B \-dct fast
|
|
||||||
and/or
|
|
||||||
.B \-nosmooth
|
|
||||||
gain speed at a small sacrifice in quality.
|
|
||||||
When producing a color-quantized image,
|
|
||||||
.B \-onepass \-dither ordered
|
|
||||||
is fast but much lower quality than the default behavior.
|
|
||||||
.B \-dither none
|
|
||||||
may give acceptable results in two-pass mode, but is seldom tolerable in
|
|
||||||
one-pass mode.
|
|
||||||
.SH ENVIRONMENT
|
.SH ENVIRONMENT
|
||||||
.TP
|
.TP
|
||||||
.B JPEGMEM
|
.B JPEGMEM
|
||||||
|
|||||||
70
djpeg.c
@@ -5,7 +5,7 @@
|
|||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* Modified 2013-2019 by Guido Vollbeding.
|
* Modified 2013-2019 by Guido Vollbeding.
|
||||||
* libjpeg-turbo Modifications:
|
* libjpeg-turbo Modifications:
|
||||||
* Copyright (C) 2010-2011, 2013-2017, 2019-2020, 2022-2023, D. R. Commander.
|
* Copyright (C) 2010-2011, 2013-2017, 2019-2020, 2022-2024, D. R. Commander.
|
||||||
* Copyright (C) 2015, Google, Inc.
|
* Copyright (C) 2015, Google, Inc.
|
||||||
* For conditions of distribution and use, see the accompanying README.ijg
|
* For conditions of distribution and use, see the accompanying README.ijg
|
||||||
* file.
|
* file.
|
||||||
@@ -84,14 +84,14 @@ static IMAGE_FORMATS requested_fmt;
|
|||||||
|
|
||||||
static const char *progname; /* program name for error messages */
|
static const char *progname; /* program name for error messages */
|
||||||
static char *icc_filename; /* for -icc switch */
|
static char *icc_filename; /* for -icc switch */
|
||||||
JDIMENSION max_scans; /* for -maxscans switch */
|
static JDIMENSION max_scans; /* for -maxscans switch */
|
||||||
static char *outfilename; /* for -outfile switch */
|
static char *outfilename; /* for -outfile switch */
|
||||||
boolean memsrc; /* for -memsrc switch */
|
static boolean memsrc; /* for -memsrc switch */
|
||||||
boolean report; /* for -report switch */
|
static boolean report; /* for -report switch */
|
||||||
boolean skip, crop;
|
static boolean skip, crop;
|
||||||
JDIMENSION skip_start, skip_end;
|
static JDIMENSION skip_start, skip_end;
|
||||||
JDIMENSION crop_x, crop_y, crop_width, crop_height;
|
static JDIMENSION crop_x, crop_y, crop_width, crop_height;
|
||||||
boolean strict; /* for -strict switch */
|
static boolean strict; /* for -strict switch */
|
||||||
#define INPUT_BUF_SIZE 4096
|
#define INPUT_BUF_SIZE 4096
|
||||||
|
|
||||||
|
|
||||||
@@ -107,8 +107,8 @@ usage(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
fprintf(stderr, "Switches (names may be abbreviated):\n");
|
fprintf(stderr, "Switches (names may be abbreviated):\n");
|
||||||
fprintf(stderr, " -colors N Reduce image to no more than N colors\n");
|
fprintf(stderr, " -colors N Reduce image to no more than N colors [legacy feature]\n");
|
||||||
fprintf(stderr, " -fast Fast, low-quality processing\n");
|
fprintf(stderr, " -fast Low-quality processing [legacy feature]\n");
|
||||||
fprintf(stderr, " -grayscale Force grayscale output\n");
|
fprintf(stderr, " -grayscale Force grayscale output\n");
|
||||||
fprintf(stderr, " -rgb Force RGB output\n");
|
fprintf(stderr, " -rgb Force RGB output\n");
|
||||||
fprintf(stderr, " -rgb565 Force RGB565 output\n");
|
fprintf(stderr, " -rgb565 Force RGB565 output\n");
|
||||||
@@ -120,13 +120,13 @@ usage(void)
|
|||||||
(DEFAULT_FMT == FMT_BMP ? " (default)" : ""));
|
(DEFAULT_FMT == FMT_BMP ? " (default)" : ""));
|
||||||
#endif
|
#endif
|
||||||
#ifdef GIF_SUPPORTED
|
#ifdef GIF_SUPPORTED
|
||||||
fprintf(stderr, " -gif Select GIF output format (LZW-compressed)%s\n",
|
fprintf(stderr, " -gif Select GIF output format (LZW-compressed)%s [legacy feature]\n",
|
||||||
(DEFAULT_FMT == FMT_GIF ? " (default)" : ""));
|
(DEFAULT_FMT == FMT_GIF ? " (default)" : ""));
|
||||||
fprintf(stderr, " -gif0 Select GIF output format (uncompressed)%s\n",
|
fprintf(stderr, " -gif0 Select GIF output format (uncompressed)%s [legacy feature]\n",
|
||||||
(DEFAULT_FMT == FMT_GIF0 ? " (default)" : ""));
|
(DEFAULT_FMT == FMT_GIF0 ? " (default)" : ""));
|
||||||
#endif
|
#endif
|
||||||
#ifdef BMP_SUPPORTED
|
#ifdef BMP_SUPPORTED
|
||||||
fprintf(stderr, " -os2 Select BMP output format (OS/2 style)%s\n",
|
fprintf(stderr, " -os2 Select BMP output format (OS/2 style)%s [legacy feature]\n",
|
||||||
(DEFAULT_FMT == FMT_OS2 ? " (default)" : ""));
|
(DEFAULT_FMT == FMT_OS2 ? " (default)" : ""));
|
||||||
#endif
|
#endif
|
||||||
#ifdef PPM_SUPPORTED
|
#ifdef PPM_SUPPORTED
|
||||||
@@ -134,7 +134,7 @@ usage(void)
|
|||||||
(DEFAULT_FMT == FMT_PPM ? " (default)" : ""));
|
(DEFAULT_FMT == FMT_PPM ? " (default)" : ""));
|
||||||
#endif
|
#endif
|
||||||
#ifdef TARGA_SUPPORTED
|
#ifdef TARGA_SUPPORTED
|
||||||
fprintf(stderr, " -targa Select Targa output format%s\n",
|
fprintf(stderr, " -targa Select Targa output format%s [legacy feature]\n",
|
||||||
(DEFAULT_FMT == FMT_TARGA ? " (default)" : ""));
|
(DEFAULT_FMT == FMT_TARGA ? " (default)" : ""));
|
||||||
#endif
|
#endif
|
||||||
fprintf(stderr, "Switches for advanced users:\n");
|
fprintf(stderr, "Switches for advanced users:\n");
|
||||||
@@ -150,16 +150,18 @@ usage(void)
|
|||||||
fprintf(stderr, " -dct float Use floating-point DCT method [legacy feature]%s\n",
|
fprintf(stderr, " -dct float Use floating-point DCT method [legacy feature]%s\n",
|
||||||
(JDCT_DEFAULT == JDCT_FLOAT ? " (default)" : ""));
|
(JDCT_DEFAULT == JDCT_FLOAT ? " (default)" : ""));
|
||||||
#endif
|
#endif
|
||||||
fprintf(stderr, " -dither fs Use F-S dithering (default)\n");
|
fprintf(stderr, " -dither fs Use Floyd-Steinberg dithering when quantizing colors (default)\n");
|
||||||
fprintf(stderr, " -dither none Don't use dithering in quantization\n");
|
fprintf(stderr, " [legacy feature]\n");
|
||||||
fprintf(stderr, " -dither ordered Use ordered dither (medium speed, quality)\n");
|
fprintf(stderr, " -dither none Don't use dithering when quantizing colors [legacy feature]\n");
|
||||||
|
fprintf(stderr, " -dither ordered Use ordered dithering when quantizing colors\n");
|
||||||
|
fprintf(stderr, " [legacy feature]\n");
|
||||||
fprintf(stderr, " -icc FILE Extract ICC profile to FILE\n");
|
fprintf(stderr, " -icc FILE Extract ICC profile to FILE\n");
|
||||||
#ifdef QUANT_2PASS_SUPPORTED
|
#ifdef QUANT_2PASS_SUPPORTED
|
||||||
fprintf(stderr, " -map FILE Map to colors used in named image file\n");
|
fprintf(stderr, " -map FILE Quantize to colors used in named image file [legacy feature]\n");
|
||||||
#endif
|
#endif
|
||||||
fprintf(stderr, " -nosmooth Don't use high-quality upsampling\n");
|
fprintf(stderr, " -nosmooth Use faster, lower-quality upsampling\n");
|
||||||
#ifdef QUANT_1PASS_SUPPORTED
|
#ifdef QUANT_1PASS_SUPPORTED
|
||||||
fprintf(stderr, " -onepass Use 1-pass quantization (fast, low quality)\n");
|
fprintf(stderr, " -onepass Use 1-pass color quantization (low quality) [legacy feature]\n");
|
||||||
#endif
|
#endif
|
||||||
fprintf(stderr, " -maxmemory N Maximum memory to use (in kbytes)\n");
|
fprintf(stderr, " -maxmemory N Maximum memory to use (in kbytes)\n");
|
||||||
fprintf(stderr, " -maxscans N Maximum number of scans to allow in input file\n");
|
fprintf(stderr, " -maxscans N Maximum number of scans to allow in input file\n");
|
||||||
@@ -267,7 +269,8 @@ parse_switches(j_decompress_ptr cinfo, int argc, char **argv,
|
|||||||
if (!printed_version) {
|
if (!printed_version) {
|
||||||
fprintf(stderr, "%s version %s (build %s)\n",
|
fprintf(stderr, "%s version %s (build %s)\n",
|
||||||
PACKAGE_NAME, VERSION, BUILD);
|
PACKAGE_NAME, VERSION, BUILD);
|
||||||
fprintf(stderr, "%s\n\n", JCOPYRIGHT);
|
fprintf(stderr, JCOPYRIGHT1);
|
||||||
|
fprintf(stderr, JCOPYRIGHT2 "\n");
|
||||||
fprintf(stderr, "Emulating The Independent JPEG Group's software, version %s\n\n",
|
fprintf(stderr, "Emulating The Independent JPEG Group's software, version %s\n\n",
|
||||||
JVERSION);
|
JVERSION);
|
||||||
printed_version = TRUE;
|
printed_version = TRUE;
|
||||||
@@ -389,7 +392,7 @@ parse_switches(j_decompress_ptr cinfo, int argc, char **argv,
|
|||||||
} else if (keymatch(arg, "report", 2)) {
|
} else if (keymatch(arg, "report", 2)) {
|
||||||
report = TRUE;
|
report = TRUE;
|
||||||
|
|
||||||
} else if (keymatch(arg, "scale", 2)) {
|
} else if (keymatch(arg, "scale", 1)) {
|
||||||
/* Scale the output image by a fraction M/N. */
|
/* Scale the output image by a fraction M/N. */
|
||||||
if (++argn >= argc) /* advance to next argument */
|
if (++argn >= argc) /* advance to next argument */
|
||||||
usage();
|
usage();
|
||||||
@@ -398,22 +401,31 @@ parse_switches(j_decompress_ptr cinfo, int argc, char **argv,
|
|||||||
usage();
|
usage();
|
||||||
|
|
||||||
} else if (keymatch(arg, "skip", 2)) {
|
} else if (keymatch(arg, "skip", 2)) {
|
||||||
|
int temp_start = -1, temp_end = -1;
|
||||||
if (++argn >= argc)
|
if (++argn >= argc)
|
||||||
usage();
|
usage();
|
||||||
if (sscanf(argv[argn], "%u,%u", &skip_start, &skip_end) != 2 ||
|
if (sscanf(argv[argn], "%d,%d", &temp_start, &temp_end) != 2 ||
|
||||||
skip_start > skip_end)
|
temp_start < 0 || temp_end < 0 || temp_start > temp_end)
|
||||||
usage();
|
usage();
|
||||||
skip = TRUE;
|
skip = TRUE;
|
||||||
|
skip_start = temp_start;
|
||||||
|
skip_end = temp_end;
|
||||||
|
|
||||||
} else if (keymatch(arg, "crop", 2)) {
|
} else if (keymatch(arg, "crop", 2)) {
|
||||||
|
int temp_width = -1, temp_height = -1, temp_x = -1, temp_y = -1;
|
||||||
char c;
|
char c;
|
||||||
if (++argn >= argc)
|
if (++argn >= argc)
|
||||||
usage();
|
usage();
|
||||||
if (sscanf(argv[argn], "%u%c%u+%u+%u", &crop_width, &c, &crop_height,
|
if (sscanf(argv[argn], "%d%c%d+%d+%d", &temp_width, &c, &temp_height,
|
||||||
&crop_x, &crop_y) != 5 ||
|
&temp_x, &temp_y) != 5 ||
|
||||||
(c != 'X' && c != 'x') || crop_width < 1 || crop_height < 1)
|
(c != 'X' && c != 'x') || temp_width < 1 || temp_height < 1 ||
|
||||||
|
temp_x < 0 || temp_y < 0)
|
||||||
usage();
|
usage();
|
||||||
crop = TRUE;
|
crop = TRUE;
|
||||||
|
crop_width = temp_width;
|
||||||
|
crop_height = temp_height;
|
||||||
|
crop_x = temp_x;
|
||||||
|
crop_y = temp_y;
|
||||||
|
|
||||||
} else if (keymatch(arg, "strict", 2)) {
|
} else if (keymatch(arg, "strict", 2)) {
|
||||||
strict = TRUE;
|
strict = TRUE;
|
||||||
@@ -773,8 +785,8 @@ main(int argc, char **argv)
|
|||||||
/* Check for valid crop dimensions. We cannot check these values until
|
/* Check for valid crop dimensions. We cannot check these values until
|
||||||
* after jpeg_start_decompress() is called.
|
* after jpeg_start_decompress() is called.
|
||||||
*/
|
*/
|
||||||
if (crop_x + crop_width > cinfo.output_width ||
|
if ((unsigned long long)crop_x + crop_width > cinfo.output_width ||
|
||||||
crop_y + crop_height > cinfo.output_height) {
|
(unsigned long long)crop_y + crop_height > cinfo.output_height) {
|
||||||
fprintf(stderr, "%s: crop dimensions exceed image dimensions %u x %u\n",
|
fprintf(stderr, "%s: crop dimensions exceed image dimensions %u x %u\n",
|
||||||
progname, cinfo.output_width, cinfo.output_height);
|
progname, cinfo.output_width, cinfo.output_height);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
<title>TurboJPEG: Data Structures</title>
|
<title>TurboJPEG: Data Structures</title>
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
@@ -20,10 +20,9 @@
|
|||||||
<div id="titlearea">
|
<div id="titlearea">
|
||||||
<table cellspacing="0" cellpadding="0">
|
<table cellspacing="0" cellpadding="0">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr style="height: 56px;">
|
<tr id="projectrow">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign">
|
||||||
<div id="projectname">TurboJPEG
|
<div id="projectname">TurboJPEG<span id="projectnumber"> 3.0.1</span>
|
||||||
 <span id="projectnumber">3</span>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -31,21 +30,22 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- end header part -->
|
<!-- end header part -->
|
||||||
<!-- Generated by Doxygen 1.8.20 -->
|
<!-- Generated by Doxygen 1.9.8 -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
/* @license-end */
|
/* @license-end */
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
$(function() {
|
$(function() {
|
||||||
initMenu('',true,false,'search.php','Search');
|
initMenu('',true,false,'search.php','Search');
|
||||||
$(document).ready(function() { init_search(); });
|
$(document).ready(function() { init_search(); });
|
||||||
});
|
});
|
||||||
/* @license-end */</script>
|
/* @license-end */
|
||||||
|
</script>
|
||||||
<div id="main-nav"></div>
|
<div id="main-nav"></div>
|
||||||
</div><!-- top -->
|
</div><!-- top -->
|
||||||
<!-- window showing the filter options -->
|
<!-- window showing the filter options -->
|
||||||
@@ -57,27 +57,33 @@ $(function() {
|
|||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
<div id="MSearchResultsWindow">
|
<div id="MSearchResultsWindow">
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
<div id="MSearchResults">
|
||||||
name="MSearchResults" id="MSearchResults">
|
<div class="SRPage">
|
||||||
</iframe>
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headertitle">
|
<div class="headertitle"><div class="title">Data Structures</div></div>
|
||||||
<div class="title">Data Structures</div> </div>
|
|
||||||
</div><!--header-->
|
</div><!--header-->
|
||||||
<div class="contents">
|
<div class="contents">
|
||||||
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
|
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
|
||||||
<table class="directory">
|
<table class="directory">
|
||||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtjregion.html" target="_self">tjregion</a></td><td class="desc">Cropping region </td></tr>
|
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtjregion.html" target="_self">tjregion</a></td><td class="desc">Cropping region </td></tr>
|
||||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtjscalingfactor.html" target="_self">tjscalingfactor</a></td><td class="desc">Scaling factor </td></tr>
|
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtjscalingfactor.html" target="_self">tjscalingfactor</a></td><td class="desc">Scaling factor </td></tr>
|
||||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtjtransform.html" target="_self">tjtransform</a></td><td class="desc">Lossless transform </td></tr>
|
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtjtransform.html" target="_self">tjtransform</a></td><td class="desc">Lossless transform </td></tr>
|
||||||
</table>
|
</table>
|
||||||
</div><!-- directory -->
|
</div><!-- directory -->
|
||||||
</div><!-- contents -->
|
</div><!-- contents -->
|
||||||
<!-- start footer part -->
|
<!-- start footer part -->
|
||||||
<hr class="footer"/><address class="footer"><small>
|
<hr class="footer"/><address class="footer"><small>
|
||||||
Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||||
</small></address>
|
</small></address>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
BIN
doc/html/bc_sd.png
Normal file
|
After Width: | Height: | Size: 635 B |
|
Before Width: | Height: | Size: 147 B |
@@ -1,9 +1,9 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
<title>TurboJPEG: Data Structure Index</title>
|
<title>TurboJPEG: Data Structure Index</title>
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
@@ -20,10 +20,9 @@
|
|||||||
<div id="titlearea">
|
<div id="titlearea">
|
||||||
<table cellspacing="0" cellpadding="0">
|
<table cellspacing="0" cellpadding="0">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr style="height: 56px;">
|
<tr id="projectrow">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign">
|
||||||
<div id="projectname">TurboJPEG
|
<div id="projectname">TurboJPEG<span id="projectnumber"> 3.0.1</span>
|
||||||
 <span id="projectnumber">3</span>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -31,21 +30,22 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- end header part -->
|
<!-- end header part -->
|
||||||
<!-- Generated by Doxygen 1.8.20 -->
|
<!-- Generated by Doxygen 1.9.8 -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
/* @license-end */
|
/* @license-end */
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
$(function() {
|
$(function() {
|
||||||
initMenu('',true,false,'search.php','Search');
|
initMenu('',true,false,'search.php','Search');
|
||||||
$(document).ready(function() { init_search(); });
|
$(document).ready(function() { init_search(); });
|
||||||
});
|
});
|
||||||
/* @license-end */</script>
|
/* @license-end */
|
||||||
|
</script>
|
||||||
<div id="main-nav"></div>
|
<div id="main-nav"></div>
|
||||||
</div><!-- top -->
|
</div><!-- top -->
|
||||||
<!-- window showing the filter options -->
|
<!-- window showing the filter options -->
|
||||||
@@ -57,33 +57,32 @@ $(function() {
|
|||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
<div id="MSearchResultsWindow">
|
<div id="MSearchResultsWindow">
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
<div id="MSearchResults">
|
||||||
name="MSearchResults" id="MSearchResults">
|
<div class="SRPage">
|
||||||
</iframe>
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headertitle">
|
<div class="headertitle"><div class="title">Data Structure Index</div></div>
|
||||||
<div class="title">Data Structure Index</div> </div>
|
|
||||||
</div><!--header-->
|
</div><!--header-->
|
||||||
<div class="contents">
|
<div class="contents">
|
||||||
<div class="qindex"><a class="qindex" href="#letter_t">t</a></div>
|
<div class="qindex"><a class="qindex" href="#letter_T">T</a></div>
|
||||||
<table class="classindex">
|
<div class="classindex">
|
||||||
<tr><td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  t  </div></td></tr></table>
|
<dl class="classindex even">
|
||||||
</td>
|
<dt class="alphachar"><a id="letter_T" name="letter_T">T</a></dt>
|
||||||
<td valign="top"><a class="el" href="structtjscalingfactor.html">tjscalingfactor</a>   </td>
|
<dd><a class="el" href="structtjregion.html">tjregion</a></dd><dd><a class="el" href="structtjscalingfactor.html">tjscalingfactor</a></dd><dd><a class="el" href="structtjtransform.html">tjtransform</a></dd></dl>
|
||||||
<td valign="top"><a class="el" href="structtjtransform.html">tjtransform</a>   </td>
|
</div>
|
||||||
<td></td></tr>
|
|
||||||
<tr><td></td><td></td><td></td></tr>
|
|
||||||
<tr><td valign="top"><a class="el" href="structtjregion.html">tjregion</a>   </td>
|
|
||||||
<td></td><td></td><td></td></tr>
|
|
||||||
<tr><td></td><td></td><td></td><td></td></tr>
|
|
||||||
</table>
|
|
||||||
<div class="qindex"><a class="qindex" href="#letter_t">t</a></div>
|
|
||||||
</div><!-- contents -->
|
</div><!-- contents -->
|
||||||
<!-- start footer part -->
|
<!-- start footer part -->
|
||||||
<hr class="footer"/><address class="footer"><small>
|
<hr class="footer"/><address class="footer"><small>
|
||||||
Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||||
</small></address>
|
</small></address>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
BIN
doc/html/doc.png
|
Before Width: | Height: | Size: 746 B |
12
doc/html/doc.svg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
|
||||||
|
<g style="fill:#4665A2">
|
||||||
|
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
|
||||||
|
</g>
|
||||||
|
<g style="fill:#D8DFEE;stroke-width:0">
|
||||||
|
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
|
||||||
|
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.5 KiB |
12
doc/html/docd.svg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
|
||||||
|
<g style="fill:#C4CFE5">
|
||||||
|
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
|
||||||
|
</g>
|
||||||
|
<g style="fill:#4665A2;stroke-width:0">
|
||||||
|
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
|
||||||
|
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -1,3 +1,7 @@
|
|||||||
code {
|
code {
|
||||||
color: #4665A2;
|
color: #4665A2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
th.markdownTableHeadNone {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|||||||
1141
doc/html/doxygen.css
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -47,6 +47,8 @@ function updateStripes()
|
|||||||
{
|
{
|
||||||
$('table.directory tr').
|
$('table.directory tr').
|
||||||
removeClass('even').filter(':visible:even').addClass('even');
|
removeClass('even').filter(':visible:even').addClass('even');
|
||||||
|
$('table.directory tr').
|
||||||
|
removeClass('odd').filter(':visible:odd').addClass('odd');
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleLevel(level)
|
function toggleLevel(level)
|
||||||
@@ -118,4 +120,73 @@ function toggleInherit(id)
|
|||||||
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var opened=true;
|
||||||
|
// in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes
|
||||||
|
var plusImg = [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ];
|
||||||
|
var minusImg = [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ];
|
||||||
|
|
||||||
|
// toggle all folding blocks
|
||||||
|
function codefold_toggle_all(relPath) {
|
||||||
|
if (opened) {
|
||||||
|
$('#fold_all').css('background-image',plusImg[relPath]);
|
||||||
|
$('div[id^=foldopen]').hide();
|
||||||
|
$('div[id^=foldclosed]').show();
|
||||||
|
} else {
|
||||||
|
$('#fold_all').css('background-image',minusImg[relPath]);
|
||||||
|
$('div[id^=foldopen]').show();
|
||||||
|
$('div[id^=foldclosed]').hide();
|
||||||
|
}
|
||||||
|
opened=!opened;
|
||||||
|
}
|
||||||
|
|
||||||
|
// toggle single folding block
|
||||||
|
function codefold_toggle(id) {
|
||||||
|
$('#foldopen'+id).toggle();
|
||||||
|
$('#foldclosed'+id).toggle();
|
||||||
|
}
|
||||||
|
function init_codefold(relPath) {
|
||||||
|
$('span[class=lineno]').css(
|
||||||
|
{'padding-right':'4px',
|
||||||
|
'margin-right':'2px',
|
||||||
|
'display':'inline-block',
|
||||||
|
'width':'54px',
|
||||||
|
'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%'
|
||||||
|
});
|
||||||
|
// add global toggle to first line
|
||||||
|
$('span[class=lineno]:first').append('<span class="fold" id="fold_all" '+
|
||||||
|
'onclick="javascript:codefold_toggle_all('+relPath+');" '+
|
||||||
|
'style="background-image:'+minusImg[relPath]+';"></span>');
|
||||||
|
// add vertical lines to other rows
|
||||||
|
$('span[class=lineno]').not(':eq(0)').append('<span class="fold"></span>');
|
||||||
|
// add toggle controls to lines with fold divs
|
||||||
|
$('div[class=foldopen]').each(function() {
|
||||||
|
// extract specific id to use
|
||||||
|
var id = $(this).attr('id').replace('foldopen','');
|
||||||
|
// extract start and end foldable fragment attributes
|
||||||
|
var start = $(this).attr('data-start');
|
||||||
|
var end = $(this).attr('data-end');
|
||||||
|
// replace normal fold span with controls for the first line of a foldable fragment
|
||||||
|
$(this).find('span[class=fold]:first').replaceWith('<span class="fold" '+
|
||||||
|
'onclick="javascript:codefold_toggle(\''+id+'\');" '+
|
||||||
|
'style="background-image:'+minusImg[relPath]+';"></span>');
|
||||||
|
// append div for folded (closed) representation
|
||||||
|
$(this).after('<div id="foldclosed'+id+'" class="foldclosed" style="display:none;"></div>');
|
||||||
|
// extract the first line from the "open" section to represent closed content
|
||||||
|
var line = $(this).children().first().clone();
|
||||||
|
// remove any glow that might still be active on the original line
|
||||||
|
$(line).removeClass('glow');
|
||||||
|
if (start) {
|
||||||
|
// if line already ends with a start marker (e.g. trailing {), remove it
|
||||||
|
$(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
|
||||||
|
}
|
||||||
|
// replace minus with plus symbol
|
||||||
|
$(line).find('span[class=fold]').css('background-image',plusImg[relPath]);
|
||||||
|
// append ellipsis
|
||||||
|
$(line).append(' '+start+'<a href="javascript:codefold_toggle(\''+id+'\')">…</a>'+end);
|
||||||
|
// insert constructed line into closed div
|
||||||
|
$('#foldclosed'+id).html(line);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/* @license-end */
|
/* @license-end */
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 616 B |
11
doc/html/folderclosed.svg
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
|
||||||
|
<g style="fill:#4665A2;">
|
||||||
|
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
|
||||||
|
</g>
|
||||||
|
<g style="fill:#D8DFEE;stroke-width:0;">
|
||||||
|
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
11
doc/html/folderclosedd.svg
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
|
||||||
|
<g style="fill:#C4CFE5;">
|
||||||
|
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
|
||||||
|
</g>
|
||||||
|
<g style="fill:#4665A2;stroke-width:0;">
|
||||||
|
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 597 B |
17
doc/html/folderopen.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
|
||||||
|
<g style="fill:#4665A2;">
|
||||||
|
<path
|
||||||
|
d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"
|
||||||
|
id="path2" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#D8DFEE;stroke-width:0;">
|
||||||
|
<path
|
||||||
|
d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z"
|
||||||
|
id="path199" /><path
|
||||||
|
d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z"
|
||||||
|
id="path201" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.2 KiB |
12
doc/html/folderopend.svg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
|
||||||
|
<g style="fill:#C4CFE5;">
|
||||||
|
<path d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"/>
|
||||||
|
</g>
|
||||||
|
<g style="fill:#4665A2;stroke-width:0;">
|
||||||
|
<path d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z" />
|
||||||
|
<path d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.1 KiB |
@@ -1,9 +1,9 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
<title>TurboJPEG: Data Fields</title>
|
<title>TurboJPEG: Data Fields</title>
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
@@ -20,10 +20,9 @@
|
|||||||
<div id="titlearea">
|
<div id="titlearea">
|
||||||
<table cellspacing="0" cellpadding="0">
|
<table cellspacing="0" cellpadding="0">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr style="height: 56px;">
|
<tr id="projectrow">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign">
|
||||||
<div id="projectname">TurboJPEG
|
<div id="projectname">TurboJPEG<span id="projectnumber"> 3.0.1</span>
|
||||||
 <span id="projectnumber">3</span>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -31,21 +30,22 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- end header part -->
|
<!-- end header part -->
|
||||||
<!-- Generated by Doxygen 1.8.20 -->
|
<!-- Generated by Doxygen 1.9.8 -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
/* @license-end */
|
/* @license-end */
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
$(function() {
|
$(function() {
|
||||||
initMenu('',true,false,'search.php','Search');
|
initMenu('',true,false,'search.php','Search');
|
||||||
$(document).ready(function() { init_search(); });
|
$(document).ready(function() { init_search(); });
|
||||||
});
|
});
|
||||||
/* @license-end */</script>
|
/* @license-end */
|
||||||
|
</script>
|
||||||
<div id="main-nav"></div>
|
<div id="main-nav"></div>
|
||||||
</div><!-- top -->
|
</div><!-- top -->
|
||||||
<!-- window showing the filter options -->
|
<!-- window showing the filter options -->
|
||||||
@@ -57,51 +57,36 @@ $(function() {
|
|||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
<div id="MSearchResultsWindow">
|
<div id="MSearchResultsWindow">
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
<div id="MSearchResults">
|
||||||
name="MSearchResults" id="MSearchResults">
|
<div class="SRPage">
|
||||||
</iframe>
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="contents">
|
<div class="contents">
|
||||||
<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div><ul>
|
<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div><ul>
|
||||||
<li>customFilter
|
<li>customFilter : <a class="el" href="structtjtransform.html#a0dc7697d59a7abe48afc629e96cbc1d2">tjtransform</a></li>
|
||||||
: <a class="el" href="structtjtransform.html#a0dc7697d59a7abe48afc629e96cbc1d2">tjtransform</a>
|
<li>data : <a class="el" href="structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3">tjtransform</a></li>
|
||||||
</li>
|
<li>denom : <a class="el" href="structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3">tjscalingfactor</a></li>
|
||||||
<li>data
|
<li>h : <a class="el" href="structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115">tjregion</a></li>
|
||||||
: <a class="el" href="structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3">tjtransform</a>
|
<li>num : <a class="el" href="structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec">tjscalingfactor</a></li>
|
||||||
</li>
|
<li>op : <a class="el" href="structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498">tjtransform</a></li>
|
||||||
<li>denom
|
<li>options : <a class="el" href="structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6">tjtransform</a></li>
|
||||||
: <a class="el" href="structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3">tjscalingfactor</a>
|
<li>r : <a class="el" href="structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf">tjtransform</a></li>
|
||||||
</li>
|
<li>w : <a class="el" href="structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42">tjregion</a></li>
|
||||||
<li>h
|
<li>x : <a class="el" href="structtjregion.html#a4b6a37a93997091b26a75831fa291ad9">tjregion</a></li>
|
||||||
: <a class="el" href="structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115">tjregion</a>
|
<li>y : <a class="el" href="structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2">tjregion</a></li>
|
||||||
</li>
|
|
||||||
<li>num
|
|
||||||
: <a class="el" href="structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec">tjscalingfactor</a>
|
|
||||||
</li>
|
|
||||||
<li>op
|
|
||||||
: <a class="el" href="structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498">tjtransform</a>
|
|
||||||
</li>
|
|
||||||
<li>options
|
|
||||||
: <a class="el" href="structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6">tjtransform</a>
|
|
||||||
</li>
|
|
||||||
<li>r
|
|
||||||
: <a class="el" href="structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf">tjtransform</a>
|
|
||||||
</li>
|
|
||||||
<li>w
|
|
||||||
: <a class="el" href="structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42">tjregion</a>
|
|
||||||
</li>
|
|
||||||
<li>x
|
|
||||||
: <a class="el" href="structtjregion.html#a4b6a37a93997091b26a75831fa291ad9">tjregion</a>
|
|
||||||
</li>
|
|
||||||
<li>y
|
|
||||||
: <a class="el" href="structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2">tjregion</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div><!-- contents -->
|
</div><!-- contents -->
|
||||||
<!-- start footer part -->
|
<!-- start footer part -->
|
||||||
<hr class="footer"/><address class="footer"><small>
|
<hr class="footer"/><address class="footer"><small>
|
||||||
Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||||
</small></address>
|
</small></address>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
<title>TurboJPEG: Data Fields - Variables</title>
|
<title>TurboJPEG: Data Fields - Variables</title>
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
@@ -20,10 +20,9 @@
|
|||||||
<div id="titlearea">
|
<div id="titlearea">
|
||||||
<table cellspacing="0" cellpadding="0">
|
<table cellspacing="0" cellpadding="0">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr style="height: 56px;">
|
<tr id="projectrow">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign">
|
||||||
<div id="projectname">TurboJPEG
|
<div id="projectname">TurboJPEG<span id="projectnumber"> 3.0.1</span>
|
||||||
 <span id="projectnumber">3</span>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -31,21 +30,22 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- end header part -->
|
<!-- end header part -->
|
||||||
<!-- Generated by Doxygen 1.8.20 -->
|
<!-- Generated by Doxygen 1.9.8 -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
/* @license-end */
|
/* @license-end */
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
$(function() {
|
$(function() {
|
||||||
initMenu('',true,false,'search.php','Search');
|
initMenu('',true,false,'search.php','Search');
|
||||||
$(document).ready(function() { init_search(); });
|
$(document).ready(function() { init_search(); });
|
||||||
});
|
});
|
||||||
/* @license-end */</script>
|
/* @license-end */
|
||||||
|
</script>
|
||||||
<div id="main-nav"></div>
|
<div id="main-nav"></div>
|
||||||
</div><!-- top -->
|
</div><!-- top -->
|
||||||
<!-- window showing the filter options -->
|
<!-- window showing the filter options -->
|
||||||
@@ -57,51 +57,36 @@ $(function() {
|
|||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
<div id="MSearchResultsWindow">
|
<div id="MSearchResultsWindow">
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
<div id="MSearchResults">
|
||||||
name="MSearchResults" id="MSearchResults">
|
<div class="SRPage">
|
||||||
</iframe>
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="contents">
|
<div class="contents">
|
||||||
 <ul>
|
<div class="textblock">Here is a list of all documented variables with links to the struct/union documentation for each field:</div><ul>
|
||||||
<li>customFilter
|
<li>customFilter : <a class="el" href="structtjtransform.html#a0dc7697d59a7abe48afc629e96cbc1d2">tjtransform</a></li>
|
||||||
: <a class="el" href="structtjtransform.html#a0dc7697d59a7abe48afc629e96cbc1d2">tjtransform</a>
|
<li>data : <a class="el" href="structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3">tjtransform</a></li>
|
||||||
</li>
|
<li>denom : <a class="el" href="structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3">tjscalingfactor</a></li>
|
||||||
<li>data
|
<li>h : <a class="el" href="structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115">tjregion</a></li>
|
||||||
: <a class="el" href="structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3">tjtransform</a>
|
<li>num : <a class="el" href="structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec">tjscalingfactor</a></li>
|
||||||
</li>
|
<li>op : <a class="el" href="structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498">tjtransform</a></li>
|
||||||
<li>denom
|
<li>options : <a class="el" href="structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6">tjtransform</a></li>
|
||||||
: <a class="el" href="structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3">tjscalingfactor</a>
|
<li>r : <a class="el" href="structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf">tjtransform</a></li>
|
||||||
</li>
|
<li>w : <a class="el" href="structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42">tjregion</a></li>
|
||||||
<li>h
|
<li>x : <a class="el" href="structtjregion.html#a4b6a37a93997091b26a75831fa291ad9">tjregion</a></li>
|
||||||
: <a class="el" href="structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115">tjregion</a>
|
<li>y : <a class="el" href="structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2">tjregion</a></li>
|
||||||
</li>
|
|
||||||
<li>num
|
|
||||||
: <a class="el" href="structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec">tjscalingfactor</a>
|
|
||||||
</li>
|
|
||||||
<li>op
|
|
||||||
: <a class="el" href="structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498">tjtransform</a>
|
|
||||||
</li>
|
|
||||||
<li>options
|
|
||||||
: <a class="el" href="structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6">tjtransform</a>
|
|
||||||
</li>
|
|
||||||
<li>r
|
|
||||||
: <a class="el" href="structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf">tjtransform</a>
|
|
||||||
</li>
|
|
||||||
<li>w
|
|
||||||
: <a class="el" href="structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42">tjregion</a>
|
|
||||||
</li>
|
|
||||||
<li>x
|
|
||||||
: <a class="el" href="structtjregion.html#a4b6a37a93997091b26a75831fa291ad9">tjregion</a>
|
|
||||||
</li>
|
|
||||||
<li>y
|
|
||||||
: <a class="el" href="structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2">tjregion</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div><!-- contents -->
|
</div><!-- contents -->
|
||||||
<!-- start footer part -->
|
<!-- start footer part -->
|
||||||
<hr class="footer"/><address class="footer"><small>
|
<hr class="footer"/><address class="footer"><small>
|
||||||
Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||||
</small></address>
|
</small></address>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
<title>TurboJPEG: Main Page</title>
|
<title>TurboJPEG: Main Page</title>
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
@@ -20,10 +20,9 @@
|
|||||||
<div id="titlearea">
|
<div id="titlearea">
|
||||||
<table cellspacing="0" cellpadding="0">
|
<table cellspacing="0" cellpadding="0">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr style="height: 56px;">
|
<tr id="projectrow">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign">
|
||||||
<div id="projectname">TurboJPEG
|
<div id="projectname">TurboJPEG<span id="projectnumber"> 3.0.1</span>
|
||||||
 <span id="projectnumber">3</span>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -31,21 +30,22 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- end header part -->
|
<!-- end header part -->
|
||||||
<!-- Generated by Doxygen 1.8.20 -->
|
<!-- Generated by Doxygen 1.9.8 -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
/* @license-end */
|
/* @license-end */
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
$(function() {
|
$(function() {
|
||||||
initMenu('',true,false,'search.php','Search');
|
initMenu('',true,false,'search.php','Search');
|
||||||
$(document).ready(function() { init_search(); });
|
$(document).ready(function() { init_search(); });
|
||||||
});
|
});
|
||||||
/* @license-end */</script>
|
/* @license-end */
|
||||||
|
</script>
|
||||||
<div id="main-nav"></div>
|
<div id="main-nav"></div>
|
||||||
</div><!-- top -->
|
</div><!-- top -->
|
||||||
<!-- window showing the filter options -->
|
<!-- window showing the filter options -->
|
||||||
@@ -57,20 +57,26 @@ $(function() {
|
|||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
<div id="MSearchResultsWindow">
|
<div id="MSearchResultsWindow">
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
<div id="MSearchResults">
|
||||||
name="MSearchResults" id="MSearchResults">
|
<div class="SRPage">
|
||||||
</iframe>
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headertitle">
|
<div class="headertitle"><div class="title">TurboJPEG Documentation</div></div>
|
||||||
<div class="title">TurboJPEG Documentation</div> </div>
|
|
||||||
</div><!--header-->
|
</div><!--header-->
|
||||||
<div class="contents">
|
<div class="contents">
|
||||||
</div><!-- contents -->
|
</div><!-- contents -->
|
||||||
<!-- start footer part -->
|
<!-- start footer part -->
|
||||||
<hr class="footer"/><address class="footer"><small>
|
<hr class="footer"/><address class="footer"><small>
|
||||||
Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||||
</small></address>
|
</small></address>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
11
doc/html/jquery.js
vendored
@@ -28,7 +28,15 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
|
|||||||
if ('children' in data) {
|
if ('children' in data) {
|
||||||
result+='<ul>';
|
result+='<ul>';
|
||||||
for (var i in data.children) {
|
for (var i in data.children) {
|
||||||
result+='<li><a href="'+relPath+data.children[i].url+'">'+
|
var url;
|
||||||
|
var link;
|
||||||
|
link = data.children[i].url;
|
||||||
|
if (link.substring(0,1)=='^') {
|
||||||
|
url = link.substring(1);
|
||||||
|
} else {
|
||||||
|
url = relPath+link;
|
||||||
|
}
|
||||||
|
result+='<li><a href="'+url+'">'+
|
||||||
data.children[i].text+'</a>'+
|
data.children[i].text+'</a>'+
|
||||||
makeTree(data.children[i],relPath)+'</li>';
|
makeTree(data.children[i],relPath)+'</li>';
|
||||||
}
|
}
|
||||||
@@ -36,16 +44,93 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
var searchBoxHtml;
|
||||||
$('#main-nav').append(makeTree(menudata,relPath));
|
|
||||||
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
|
|
||||||
if (searchEnabled) {
|
if (searchEnabled) {
|
||||||
if (serverSide) {
|
if (serverSide) {
|
||||||
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
|
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
|
||||||
|
'<div class="left">'+
|
||||||
|
'<form id="FSearchBox" action="'+relPath+searchPage+
|
||||||
|
'" method="get"><span id="MSearchSelectExt"> </span>'+
|
||||||
|
'<input type="text" id="MSearchField" name="query" value="" placeholder="'+search+
|
||||||
|
'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)"'+
|
||||||
|
' onblur="searchBox.OnSearchFieldFocus(false)"/>'+
|
||||||
|
'</form>'+
|
||||||
|
'</div>'+
|
||||||
|
'<div class="right"></div>'+
|
||||||
|
'</div>';
|
||||||
} else {
|
} else {
|
||||||
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
|
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
|
||||||
|
'<span class="left">'+
|
||||||
|
'<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()"'+
|
||||||
|
' onmouseout="return searchBox.OnSearchSelectHide()"> </span>'+
|
||||||
|
'<input type="text" id="MSearchField" value="" placeholder="'+search+
|
||||||
|
'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" '+
|
||||||
|
'onblur="searchBox.OnSearchFieldFocus(false)" '+
|
||||||
|
'onkeyup="searchBox.OnSearchFieldChange(event)"/>'+
|
||||||
|
'</span>'+
|
||||||
|
'<span class="right"><a id="MSearchClose" '+
|
||||||
|
'href="javascript:searchBox.CloseResultsWindow()">'+
|
||||||
|
'<img id="MSearchCloseImg" border="0" src="'+relPath+
|
||||||
|
'search/close.svg" alt=""/></a>'+
|
||||||
|
'</span>'+
|
||||||
|
'</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$('#main-nav').before('<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>'+
|
||||||
|
'<label class="main-menu-btn" for="main-menu-state">'+
|
||||||
|
'<span class="main-menu-btn-icon"></span> '+
|
||||||
|
'Toggle main menu visibility</label>'+
|
||||||
|
'<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>'+
|
||||||
|
'</div>');
|
||||||
|
$('#main-nav').append(makeTree(menudata,relPath));
|
||||||
|
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
|
||||||
|
if (searchBoxHtml) {
|
||||||
|
$('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
|
||||||
|
}
|
||||||
|
var $mainMenuState = $('#main-menu-state');
|
||||||
|
var prevWidth = 0;
|
||||||
|
if ($mainMenuState.length) {
|
||||||
|
function initResizableIfExists() {
|
||||||
|
if (typeof initResizable==='function') initResizable();
|
||||||
|
}
|
||||||
|
// animate mobile menu
|
||||||
|
$mainMenuState.change(function(e) {
|
||||||
|
var $menu = $('#main-menu');
|
||||||
|
var options = { duration: 250, step: initResizableIfExists };
|
||||||
|
if (this.checked) {
|
||||||
|
options['complete'] = function() { $menu.css('display', 'block') };
|
||||||
|
$menu.hide().slideDown(options);
|
||||||
|
} else {
|
||||||
|
options['complete'] = function() { $menu.css('display', 'none') };
|
||||||
|
$menu.show().slideUp(options);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// set default menu visibility
|
||||||
|
function resetState() {
|
||||||
|
var $menu = $('#main-menu');
|
||||||
|
var $mainMenuState = $('#main-menu-state');
|
||||||
|
var newWidth = $(window).outerWidth();
|
||||||
|
if (newWidth!=prevWidth) {
|
||||||
|
if ($(window).outerWidth()<768) {
|
||||||
|
$mainMenuState.prop('checked',false); $menu.hide();
|
||||||
|
$('#searchBoxPos1').html(searchBoxHtml);
|
||||||
|
$('#searchBoxPos2').hide();
|
||||||
|
} else {
|
||||||
|
$menu.show();
|
||||||
|
$('#searchBoxPos1').empty();
|
||||||
|
$('#searchBoxPos2').html(searchBoxHtml);
|
||||||
|
$('#searchBoxPos2').show();
|
||||||
|
}
|
||||||
|
if (typeof searchBox!=='undefined') {
|
||||||
|
searchBox.CloseResultsWindow();
|
||||||
|
}
|
||||||
|
prevWidth = newWidth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$(window).ready(function() { resetState(); initResizableIfExists(); });
|
||||||
|
$(window).resize(resetState);
|
||||||
|
}
|
||||||
$('#main-menu').smartmenus();
|
$('#main-menu').smartmenus();
|
||||||
}
|
}
|
||||||
/* @license-end */
|
/* @license-end */
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
var menudata={children:[
|
var menudata={children:[
|
||||||
{text:"Main Page",url:"index.html"},
|
{text:"Main Page",url:"index.html"},
|
||||||
{text:"Modules",url:"modules.html"},
|
{text:"Topics",url:"topics.html"},
|
||||||
{text:"Data Structures",url:"annotated.html",children:[
|
{text:"Data Structures",url:"annotated.html",children:[
|
||||||
{text:"Data Structures",url:"annotated.html"},
|
{text:"Data Structures",url:"annotated.html"},
|
||||||
{text:"Data Structure Index",url:"classes.html"},
|
{text:"Data Structure Index",url:"classes.html"},
|
||||||
|
|||||||
8
doc/html/minus.svg
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<g>
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
|
||||||
|
<rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 582 B |
8
doc/html/minusd.svg
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<g>
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
|
||||||
|
<rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 582 B |
BIN
doc/html/nav_fd.png
Normal file
|
After Width: | Height: | Size: 169 B |
BIN
doc/html/nav_hd.png
Normal file
|
After Width: | Height: | Size: 114 B |
9
doc/html/plus.svg
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<g>
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
|
||||||
|
<rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 696 B |
9
doc/html/plusd.svg
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<g>
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
|
||||||
|
<rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
|
||||||
|
<rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 696 B |
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_1.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['data_1',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]],
|
['data_0',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]],
|
||||||
['denom_2',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]]
|
['denom_1',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_2.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['h_3',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]]
|
['format_20notes_0',['YUV Image Format Notes',['../group___turbo_j_p_e_g.html#autotoc_md0',1,'']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_3.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['num_4',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]]
|
['h_0',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_4.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['op_5',['op',['../structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498',1,'tjtransform']]],
|
['image_20format_20notes_0',['YUV Image Format Notes',['../group___turbo_j_p_e_g.html#autotoc_md0',1,'']]]
|
||||||
['options_6',['options',['../structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6',1,'tjtransform']]]
|
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_5.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['r_7',['r',['../structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf',1,'tjtransform']]]
|
['notes_0',['YUV Image Format Notes',['../group___turbo_j_p_e_g.html#autotoc_md0',1,'']]],
|
||||||
|
['num_1',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_6.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,141 +1,5 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tj3alloc_8',['tj3Alloc',['../group___turbo_j_p_e_g.html#gab40a0b231122f536e503e3394569a68d',1,'turbojpeg.h']]],
|
['op_0',['op',['../structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498',1,'tjtransform']]],
|
||||||
['tj3compress12_9',['tj3Compress12',['../group___turbo_j_p_e_g.html#ga9a1968c384ec7abb6122830253ebf570',1,'turbojpeg.h']]],
|
['options_1',['options',['../structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6',1,'tjtransform']]]
|
||||||
['tj3compress16_10',['tj3Compress16',['../group___turbo_j_p_e_g.html#ga77901b71d0471784f318ada31ff4e7bd',1,'turbojpeg.h']]],
|
|
||||||
['tj3compress8_11',['tj3Compress8',['../group___turbo_j_p_e_g.html#ga2cc418a2dab709ad7f30f5b25905f138',1,'turbojpeg.h']]],
|
|
||||||
['tj3compressfromyuv8_12',['tj3CompressFromYUV8',['../group___turbo_j_p_e_g.html#ga041c870d9c669eb3f385c78f4346c43f',1,'turbojpeg.h']]],
|
|
||||||
['tj3compressfromyuvplanes8_13',['tj3CompressFromYUVPlanes8',['../group___turbo_j_p_e_g.html#gac9f5ace3e73805b476c95dda9f8d0cd0',1,'turbojpeg.h']]],
|
|
||||||
['tj3decodeyuv8_14',['tj3DecodeYUV8',['../group___turbo_j_p_e_g.html#gaa1eb574f38b1c1de43a6c7aafcf68d8c',1,'turbojpeg.h']]],
|
|
||||||
['tj3decodeyuvplanes8_15',['tj3DecodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gad366f1915f82c1ad4e7e37ebe073ca89',1,'turbojpeg.h']]],
|
|
||||||
['tj3decompress12_16',['tj3Decompress12',['../group___turbo_j_p_e_g.html#ga39b848f01781ad74a5b3941c012b6199',1,'turbojpeg.h']]],
|
|
||||||
['tj3decompress16_17',['tj3Decompress16',['../group___turbo_j_p_e_g.html#gaa074e63f9beb0b3ff42b833a4049df6e',1,'turbojpeg.h']]],
|
|
||||||
['tj3decompress8_18',['tj3Decompress8',['../group___turbo_j_p_e_g.html#ga1169c7c1a26ec18c9e6122cb8ae64013',1,'turbojpeg.h']]],
|
|
||||||
['tj3decompressheader_19',['tj3DecompressHeader',['../group___turbo_j_p_e_g.html#ga96d2c4b3432f9d88ad14758ae240b8d1',1,'turbojpeg.h']]],
|
|
||||||
['tj3decompresstoyuv8_20',['tj3DecompressToYUV8',['../group___turbo_j_p_e_g.html#ga1e6bf6a19fec3f9fa7534348879d8320',1,'turbojpeg.h']]],
|
|
||||||
['tj3decompresstoyuvplanes8_21',['tj3DecompressToYUVPlanes8',['../group___turbo_j_p_e_g.html#ga934373482dbbf257f2280505b6ff4fb5',1,'turbojpeg.h']]],
|
|
||||||
['tj3destroy_22',['tj3Destroy',['../group___turbo_j_p_e_g.html#ga53fbadf4560e95a65b8f5ab81703fe82',1,'turbojpeg.h']]],
|
|
||||||
['tj3encodeyuv8_23',['tj3EncodeYUV8',['../group___turbo_j_p_e_g.html#ga2a8d50f130bde10f0a04030f8cc59936',1,'turbojpeg.h']]],
|
|
||||||
['tj3encodeyuvplanes8_24',['tj3EncodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gae2e9df38790e9bddc249d04cb158a4cf',1,'turbojpeg.h']]],
|
|
||||||
['tj3free_25',['tj3Free',['../group___turbo_j_p_e_g.html#gaddb84fb6c81769e9faa0f5a63b296606',1,'turbojpeg.h']]],
|
|
||||||
['tj3get_26',['tj3Get',['../group___turbo_j_p_e_g.html#ga34af9ba3183bdf0ec7c8f47bb9a4c84f',1,'turbojpeg.h']]],
|
|
||||||
['tj3geterrorcode_27',['tj3GetErrorCode',['../group___turbo_j_p_e_g.html#gab8c8279f1415fe425ff30dbbc56013bd',1,'turbojpeg.h']]],
|
|
||||||
['tj3geterrorstr_28',['tj3GetErrorStr',['../group___turbo_j_p_e_g.html#gaf2aab0e6dbb3edc57646b0fec25e8bb2',1,'turbojpeg.h']]],
|
|
||||||
['tj3getscalingfactors_29',['tj3GetScalingFactors',['../group___turbo_j_p_e_g.html#ga74397f8e0587d4233182c72f085aaf04',1,'turbojpeg.h']]],
|
|
||||||
['tj3init_30',['tj3Init',['../group___turbo_j_p_e_g.html#ga69c09d39f97ec30250ad3605ace7e5df',1,'turbojpeg.h']]],
|
|
||||||
['tj3jpegbufsize_31',['tj3JPEGBufSize',['../group___turbo_j_p_e_g.html#gac6285e58e35a35d871d7162ec5a929c4',1,'turbojpeg.h']]],
|
|
||||||
['tj3loadimage12_32',['tj3LoadImage12',['../group___turbo_j_p_e_g.html#ga1f03c26892a26d4ce077ed6a4ac40e8f',1,'turbojpeg.h']]],
|
|
||||||
['tj3loadimage16_33',['tj3LoadImage16',['../group___turbo_j_p_e_g.html#ga638aeba63e0ccb89d472fdbf34224cfc',1,'turbojpeg.h']]],
|
|
||||||
['tj3loadimage8_34',['tj3LoadImage8',['../group___turbo_j_p_e_g.html#ga565aaae7be3f8ca9099b56655c893251',1,'turbojpeg.h']]],
|
|
||||||
['tj3saveimage12_35',['tj3SaveImage12',['../group___turbo_j_p_e_g.html#ga7c64b5106d04267a46aad85f9714ad90',1,'turbojpeg.h']]],
|
|
||||||
['tj3saveimage16_36',['tj3SaveImage16',['../group___turbo_j_p_e_g.html#ga0fd87851f4266aca24bf4594dd0c0e71',1,'turbojpeg.h']]],
|
|
||||||
['tj3saveimage8_37',['tj3SaveImage8',['../group___turbo_j_p_e_g.html#gaa4ec838988e469cc15618e4690cc8722',1,'turbojpeg.h']]],
|
|
||||||
['tj3set_38',['tj3Set',['../group___turbo_j_p_e_g.html#gaddf92640bfee3e8622218c713e77e7db',1,'turbojpeg.h']]],
|
|
||||||
['tj3setcroppingregion_39',['tj3SetCroppingRegion',['../group___turbo_j_p_e_g.html#gaa49c7bd4c9431667a043cfc93388ba1c',1,'turbojpeg.h']]],
|
|
||||||
['tj3setscalingfactor_40',['tj3SetScalingFactor',['../group___turbo_j_p_e_g.html#ga89da17ee1e43ff423382cbc145803c75',1,'turbojpeg.h']]],
|
|
||||||
['tj3transform_41',['tj3Transform',['../group___turbo_j_p_e_g.html#gaff23ba1dcabed456794b844791613920',1,'turbojpeg.h']]],
|
|
||||||
['tj3yuvbufsize_42',['tj3YUVBufSize',['../group___turbo_j_p_e_g.html#gaaebaa16973a0f550a66eca5765ed0546',1,'turbojpeg.h']]],
|
|
||||||
['tj3yuvplaneheight_43',['tj3YUVPlaneHeight',['../group___turbo_j_p_e_g.html#ga969767ec8180cc3edd99cf507f87299b',1,'turbojpeg.h']]],
|
|
||||||
['tj3yuvplanesize_44',['tj3YUVPlaneSize',['../group___turbo_j_p_e_g.html#gacc19d265edce76b46146f59579f9438d',1,'turbojpeg.h']]],
|
|
||||||
['tj3yuvplanewidth_45',['tj3YUVPlaneWidth',['../group___turbo_j_p_e_g.html#gac99d1933ede1d59fcada9a826e88eb2d',1,'turbojpeg.h']]],
|
|
||||||
['tj_5fnumcs_46',['TJ_NUMCS',['../group___turbo_j_p_e_g.html#ga39f57a6fb02d9cf32e7b6890099b5a71',1,'turbojpeg.h']]],
|
|
||||||
['tj_5fnumerr_47',['TJ_NUMERR',['../group___turbo_j_p_e_g.html#ga79bde1b4a3e2351e00887e47781b966e',1,'turbojpeg.h']]],
|
|
||||||
['tj_5fnuminit_48',['TJ_NUMINIT',['../group___turbo_j_p_e_g.html#ga5e0e8c784295c636f0bf8dab93c4bddf',1,'turbojpeg.h']]],
|
|
||||||
['tj_5fnumparam_49',['TJ_NUMPARAM',['../group___turbo_j_p_e_g.html#gaa628be5db276fc3676dfba205d45d780',1,'turbojpeg.h']]],
|
|
||||||
['tj_5fnumpf_50',['TJ_NUMPF',['../group___turbo_j_p_e_g.html#ga7010a4402f54a45ba822ad8675a4655e',1,'turbojpeg.h']]],
|
|
||||||
['tj_5fnumsamp_51',['TJ_NUMSAMP',['../group___turbo_j_p_e_g.html#ga5ef3d169162ce77ce348e292a0b7477c',1,'turbojpeg.h']]],
|
|
||||||
['tj_5fnumxop_52',['TJ_NUMXOP',['../group___turbo_j_p_e_g.html#ga0f6dbd18adf38b7d46ac547f0f4d562c',1,'turbojpeg.h']]],
|
|
||||||
['tjalphaoffset_53',['tjAlphaOffset',['../group___turbo_j_p_e_g.html#ga5af0ab065feefd526debf1e20c43e837',1,'turbojpeg.h']]],
|
|
||||||
['tjblueoffset_54',['tjBlueOffset',['../group___turbo_j_p_e_g.html#ga84e2e35d3f08025f976ec1ec53693dea',1,'turbojpeg.h']]],
|
|
||||||
['tjcs_55',['TJCS',['../group___turbo_j_p_e_g.html#ga4f83ad3368e0e29d1957be0efa7c3720',1,'turbojpeg.h']]],
|
|
||||||
['tjcs_5fcmyk_56',['TJCS_CMYK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a6c8b636152ac8195b869587db315ee53',1,'turbojpeg.h']]],
|
|
||||||
['tjcs_5fgray_57',['TJCS_GRAY',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720ab3e7d6a87f695e45b81c1b5262b5a50a',1,'turbojpeg.h']]],
|
|
||||||
['tjcs_5frgb_58',['TJCS_RGB',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a677cb7ccb85c4038ac41964a2e09e555',1,'turbojpeg.h']]],
|
|
||||||
['tjcs_5fycbcr_59',['TJCS_YCbCr',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a7389b8f65bb387ffedce3efd0d78ec75',1,'turbojpeg.h']]],
|
|
||||||
['tjcs_5fycck_60',['TJCS_YCCK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a53839e0fe867b76b58d16b0a1a7c598e',1,'turbojpeg.h']]],
|
|
||||||
['tjerr_61',['TJERR',['../group___turbo_j_p_e_g.html#gafbc17cfa57d0d5d11fea35ac025950fe',1,'turbojpeg.h']]],
|
|
||||||
['tjerr_5ffatal_62',['TJERR_FATAL',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950feafc9cceeada13122b09e4851e3788039a',1,'turbojpeg.h']]],
|
|
||||||
['tjerr_5fwarning_63',['TJERR_WARNING',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950fea342dd6e2aedb47bb257b4e7568329b59',1,'turbojpeg.h']]],
|
|
||||||
['tjgreenoffset_64',['tjGreenOffset',['../group___turbo_j_p_e_g.html#ga82d6e35da441112a411da41923c0ba2f',1,'turbojpeg.h']]],
|
|
||||||
['tjhandle_65',['tjhandle',['../group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763',1,'turbojpeg.h']]],
|
|
||||||
['tjinit_66',['TJINIT',['../group___turbo_j_p_e_g.html#ga3850bbee1313e752e667b4eb08b1e086',1,'turbojpeg.h']]],
|
|
||||||
['tjinit_5fcompress_67',['TJINIT_COMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086aa45ac279e3dc6ffabc4b0f45864da796',1,'turbojpeg.h']]],
|
|
||||||
['tjinit_5fdecompress_68',['TJINIT_DECOMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a4b8ca1ef700699b71350700bf95c2167',1,'turbojpeg.h']]],
|
|
||||||
['tjinit_5ftransform_69',['TJINIT_TRANSFORM',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a8d58a2a4c45b3e0cd349746544a6e0c2',1,'turbojpeg.h']]],
|
|
||||||
['tjmcuheight_70',['tjMCUHeight',['../group___turbo_j_p_e_g.html#gabd247bb9fecb393eca57366feb8327bf',1,'turbojpeg.h']]],
|
|
||||||
['tjmcuwidth_71',['tjMCUWidth',['../group___turbo_j_p_e_g.html#ga9e61e7cd47a15a173283ba94e781308c',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_72',['TJPARAM',['../group___turbo_j_p_e_g.html#gaa0f6be63ba78278299c9f5c12031fe82',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5farithmetic_73',['TJPARAM_ARITHMETIC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1c756757384308145602c040524aebf7',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fbottomup_74',['TJPARAM_BOTTOMUP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a924657172695ed6cb0b128219546fcce',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fcolorspace_75',['TJPARAM_COLORSPACE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a46a10d46309514907d0c39fcd86c324c',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fdensityunits_76',['TJPARAM_DENSITYUNITS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4c045981bd8a303521a401dbbe1df208',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5ffastdct_77',['TJPARAM_FASTDCT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a6914692ac6ec5567787d592b7563f627',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5ffastupsample_78',['TJPARAM_FASTUPSAMPLE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0e051ac106f7b7402b690a5daf4869c0',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fjpegheight_79',['TJPARAM_JPEGHEIGHT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f76673be73f2b659440a9572a65a95f',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fjpegwidth_80',['TJPARAM_JPEGWIDTH',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a02ab77fb294a0c9061a78cd424c82dd8',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5flossless_81',['TJPARAM_LOSSLESS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a249f35f0770792b19f995e603bb17c6f',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5flosslesspsv_82',['TJPARAM_LOSSLESSPSV',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abcc997d40e5bec84817c12b76ef84159',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5flosslesspt_83',['TJPARAM_LOSSLESSPT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4a6c6f25764ecaf4231a36bff844e46a',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fnorealloc_84',['TJPARAM_NOREALLOC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5foptimize_85',['TJPARAM_OPTIMIZE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f0af9afc0b36443751f9ee82b760aa6',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fprecision_86',['TJPARAM_PRECISION',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a781db82741934e8cd008d308597c59d8',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fprogressive_87',['TJPARAM_PROGRESSIVE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1716f242b3859905b4a317dae8cfb75f',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fquality_88',['TJPARAM_QUALITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0467e8792621f2d817dc2af563d3186c',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5frestartblocks_89',['TJPARAM_RESTARTBLOCKS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a343c72883b7160f23f3ef46fc548a0ec',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5frestartrows_90',['TJPARAM_RESTARTROWS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a714367585952fe5c863f0dba5bd37e5c',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fscanlimit_91',['TJPARAM_SCANLIMIT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ac478910e20ecf61b914f9824d80f8167',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fstoponwarning_92',['TJPARAM_STOPONWARNING',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a555e2212079fa49b30bcd2879c6c8ddb',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fsubsamp_93',['TJPARAM_SUBSAMP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a2a3494a8215d3de4fdbaeb2ba6f6b03a',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fxdensity_94',['TJPARAM_XDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4de5c9d7cab5be806143a43c3b0e0877',1,'turbojpeg.h']]],
|
|
||||||
['tjparam_5fydensity_95',['TJPARAM_YDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abda48f2df7eb9b88e2b7621efb017eba',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_96',['TJPF',['../group___turbo_j_p_e_g.html#gac916144e26c3817ac514e64ae5d12e2a',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5fabgr_97',['TJPF_ABGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa1ba1a7f1631dbeaa49a0a85fc4a40081',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5fargb_98',['TJPF_ARGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aae8f846ed9d9de99b6e1dfe448848765c',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5fbgr_99',['TJPF_BGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aab10624437fb8ef495a0b153e65749839',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5fbgra_100',['TJPF_BGRA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aac037ff1845cf9b74bb81a3659c2b9fb4',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5fbgrx_101',['TJPF_BGRX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa2a1fbf569ca79897eae886e3376ca4c8',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5fcmyk_102',['TJPF_CMYK',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7f5100ec44c91994e243f1cf55553f8b',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5fgray_103',['TJPF_GRAY',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa5431b54b015337705f13118073711a1a',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5frgb_104',['TJPF_RGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7ce93230bff449518ce387c17e6ed37c',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5frgba_105',['TJPF_RGBA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa88d2e88fab67f6503cf972e14851cc12',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5frgbx_106',['TJPF_RGBX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa83973bebb7e2dc6fa8bae89ff3f42e01',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5funknown_107',['TJPF_UNKNOWN',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa84c1a6cead7952998e2fb895844a21ed',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5fxbgr_108',['TJPF_XBGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aaf6603b27147de47e212e75dac027b2af',1,'turbojpeg.h']]],
|
|
||||||
['tjpf_5fxrgb_109',['TJPF_XRGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aadae996905efcfa3b42a0bb3bea7f9d84',1,'turbojpeg.h']]],
|
|
||||||
['tjpixelsize_110',['tjPixelSize',['../group___turbo_j_p_e_g.html#gad77cf8fe5b2bfd3cb3f53098146abb4c',1,'turbojpeg.h']]],
|
|
||||||
['tjredoffset_111',['tjRedOffset',['../group___turbo_j_p_e_g.html#gadd9b446742ac8a3923f7992c7988fea8',1,'turbojpeg.h']]],
|
|
||||||
['tjregion_112',['tjregion',['../structtjregion.html',1,'']]],
|
|
||||||
['tjsamp_113',['TJSAMP',['../group___turbo_j_p_e_g.html#ga1d047060ea80bb9820d540bb928e9074',1,'turbojpeg.h']]],
|
|
||||||
['tjsamp_5f411_114',['TJSAMP_411',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a28ec62575e5ea295c3fde3001dc628e2',1,'turbojpeg.h']]],
|
|
||||||
['tjsamp_5f420_115',['TJSAMP_420',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a63085dbf683cfe39e513cdb6343e3737',1,'turbojpeg.h']]],
|
|
||||||
['tjsamp_5f422_116',['TJSAMP_422',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a136130902cc578f11f32429b59368404',1,'turbojpeg.h']]],
|
|
||||||
['tjsamp_5f440_117',['TJSAMP_440',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974',1,'turbojpeg.h']]],
|
|
||||||
['tjsamp_5f441_118',['TJSAMP_441',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d',1,'turbojpeg.h']]],
|
|
||||||
['tjsamp_5f444_119',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]],
|
|
||||||
['tjsamp_5fgray_120',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]],
|
|
||||||
['tjsamp_5funknown_121',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]],
|
|
||||||
['tjscaled_122',['TJSCALED',['../group___turbo_j_p_e_g.html#ga84878bb65404204743aa18cac02781df',1,'turbojpeg.h']]],
|
|
||||||
['tjscalingfactor_123',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]],
|
|
||||||
['tjtransform_124',['tjtransform',['../structtjtransform.html',1,'tjtransform'],['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'tjtransform(): turbojpeg.h']]],
|
|
||||||
['tjuncropped_125',['TJUNCROPPED',['../group___turbo_j_p_e_g.html#ga6f192ad58a5a5802e145149d83c643bf',1,'turbojpeg.h']]],
|
|
||||||
['tjunscaled_126',['TJUNSCALED',['../group___turbo_j_p_e_g.html#ga7880644a0849161ad20933536169ee19',1,'turbojpeg.h']]],
|
|
||||||
['tjxop_127',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]],
|
|
||||||
['tjxop_5fhflip_128',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]],
|
|
||||||
['tjxop_5fnone_129',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]],
|
|
||||||
['tjxop_5frot180_130',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]],
|
|
||||||
['tjxop_5frot270_131',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]],
|
|
||||||
['tjxop_5frot90_132',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]],
|
|
||||||
['tjxop_5ftranspose_133',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]],
|
|
||||||
['tjxop_5ftransverse_134',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]],
|
|
||||||
['tjxop_5fvflip_135',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]],
|
|
||||||
['tjxopt_5farithmetic_136',['TJXOPT_ARITHMETIC',['../group___turbo_j_p_e_g.html#gaecaaa3b7e2af812592c015d83207f010',1,'turbojpeg.h']]],
|
|
||||||
['tjxopt_5fcopynone_137',['TJXOPT_COPYNONE',['../group___turbo_j_p_e_g.html#ga153b468cfb905d0de61706c838986fe8',1,'turbojpeg.h']]],
|
|
||||||
['tjxopt_5fcrop_138',['TJXOPT_CROP',['../group___turbo_j_p_e_g.html#ga9c771a757fc1294add611906b89ab2d2',1,'turbojpeg.h']]],
|
|
||||||
['tjxopt_5fgray_139',['TJXOPT_GRAY',['../group___turbo_j_p_e_g.html#ga3acee7b48ade1b99e5588736007c2589',1,'turbojpeg.h']]],
|
|
||||||
['tjxopt_5fnooutput_140',['TJXOPT_NOOUTPUT',['../group___turbo_j_p_e_g.html#gafbf992bbf6e006705886333703ffab31',1,'turbojpeg.h']]],
|
|
||||||
['tjxopt_5foptimize_141',['TJXOPT_OPTIMIZE',['../group___turbo_j_p_e_g.html#ga6bedf37aa9e1122f3ec9f7302ca59117',1,'turbojpeg.h']]],
|
|
||||||
['tjxopt_5fperfect_142',['TJXOPT_PERFECT',['../group___turbo_j_p_e_g.html#ga50e03cb5ed115330e212417429600b00',1,'turbojpeg.h']]],
|
|
||||||
['tjxopt_5fprogressive_143',['TJXOPT_PROGRESSIVE',['../group___turbo_j_p_e_g.html#gad2371c80674584ecc1a7d75e564cf026',1,'turbojpeg.h']]],
|
|
||||||
['tjxopt_5ftrim_144',['TJXOPT_TRIM',['../group___turbo_j_p_e_g.html#ga319826b7eb1583c0595bbe7b95428709',1,'turbojpeg.h']]],
|
|
||||||
['turbojpeg_145',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]]
|
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_7.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['w_146',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]]
|
['r_0',['r',['../structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf',1,'tjtransform']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_8.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,142 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['x_147',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]]
|
['tj3alloc_0',['tj3Alloc',['../group___turbo_j_p_e_g.html#ga1a2c96d8b47530b6e6050ba6f10b7c57',1,'turbojpeg.h']]],
|
||||||
|
['tj3compress12_1',['tj3Compress12',['../group___turbo_j_p_e_g.html#ga9a1968c384ec7abb6122830253ebf570',1,'turbojpeg.h']]],
|
||||||
|
['tj3compress16_2',['tj3Compress16',['../group___turbo_j_p_e_g.html#ga77901b71d0471784f318ada31ff4e7bd',1,'turbojpeg.h']]],
|
||||||
|
['tj3compress8_3',['tj3Compress8',['../group___turbo_j_p_e_g.html#ga2cc418a2dab709ad7f30f5b25905f138',1,'turbojpeg.h']]],
|
||||||
|
['tj3compressfromyuv8_4',['tj3CompressFromYUV8',['../group___turbo_j_p_e_g.html#ga041c870d9c669eb3f385c78f4346c43f',1,'turbojpeg.h']]],
|
||||||
|
['tj3compressfromyuvplanes8_5',['tj3CompressFromYUVPlanes8',['../group___turbo_j_p_e_g.html#gac9f5ace3e73805b476c95dda9f8d0cd0',1,'turbojpeg.h']]],
|
||||||
|
['tj3decodeyuv8_6',['tj3DecodeYUV8',['../group___turbo_j_p_e_g.html#gaa1eb574f38b1c1de43a6c7aafcf68d8c',1,'turbojpeg.h']]],
|
||||||
|
['tj3decodeyuvplanes8_7',['tj3DecodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gad366f1915f82c1ad4e7e37ebe073ca89',1,'turbojpeg.h']]],
|
||||||
|
['tj3decompress12_8',['tj3Decompress12',['../group___turbo_j_p_e_g.html#ga39b848f01781ad74a5b3941c012b6199',1,'turbojpeg.h']]],
|
||||||
|
['tj3decompress16_9',['tj3Decompress16',['../group___turbo_j_p_e_g.html#gaa074e63f9beb0b3ff42b833a4049df6e',1,'turbojpeg.h']]],
|
||||||
|
['tj3decompress8_10',['tj3Decompress8',['../group___turbo_j_p_e_g.html#ga1169c7c1a26ec18c9e6122cb8ae64013',1,'turbojpeg.h']]],
|
||||||
|
['tj3decompressheader_11',['tj3DecompressHeader',['../group___turbo_j_p_e_g.html#ga96d2c4b3432f9d88ad14758ae240b8d1',1,'turbojpeg.h']]],
|
||||||
|
['tj3decompresstoyuv8_12',['tj3DecompressToYUV8',['../group___turbo_j_p_e_g.html#ga1e6bf6a19fec3f9fa7534348879d8320',1,'turbojpeg.h']]],
|
||||||
|
['tj3decompresstoyuvplanes8_13',['tj3DecompressToYUVPlanes8',['../group___turbo_j_p_e_g.html#ga934373482dbbf257f2280505b6ff4fb5',1,'turbojpeg.h']]],
|
||||||
|
['tj3destroy_14',['tj3Destroy',['../group___turbo_j_p_e_g.html#ga53fbadf4560e95a65b8f5ab81703fe82',1,'turbojpeg.h']]],
|
||||||
|
['tj3encodeyuv8_15',['tj3EncodeYUV8',['../group___turbo_j_p_e_g.html#ga2a8d50f130bde10f0a04030f8cc59936',1,'turbojpeg.h']]],
|
||||||
|
['tj3encodeyuvplanes8_16',['tj3EncodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gae2e9df38790e9bddc249d04cb158a4cf',1,'turbojpeg.h']]],
|
||||||
|
['tj3free_17',['tj3Free',['../group___turbo_j_p_e_g.html#gaddb84fb6c81769e9faa0f5a63b296606',1,'turbojpeg.h']]],
|
||||||
|
['tj3get_18',['tj3Get',['../group___turbo_j_p_e_g.html#ga34af9ba3183bdf0ec7c8f47bb9a4c84f',1,'turbojpeg.h']]],
|
||||||
|
['tj3geterrorcode_19',['tj3GetErrorCode',['../group___turbo_j_p_e_g.html#gab8c8279f1415fe425ff30dbbc56013bd',1,'turbojpeg.h']]],
|
||||||
|
['tj3geterrorstr_20',['tj3GetErrorStr',['../group___turbo_j_p_e_g.html#ga5a23ad0776c5333cda0d7c6d826e9d29',1,'turbojpeg.h']]],
|
||||||
|
['tj3getscalingfactors_21',['tj3GetScalingFactors',['../group___turbo_j_p_e_g.html#gaf9253e0c2e9f464142d389673da085fa',1,'turbojpeg.h']]],
|
||||||
|
['tj3init_22',['tj3Init',['../group___turbo_j_p_e_g.html#ga69c09d39f97ec30250ad3605ace7e5df',1,'turbojpeg.h']]],
|
||||||
|
['tj3jpegbufsize_23',['tj3JPEGBufSize',['../group___turbo_j_p_e_g.html#gac6285e58e35a35d871d7162ec5a929c4',1,'turbojpeg.h']]],
|
||||||
|
['tj3loadimage12_24',['tj3LoadImage12',['../group___turbo_j_p_e_g.html#gaa1d3772cfdb53afa21aae3c606238d44',1,'turbojpeg.h']]],
|
||||||
|
['tj3loadimage16_25',['tj3LoadImage16',['../group___turbo_j_p_e_g.html#gace4240b665dc47742cbb3b76b03dfd69',1,'turbojpeg.h']]],
|
||||||
|
['tj3loadimage8_26',['tj3LoadImage8',['../group___turbo_j_p_e_g.html#ga884023536e70985616126a073f662001',1,'turbojpeg.h']]],
|
||||||
|
['tj3saveimage12_27',['tj3SaveImage12',['../group___turbo_j_p_e_g.html#ga7c64b5106d04267a46aad85f9714ad90',1,'turbojpeg.h']]],
|
||||||
|
['tj3saveimage16_28',['tj3SaveImage16',['../group___turbo_j_p_e_g.html#ga0fd87851f4266aca24bf4594dd0c0e71',1,'turbojpeg.h']]],
|
||||||
|
['tj3saveimage8_29',['tj3SaveImage8',['../group___turbo_j_p_e_g.html#gaa4ec838988e469cc15618e4690cc8722',1,'turbojpeg.h']]],
|
||||||
|
['tj3set_30',['tj3Set',['../group___turbo_j_p_e_g.html#gaddf92640bfee3e8622218c713e77e7db',1,'turbojpeg.h']]],
|
||||||
|
['tj3setcroppingregion_31',['tj3SetCroppingRegion',['../group___turbo_j_p_e_g.html#gaa49c7bd4c9431667a043cfc93388ba1c',1,'turbojpeg.h']]],
|
||||||
|
['tj3setscalingfactor_32',['tj3SetScalingFactor',['../group___turbo_j_p_e_g.html#ga89da17ee1e43ff423382cbc145803c75',1,'turbojpeg.h']]],
|
||||||
|
['tj3transform_33',['tj3Transform',['../group___turbo_j_p_e_g.html#gaff23ba1dcabed456794b844791613920',1,'turbojpeg.h']]],
|
||||||
|
['tj3yuvbufsize_34',['tj3YUVBufSize',['../group___turbo_j_p_e_g.html#gaaebaa16973a0f550a66eca5765ed0546',1,'turbojpeg.h']]],
|
||||||
|
['tj3yuvplaneheight_35',['tj3YUVPlaneHeight',['../group___turbo_j_p_e_g.html#ga969767ec8180cc3edd99cf507f87299b',1,'turbojpeg.h']]],
|
||||||
|
['tj3yuvplanesize_36',['tj3YUVPlaneSize',['../group___turbo_j_p_e_g.html#gacc19d265edce76b46146f59579f9438d',1,'turbojpeg.h']]],
|
||||||
|
['tj3yuvplanewidth_37',['tj3YUVPlaneWidth',['../group___turbo_j_p_e_g.html#gac99d1933ede1d59fcada9a826e88eb2d',1,'turbojpeg.h']]],
|
||||||
|
['tj_5fnumcs_38',['TJ_NUMCS',['../group___turbo_j_p_e_g.html#ga39f57a6fb02d9cf32e7b6890099b5a71',1,'turbojpeg.h']]],
|
||||||
|
['tj_5fnumerr_39',['TJ_NUMERR',['../group___turbo_j_p_e_g.html#ga79bde1b4a3e2351e00887e47781b966e',1,'turbojpeg.h']]],
|
||||||
|
['tj_5fnuminit_40',['TJ_NUMINIT',['../group___turbo_j_p_e_g.html#ga5e0e8c784295c636f0bf8dab93c4bddf',1,'turbojpeg.h']]],
|
||||||
|
['tj_5fnumpf_41',['TJ_NUMPF',['../group___turbo_j_p_e_g.html#ga7010a4402f54a45ba822ad8675a4655e',1,'turbojpeg.h']]],
|
||||||
|
['tj_5fnumsamp_42',['TJ_NUMSAMP',['../group___turbo_j_p_e_g.html#ga5ef3d169162ce77ce348e292a0b7477c',1,'turbojpeg.h']]],
|
||||||
|
['tj_5fnumxop_43',['TJ_NUMXOP',['../group___turbo_j_p_e_g.html#ga0f6dbd18adf38b7d46ac547f0f4d562c',1,'turbojpeg.h']]],
|
||||||
|
['tjalphaoffset_44',['tjAlphaOffset',['../group___turbo_j_p_e_g.html#ga5af0ab065feefd526debf1e20c43e837',1,'turbojpeg.h']]],
|
||||||
|
['tjblueoffset_45',['tjBlueOffset',['../group___turbo_j_p_e_g.html#ga84e2e35d3f08025f976ec1ec53693dea',1,'turbojpeg.h']]],
|
||||||
|
['tjcs_46',['TJCS',['../group___turbo_j_p_e_g.html#ga4f83ad3368e0e29d1957be0efa7c3720',1,'turbojpeg.h']]],
|
||||||
|
['tjcs_5fcmyk_47',['TJCS_CMYK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a6c8b636152ac8195b869587db315ee53',1,'turbojpeg.h']]],
|
||||||
|
['tjcs_5fgray_48',['TJCS_GRAY',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720ab3e7d6a87f695e45b81c1b5262b5a50a',1,'turbojpeg.h']]],
|
||||||
|
['tjcs_5frgb_49',['TJCS_RGB',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a677cb7ccb85c4038ac41964a2e09e555',1,'turbojpeg.h']]],
|
||||||
|
['tjcs_5fycbcr_50',['TJCS_YCbCr',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a7389b8f65bb387ffedce3efd0d78ec75',1,'turbojpeg.h']]],
|
||||||
|
['tjcs_5fycck_51',['TJCS_YCCK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a53839e0fe867b76b58d16b0a1a7c598e',1,'turbojpeg.h']]],
|
||||||
|
['tjerr_52',['TJERR',['../group___turbo_j_p_e_g.html#gafbc17cfa57d0d5d11fea35ac025950fe',1,'turbojpeg.h']]],
|
||||||
|
['tjerr_5ffatal_53',['TJERR_FATAL',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950feafc9cceeada13122b09e4851e3788039a',1,'turbojpeg.h']]],
|
||||||
|
['tjerr_5fwarning_54',['TJERR_WARNING',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950fea342dd6e2aedb47bb257b4e7568329b59',1,'turbojpeg.h']]],
|
||||||
|
['tjgreenoffset_55',['tjGreenOffset',['../group___turbo_j_p_e_g.html#ga82d6e35da441112a411da41923c0ba2f',1,'turbojpeg.h']]],
|
||||||
|
['tjhandle_56',['tjhandle',['../group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763',1,'turbojpeg.h']]],
|
||||||
|
['tjinit_57',['TJINIT',['../group___turbo_j_p_e_g.html#ga3850bbee1313e752e667b4eb08b1e086',1,'turbojpeg.h']]],
|
||||||
|
['tjinit_5fcompress_58',['TJINIT_COMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086aa45ac279e3dc6ffabc4b0f45864da796',1,'turbojpeg.h']]],
|
||||||
|
['tjinit_5fdecompress_59',['TJINIT_DECOMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a4b8ca1ef700699b71350700bf95c2167',1,'turbojpeg.h']]],
|
||||||
|
['tjinit_5ftransform_60',['TJINIT_TRANSFORM',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a8d58a2a4c45b3e0cd349746544a6e0c2',1,'turbojpeg.h']]],
|
||||||
|
['tjmcuheight_61',['tjMCUHeight',['../group___turbo_j_p_e_g.html#gabd247bb9fecb393eca57366feb8327bf',1,'turbojpeg.h']]],
|
||||||
|
['tjmcuwidth_62',['tjMCUWidth',['../group___turbo_j_p_e_g.html#ga9e61e7cd47a15a173283ba94e781308c',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_63',['TJPARAM',['../group___turbo_j_p_e_g.html#gaa0f6be63ba78278299c9f5c12031fe82',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5farithmetic_64',['TJPARAM_ARITHMETIC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1c756757384308145602c040524aebf7',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fbottomup_65',['TJPARAM_BOTTOMUP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a924657172695ed6cb0b128219546fcce',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fcolorspace_66',['TJPARAM_COLORSPACE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a46a10d46309514907d0c39fcd86c324c',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fdensityunits_67',['TJPARAM_DENSITYUNITS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4c045981bd8a303521a401dbbe1df208',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5ffastdct_68',['TJPARAM_FASTDCT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a6914692ac6ec5567787d592b7563f627',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5ffastupsample_69',['TJPARAM_FASTUPSAMPLE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0e051ac106f7b7402b690a5daf4869c0',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fjpegheight_70',['TJPARAM_JPEGHEIGHT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f76673be73f2b659440a9572a65a95f',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fjpegwidth_71',['TJPARAM_JPEGWIDTH',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a02ab77fb294a0c9061a78cd424c82dd8',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5flossless_72',['TJPARAM_LOSSLESS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a249f35f0770792b19f995e603bb17c6f',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5flosslesspsv_73',['TJPARAM_LOSSLESSPSV',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abcc997d40e5bec84817c12b76ef84159',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5flosslesspt_74',['TJPARAM_LOSSLESSPT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4a6c6f25764ecaf4231a36bff844e46a',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fmaxmemory_75',['TJPARAM_MAXMEMORY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0de0a8281da45d1fc984edc8918f7dd2',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fmaxpixels_76',['TJPARAM_MAXPIXELS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ac4e95dd2ecd766854feee579406eae68',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fnorealloc_77',['TJPARAM_NOREALLOC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5foptimize_78',['TJPARAM_OPTIMIZE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f0af9afc0b36443751f9ee82b760aa6',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fprecision_79',['TJPARAM_PRECISION',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a781db82741934e8cd008d308597c59d8',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fprogressive_80',['TJPARAM_PROGRESSIVE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1716f242b3859905b4a317dae8cfb75f',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fquality_81',['TJPARAM_QUALITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0467e8792621f2d817dc2af563d3186c',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5frestartblocks_82',['TJPARAM_RESTARTBLOCKS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a343c72883b7160f23f3ef46fc548a0ec',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5frestartrows_83',['TJPARAM_RESTARTROWS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a714367585952fe5c863f0dba5bd37e5c',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fscanlimit_84',['TJPARAM_SCANLIMIT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ac478910e20ecf61b914f9824d80f8167',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fstoponwarning_85',['TJPARAM_STOPONWARNING',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a555e2212079fa49b30bcd2879c6c8ddb',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fsubsamp_86',['TJPARAM_SUBSAMP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a2a3494a8215d3de4fdbaeb2ba6f6b03a',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fxdensity_87',['TJPARAM_XDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4de5c9d7cab5be806143a43c3b0e0877',1,'turbojpeg.h']]],
|
||||||
|
['tjparam_5fydensity_88',['TJPARAM_YDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abda48f2df7eb9b88e2b7621efb017eba',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_89',['TJPF',['../group___turbo_j_p_e_g.html#gac916144e26c3817ac514e64ae5d12e2a',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5fabgr_90',['TJPF_ABGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa1ba1a7f1631dbeaa49a0a85fc4a40081',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5fargb_91',['TJPF_ARGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aae8f846ed9d9de99b6e1dfe448848765c',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5fbgr_92',['TJPF_BGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aab10624437fb8ef495a0b153e65749839',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5fbgra_93',['TJPF_BGRA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aac037ff1845cf9b74bb81a3659c2b9fb4',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5fbgrx_94',['TJPF_BGRX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa2a1fbf569ca79897eae886e3376ca4c8',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5fcmyk_95',['TJPF_CMYK',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7f5100ec44c91994e243f1cf55553f8b',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5fgray_96',['TJPF_GRAY',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa5431b54b015337705f13118073711a1a',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5frgb_97',['TJPF_RGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7ce93230bff449518ce387c17e6ed37c',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5frgba_98',['TJPF_RGBA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa88d2e88fab67f6503cf972e14851cc12',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5frgbx_99',['TJPF_RGBX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa83973bebb7e2dc6fa8bae89ff3f42e01',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5funknown_100',['TJPF_UNKNOWN',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa84c1a6cead7952998e2fb895844a21ed',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5fxbgr_101',['TJPF_XBGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aaf6603b27147de47e212e75dac027b2af',1,'turbojpeg.h']]],
|
||||||
|
['tjpf_5fxrgb_102',['TJPF_XRGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aadae996905efcfa3b42a0bb3bea7f9d84',1,'turbojpeg.h']]],
|
||||||
|
['tjpixelsize_103',['tjPixelSize',['../group___turbo_j_p_e_g.html#gad77cf8fe5b2bfd3cb3f53098146abb4c',1,'turbojpeg.h']]],
|
||||||
|
['tjredoffset_104',['tjRedOffset',['../group___turbo_j_p_e_g.html#gadd9b446742ac8a3923f7992c7988fea8',1,'turbojpeg.h']]],
|
||||||
|
['tjregion_105',['tjregion',['../structtjregion.html',1,'']]],
|
||||||
|
['tjsamp_106',['TJSAMP',['../group___turbo_j_p_e_g.html#ga1d047060ea80bb9820d540bb928e9074',1,'turbojpeg.h']]],
|
||||||
|
['tjsamp_5f411_107',['TJSAMP_411',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a28ec62575e5ea295c3fde3001dc628e2',1,'turbojpeg.h']]],
|
||||||
|
['tjsamp_5f420_108',['TJSAMP_420',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a63085dbf683cfe39e513cdb6343e3737',1,'turbojpeg.h']]],
|
||||||
|
['tjsamp_5f422_109',['TJSAMP_422',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a136130902cc578f11f32429b59368404',1,'turbojpeg.h']]],
|
||||||
|
['tjsamp_5f440_110',['TJSAMP_440',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974',1,'turbojpeg.h']]],
|
||||||
|
['tjsamp_5f441_111',['TJSAMP_441',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d',1,'turbojpeg.h']]],
|
||||||
|
['tjsamp_5f444_112',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]],
|
||||||
|
['tjsamp_5fgray_113',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]],
|
||||||
|
['tjsamp_5funknown_114',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]],
|
||||||
|
['tjscaled_115',['TJSCALED',['../group___turbo_j_p_e_g.html#ga84878bb65404204743aa18cac02781df',1,'turbojpeg.h']]],
|
||||||
|
['tjscalingfactor_116',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]],
|
||||||
|
['tjtransform_117',['tjtransform',['../structtjtransform.html',1,'tjtransform'],['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'tjtransform: turbojpeg.h']]],
|
||||||
|
['tjuncropped_118',['TJUNCROPPED',['../group___turbo_j_p_e_g.html#ga6f192ad58a5a5802e145149d83c643bf',1,'turbojpeg.h']]],
|
||||||
|
['tjunscaled_119',['TJUNSCALED',['../group___turbo_j_p_e_g.html#ga7880644a0849161ad20933536169ee19',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_120',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5fhflip_121',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5fnone_122',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5frot180_123',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5frot270_124',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5frot90_125',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5ftranspose_126',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5ftransverse_127',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5fvflip_128',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]],
|
||||||
|
['tjxopt_5farithmetic_129',['TJXOPT_ARITHMETIC',['../group___turbo_j_p_e_g.html#gaecaaa3b7e2af812592c015d83207f010',1,'turbojpeg.h']]],
|
||||||
|
['tjxopt_5fcopynone_130',['TJXOPT_COPYNONE',['../group___turbo_j_p_e_g.html#ga153b468cfb905d0de61706c838986fe8',1,'turbojpeg.h']]],
|
||||||
|
['tjxopt_5fcrop_131',['TJXOPT_CROP',['../group___turbo_j_p_e_g.html#ga9c771a757fc1294add611906b89ab2d2',1,'turbojpeg.h']]],
|
||||||
|
['tjxopt_5fgray_132',['TJXOPT_GRAY',['../group___turbo_j_p_e_g.html#ga3acee7b48ade1b99e5588736007c2589',1,'turbojpeg.h']]],
|
||||||
|
['tjxopt_5fnooutput_133',['TJXOPT_NOOUTPUT',['../group___turbo_j_p_e_g.html#gafbf992bbf6e006705886333703ffab31',1,'turbojpeg.h']]],
|
||||||
|
['tjxopt_5foptimize_134',['TJXOPT_OPTIMIZE',['../group___turbo_j_p_e_g.html#ga6bedf37aa9e1122f3ec9f7302ca59117',1,'turbojpeg.h']]],
|
||||||
|
['tjxopt_5fperfect_135',['TJXOPT_PERFECT',['../group___turbo_j_p_e_g.html#ga50e03cb5ed115330e212417429600b00',1,'turbojpeg.h']]],
|
||||||
|
['tjxopt_5fprogressive_136',['TJXOPT_PROGRESSIVE',['../group___turbo_j_p_e_g.html#gad2371c80674584ecc1a7d75e564cf026',1,'turbojpeg.h']]],
|
||||||
|
['tjxopt_5ftrim_137',['TJXOPT_TRIM',['../group___turbo_j_p_e_g.html#ga319826b7eb1583c0595bbe7b95428709',1,'turbojpeg.h']]],
|
||||||
|
['turbojpeg_138',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_9.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['y_148',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]]
|
['w_0',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
4
doc/html/search/all_a.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
var searchData=
|
||||||
|
[
|
||||||
|
['x_0',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]]
|
||||||
|
];
|
||||||
5
doc/html/search/all_b.js
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
var searchData=
|
||||||
|
[
|
||||||
|
['y_0',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]],
|
||||||
|
['yuv_20image_20format_20notes_1',['YUV Image Format Notes',['../group___turbo_j_p_e_g.html#autotoc_md0',1,'']]]
|
||||||
|
];
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="classes_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tjregion_149',['tjregion',['../structtjregion.html',1,'']]],
|
['tjregion_0',['tjregion',['../structtjregion.html',1,'']]],
|
||||||
['tjscalingfactor_150',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]],
|
['tjscalingfactor_1',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]],
|
||||||
['tjtransform_151',['tjtransform',['../structtjtransform.html',1,'']]]
|
['tjtransform_2',['tjtransform',['../structtjtransform.html',1,'']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,27 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg
|
<svg
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
viewBox="0 0 11 11"
|
viewBox="0 0 11 11"
|
||||||
height="11"
|
height="11"
|
||||||
width="11"
|
width="11"
|
||||||
id="svg2"
|
id="svg2"
|
||||||
version="1.1">
|
version="1.1">
|
||||||
<metadata
|
|
||||||
id="metadata8">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
<defs
|
||||||
id="defs6" />
|
id="defs6" />
|
||||||
<path
|
<path
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 947 B |
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="enums_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tjcs_212',['TJCS',['../group___turbo_j_p_e_g.html#ga4f83ad3368e0e29d1957be0efa7c3720',1,'turbojpeg.h']]],
|
['tjcs_0',['TJCS',['../group___turbo_j_p_e_g.html#ga4f83ad3368e0e29d1957be0efa7c3720',1,'turbojpeg.h']]],
|
||||||
['tjerr_213',['TJERR',['../group___turbo_j_p_e_g.html#gafbc17cfa57d0d5d11fea35ac025950fe',1,'turbojpeg.h']]],
|
['tjerr_1',['TJERR',['../group___turbo_j_p_e_g.html#gafbc17cfa57d0d5d11fea35ac025950fe',1,'turbojpeg.h']]],
|
||||||
['tjinit_214',['TJINIT',['../group___turbo_j_p_e_g.html#ga3850bbee1313e752e667b4eb08b1e086',1,'turbojpeg.h']]],
|
['tjinit_2',['TJINIT',['../group___turbo_j_p_e_g.html#ga3850bbee1313e752e667b4eb08b1e086',1,'turbojpeg.h']]],
|
||||||
['tjparam_215',['TJPARAM',['../group___turbo_j_p_e_g.html#gaa0f6be63ba78278299c9f5c12031fe82',1,'turbojpeg.h']]],
|
['tjparam_3',['TJPARAM',['../group___turbo_j_p_e_g.html#gaa0f6be63ba78278299c9f5c12031fe82',1,'turbojpeg.h']]],
|
||||||
['tjpf_216',['TJPF',['../group___turbo_j_p_e_g.html#gac916144e26c3817ac514e64ae5d12e2a',1,'turbojpeg.h']]],
|
['tjpf_4',['TJPF',['../group___turbo_j_p_e_g.html#gac916144e26c3817ac514e64ae5d12e2a',1,'turbojpeg.h']]],
|
||||||
['tjsamp_217',['TJSAMP',['../group___turbo_j_p_e_g.html#ga1d047060ea80bb9820d540bb928e9074',1,'turbojpeg.h']]],
|
['tjsamp_5',['TJSAMP',['../group___turbo_j_p_e_g.html#ga1d047060ea80bb9820d540bb928e9074',1,'turbojpeg.h']]],
|
||||||
['tjxop_218',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]]
|
['tjxop_6',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="enumvalues_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,65 +1,67 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tjcs_5fcmyk_219',['TJCS_CMYK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a6c8b636152ac8195b869587db315ee53',1,'turbojpeg.h']]],
|
['tjcs_5fcmyk_0',['TJCS_CMYK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a6c8b636152ac8195b869587db315ee53',1,'turbojpeg.h']]],
|
||||||
['tjcs_5fgray_220',['TJCS_GRAY',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720ab3e7d6a87f695e45b81c1b5262b5a50a',1,'turbojpeg.h']]],
|
['tjcs_5fgray_1',['TJCS_GRAY',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720ab3e7d6a87f695e45b81c1b5262b5a50a',1,'turbojpeg.h']]],
|
||||||
['tjcs_5frgb_221',['TJCS_RGB',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a677cb7ccb85c4038ac41964a2e09e555',1,'turbojpeg.h']]],
|
['tjcs_5frgb_2',['TJCS_RGB',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a677cb7ccb85c4038ac41964a2e09e555',1,'turbojpeg.h']]],
|
||||||
['tjcs_5fycbcr_222',['TJCS_YCbCr',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a7389b8f65bb387ffedce3efd0d78ec75',1,'turbojpeg.h']]],
|
['tjcs_5fycbcr_3',['TJCS_YCbCr',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a7389b8f65bb387ffedce3efd0d78ec75',1,'turbojpeg.h']]],
|
||||||
['tjcs_5fycck_223',['TJCS_YCCK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a53839e0fe867b76b58d16b0a1a7c598e',1,'turbojpeg.h']]],
|
['tjcs_5fycck_4',['TJCS_YCCK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a53839e0fe867b76b58d16b0a1a7c598e',1,'turbojpeg.h']]],
|
||||||
['tjerr_5ffatal_224',['TJERR_FATAL',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950feafc9cceeada13122b09e4851e3788039a',1,'turbojpeg.h']]],
|
['tjerr_5ffatal_5',['TJERR_FATAL',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950feafc9cceeada13122b09e4851e3788039a',1,'turbojpeg.h']]],
|
||||||
['tjerr_5fwarning_225',['TJERR_WARNING',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950fea342dd6e2aedb47bb257b4e7568329b59',1,'turbojpeg.h']]],
|
['tjerr_5fwarning_6',['TJERR_WARNING',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950fea342dd6e2aedb47bb257b4e7568329b59',1,'turbojpeg.h']]],
|
||||||
['tjinit_5fcompress_226',['TJINIT_COMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086aa45ac279e3dc6ffabc4b0f45864da796',1,'turbojpeg.h']]],
|
['tjinit_5fcompress_7',['TJINIT_COMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086aa45ac279e3dc6ffabc4b0f45864da796',1,'turbojpeg.h']]],
|
||||||
['tjinit_5fdecompress_227',['TJINIT_DECOMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a4b8ca1ef700699b71350700bf95c2167',1,'turbojpeg.h']]],
|
['tjinit_5fdecompress_8',['TJINIT_DECOMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a4b8ca1ef700699b71350700bf95c2167',1,'turbojpeg.h']]],
|
||||||
['tjinit_5ftransform_228',['TJINIT_TRANSFORM',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a8d58a2a4c45b3e0cd349746544a6e0c2',1,'turbojpeg.h']]],
|
['tjinit_5ftransform_9',['TJINIT_TRANSFORM',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a8d58a2a4c45b3e0cd349746544a6e0c2',1,'turbojpeg.h']]],
|
||||||
['tjparam_5farithmetic_229',['TJPARAM_ARITHMETIC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1c756757384308145602c040524aebf7',1,'turbojpeg.h']]],
|
['tjparam_5farithmetic_10',['TJPARAM_ARITHMETIC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1c756757384308145602c040524aebf7',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fbottomup_230',['TJPARAM_BOTTOMUP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a924657172695ed6cb0b128219546fcce',1,'turbojpeg.h']]],
|
['tjparam_5fbottomup_11',['TJPARAM_BOTTOMUP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a924657172695ed6cb0b128219546fcce',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fcolorspace_231',['TJPARAM_COLORSPACE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a46a10d46309514907d0c39fcd86c324c',1,'turbojpeg.h']]],
|
['tjparam_5fcolorspace_12',['TJPARAM_COLORSPACE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a46a10d46309514907d0c39fcd86c324c',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fdensityunits_232',['TJPARAM_DENSITYUNITS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4c045981bd8a303521a401dbbe1df208',1,'turbojpeg.h']]],
|
['tjparam_5fdensityunits_13',['TJPARAM_DENSITYUNITS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4c045981bd8a303521a401dbbe1df208',1,'turbojpeg.h']]],
|
||||||
['tjparam_5ffastdct_233',['TJPARAM_FASTDCT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a6914692ac6ec5567787d592b7563f627',1,'turbojpeg.h']]],
|
['tjparam_5ffastdct_14',['TJPARAM_FASTDCT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a6914692ac6ec5567787d592b7563f627',1,'turbojpeg.h']]],
|
||||||
['tjparam_5ffastupsample_234',['TJPARAM_FASTUPSAMPLE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0e051ac106f7b7402b690a5daf4869c0',1,'turbojpeg.h']]],
|
['tjparam_5ffastupsample_15',['TJPARAM_FASTUPSAMPLE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0e051ac106f7b7402b690a5daf4869c0',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fjpegheight_235',['TJPARAM_JPEGHEIGHT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f76673be73f2b659440a9572a65a95f',1,'turbojpeg.h']]],
|
['tjparam_5fjpegheight_16',['TJPARAM_JPEGHEIGHT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f76673be73f2b659440a9572a65a95f',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fjpegwidth_236',['TJPARAM_JPEGWIDTH',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a02ab77fb294a0c9061a78cd424c82dd8',1,'turbojpeg.h']]],
|
['tjparam_5fjpegwidth_17',['TJPARAM_JPEGWIDTH',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a02ab77fb294a0c9061a78cd424c82dd8',1,'turbojpeg.h']]],
|
||||||
['tjparam_5flossless_237',['TJPARAM_LOSSLESS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a249f35f0770792b19f995e603bb17c6f',1,'turbojpeg.h']]],
|
['tjparam_5flossless_18',['TJPARAM_LOSSLESS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a249f35f0770792b19f995e603bb17c6f',1,'turbojpeg.h']]],
|
||||||
['tjparam_5flosslesspsv_238',['TJPARAM_LOSSLESSPSV',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abcc997d40e5bec84817c12b76ef84159',1,'turbojpeg.h']]],
|
['tjparam_5flosslesspsv_19',['TJPARAM_LOSSLESSPSV',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abcc997d40e5bec84817c12b76ef84159',1,'turbojpeg.h']]],
|
||||||
['tjparam_5flosslesspt_239',['TJPARAM_LOSSLESSPT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4a6c6f25764ecaf4231a36bff844e46a',1,'turbojpeg.h']]],
|
['tjparam_5flosslesspt_20',['TJPARAM_LOSSLESSPT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4a6c6f25764ecaf4231a36bff844e46a',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fnorealloc_240',['TJPARAM_NOREALLOC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b',1,'turbojpeg.h']]],
|
['tjparam_5fmaxmemory_21',['TJPARAM_MAXMEMORY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0de0a8281da45d1fc984edc8918f7dd2',1,'turbojpeg.h']]],
|
||||||
['tjparam_5foptimize_241',['TJPARAM_OPTIMIZE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f0af9afc0b36443751f9ee82b760aa6',1,'turbojpeg.h']]],
|
['tjparam_5fmaxpixels_22',['TJPARAM_MAXPIXELS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ac4e95dd2ecd766854feee579406eae68',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fprecision_242',['TJPARAM_PRECISION',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a781db82741934e8cd008d308597c59d8',1,'turbojpeg.h']]],
|
['tjparam_5fnorealloc_23',['TJPARAM_NOREALLOC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fprogressive_243',['TJPARAM_PROGRESSIVE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1716f242b3859905b4a317dae8cfb75f',1,'turbojpeg.h']]],
|
['tjparam_5foptimize_24',['TJPARAM_OPTIMIZE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f0af9afc0b36443751f9ee82b760aa6',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fquality_244',['TJPARAM_QUALITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0467e8792621f2d817dc2af563d3186c',1,'turbojpeg.h']]],
|
['tjparam_5fprecision_25',['TJPARAM_PRECISION',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a781db82741934e8cd008d308597c59d8',1,'turbojpeg.h']]],
|
||||||
['tjparam_5frestartblocks_245',['TJPARAM_RESTARTBLOCKS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a343c72883b7160f23f3ef46fc548a0ec',1,'turbojpeg.h']]],
|
['tjparam_5fprogressive_26',['TJPARAM_PROGRESSIVE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1716f242b3859905b4a317dae8cfb75f',1,'turbojpeg.h']]],
|
||||||
['tjparam_5frestartrows_246',['TJPARAM_RESTARTROWS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a714367585952fe5c863f0dba5bd37e5c',1,'turbojpeg.h']]],
|
['tjparam_5fquality_27',['TJPARAM_QUALITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0467e8792621f2d817dc2af563d3186c',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fscanlimit_247',['TJPARAM_SCANLIMIT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ac478910e20ecf61b914f9824d80f8167',1,'turbojpeg.h']]],
|
['tjparam_5frestartblocks_28',['TJPARAM_RESTARTBLOCKS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a343c72883b7160f23f3ef46fc548a0ec',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fstoponwarning_248',['TJPARAM_STOPONWARNING',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a555e2212079fa49b30bcd2879c6c8ddb',1,'turbojpeg.h']]],
|
['tjparam_5frestartrows_29',['TJPARAM_RESTARTROWS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a714367585952fe5c863f0dba5bd37e5c',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fsubsamp_249',['TJPARAM_SUBSAMP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a2a3494a8215d3de4fdbaeb2ba6f6b03a',1,'turbojpeg.h']]],
|
['tjparam_5fscanlimit_30',['TJPARAM_SCANLIMIT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ac478910e20ecf61b914f9824d80f8167',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fxdensity_250',['TJPARAM_XDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4de5c9d7cab5be806143a43c3b0e0877',1,'turbojpeg.h']]],
|
['tjparam_5fstoponwarning_31',['TJPARAM_STOPONWARNING',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a555e2212079fa49b30bcd2879c6c8ddb',1,'turbojpeg.h']]],
|
||||||
['tjparam_5fydensity_251',['TJPARAM_YDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abda48f2df7eb9b88e2b7621efb017eba',1,'turbojpeg.h']]],
|
['tjparam_5fsubsamp_32',['TJPARAM_SUBSAMP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a2a3494a8215d3de4fdbaeb2ba6f6b03a',1,'turbojpeg.h']]],
|
||||||
['tjpf_5fabgr_252',['TJPF_ABGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa1ba1a7f1631dbeaa49a0a85fc4a40081',1,'turbojpeg.h']]],
|
['tjparam_5fxdensity_33',['TJPARAM_XDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4de5c9d7cab5be806143a43c3b0e0877',1,'turbojpeg.h']]],
|
||||||
['tjpf_5fargb_253',['TJPF_ARGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aae8f846ed9d9de99b6e1dfe448848765c',1,'turbojpeg.h']]],
|
['tjparam_5fydensity_34',['TJPARAM_YDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abda48f2df7eb9b88e2b7621efb017eba',1,'turbojpeg.h']]],
|
||||||
['tjpf_5fbgr_254',['TJPF_BGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aab10624437fb8ef495a0b153e65749839',1,'turbojpeg.h']]],
|
['tjpf_5fabgr_35',['TJPF_ABGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa1ba1a7f1631dbeaa49a0a85fc4a40081',1,'turbojpeg.h']]],
|
||||||
['tjpf_5fbgra_255',['TJPF_BGRA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aac037ff1845cf9b74bb81a3659c2b9fb4',1,'turbojpeg.h']]],
|
['tjpf_5fargb_36',['TJPF_ARGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aae8f846ed9d9de99b6e1dfe448848765c',1,'turbojpeg.h']]],
|
||||||
['tjpf_5fbgrx_256',['TJPF_BGRX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa2a1fbf569ca79897eae886e3376ca4c8',1,'turbojpeg.h']]],
|
['tjpf_5fbgr_37',['TJPF_BGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aab10624437fb8ef495a0b153e65749839',1,'turbojpeg.h']]],
|
||||||
['tjpf_5fcmyk_257',['TJPF_CMYK',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7f5100ec44c91994e243f1cf55553f8b',1,'turbojpeg.h']]],
|
['tjpf_5fbgra_38',['TJPF_BGRA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aac037ff1845cf9b74bb81a3659c2b9fb4',1,'turbojpeg.h']]],
|
||||||
['tjpf_5fgray_258',['TJPF_GRAY',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa5431b54b015337705f13118073711a1a',1,'turbojpeg.h']]],
|
['tjpf_5fbgrx_39',['TJPF_BGRX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa2a1fbf569ca79897eae886e3376ca4c8',1,'turbojpeg.h']]],
|
||||||
['tjpf_5frgb_259',['TJPF_RGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7ce93230bff449518ce387c17e6ed37c',1,'turbojpeg.h']]],
|
['tjpf_5fcmyk_40',['TJPF_CMYK',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7f5100ec44c91994e243f1cf55553f8b',1,'turbojpeg.h']]],
|
||||||
['tjpf_5frgba_260',['TJPF_RGBA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa88d2e88fab67f6503cf972e14851cc12',1,'turbojpeg.h']]],
|
['tjpf_5fgray_41',['TJPF_GRAY',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa5431b54b015337705f13118073711a1a',1,'turbojpeg.h']]],
|
||||||
['tjpf_5frgbx_261',['TJPF_RGBX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa83973bebb7e2dc6fa8bae89ff3f42e01',1,'turbojpeg.h']]],
|
['tjpf_5frgb_42',['TJPF_RGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7ce93230bff449518ce387c17e6ed37c',1,'turbojpeg.h']]],
|
||||||
['tjpf_5funknown_262',['TJPF_UNKNOWN',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa84c1a6cead7952998e2fb895844a21ed',1,'turbojpeg.h']]],
|
['tjpf_5frgba_43',['TJPF_RGBA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa88d2e88fab67f6503cf972e14851cc12',1,'turbojpeg.h']]],
|
||||||
['tjpf_5fxbgr_263',['TJPF_XBGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aaf6603b27147de47e212e75dac027b2af',1,'turbojpeg.h']]],
|
['tjpf_5frgbx_44',['TJPF_RGBX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa83973bebb7e2dc6fa8bae89ff3f42e01',1,'turbojpeg.h']]],
|
||||||
['tjpf_5fxrgb_264',['TJPF_XRGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aadae996905efcfa3b42a0bb3bea7f9d84',1,'turbojpeg.h']]],
|
['tjpf_5funknown_45',['TJPF_UNKNOWN',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa84c1a6cead7952998e2fb895844a21ed',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5f411_265',['TJSAMP_411',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a28ec62575e5ea295c3fde3001dc628e2',1,'turbojpeg.h']]],
|
['tjpf_5fxbgr_46',['TJPF_XBGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aaf6603b27147de47e212e75dac027b2af',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5f420_266',['TJSAMP_420',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a63085dbf683cfe39e513cdb6343e3737',1,'turbojpeg.h']]],
|
['tjpf_5fxrgb_47',['TJPF_XRGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aadae996905efcfa3b42a0bb3bea7f9d84',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5f422_267',['TJSAMP_422',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a136130902cc578f11f32429b59368404',1,'turbojpeg.h']]],
|
['tjsamp_5f411_48',['TJSAMP_411',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a28ec62575e5ea295c3fde3001dc628e2',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5f440_268',['TJSAMP_440',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974',1,'turbojpeg.h']]],
|
['tjsamp_5f420_49',['TJSAMP_420',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a63085dbf683cfe39e513cdb6343e3737',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5f441_269',['TJSAMP_441',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d',1,'turbojpeg.h']]],
|
['tjsamp_5f422_50',['TJSAMP_422',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a136130902cc578f11f32429b59368404',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5f444_270',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]],
|
['tjsamp_5f440_51',['TJSAMP_440',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5fgray_271',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]],
|
['tjsamp_5f441_52',['TJSAMP_441',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5funknown_272',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]],
|
['tjsamp_5f444_53',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]],
|
||||||
['tjxop_5fhflip_273',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]],
|
['tjsamp_5fgray_54',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]],
|
||||||
['tjxop_5fnone_274',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]],
|
['tjsamp_5funknown_55',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]],
|
||||||
['tjxop_5frot180_275',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]],
|
['tjxop_5fhflip_56',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]],
|
||||||
['tjxop_5frot270_276',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]],
|
['tjxop_5fnone_57',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]],
|
||||||
['tjxop_5frot90_277',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]],
|
['tjxop_5frot180_58',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]],
|
||||||
['tjxop_5ftranspose_278',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]],
|
['tjxop_5frot270_59',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]],
|
||||||
['tjxop_5ftransverse_279',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]],
|
['tjxop_5frot90_60',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]],
|
||||||
['tjxop_5fvflip_280',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]]
|
['tjxop_5ftranspose_61',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5ftransverse_62',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]],
|
||||||
|
['tjxop_5fvflip_63',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="functions_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,41 +1,41 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tj3alloc_152',['tj3Alloc',['../group___turbo_j_p_e_g.html#gab40a0b231122f536e503e3394569a68d',1,'turbojpeg.h']]],
|
['tj3alloc_0',['tj3Alloc',['../group___turbo_j_p_e_g.html#ga1a2c96d8b47530b6e6050ba6f10b7c57',1,'turbojpeg.h']]],
|
||||||
['tj3compress12_153',['tj3Compress12',['../group___turbo_j_p_e_g.html#ga9a1968c384ec7abb6122830253ebf570',1,'turbojpeg.h']]],
|
['tj3compress12_1',['tj3Compress12',['../group___turbo_j_p_e_g.html#ga9a1968c384ec7abb6122830253ebf570',1,'turbojpeg.h']]],
|
||||||
['tj3compress16_154',['tj3Compress16',['../group___turbo_j_p_e_g.html#ga77901b71d0471784f318ada31ff4e7bd',1,'turbojpeg.h']]],
|
['tj3compress16_2',['tj3Compress16',['../group___turbo_j_p_e_g.html#ga77901b71d0471784f318ada31ff4e7bd',1,'turbojpeg.h']]],
|
||||||
['tj3compress8_155',['tj3Compress8',['../group___turbo_j_p_e_g.html#ga2cc418a2dab709ad7f30f5b25905f138',1,'turbojpeg.h']]],
|
['tj3compress8_3',['tj3Compress8',['../group___turbo_j_p_e_g.html#ga2cc418a2dab709ad7f30f5b25905f138',1,'turbojpeg.h']]],
|
||||||
['tj3compressfromyuv8_156',['tj3CompressFromYUV8',['../group___turbo_j_p_e_g.html#ga041c870d9c669eb3f385c78f4346c43f',1,'turbojpeg.h']]],
|
['tj3compressfromyuv8_4',['tj3CompressFromYUV8',['../group___turbo_j_p_e_g.html#ga041c870d9c669eb3f385c78f4346c43f',1,'turbojpeg.h']]],
|
||||||
['tj3compressfromyuvplanes8_157',['tj3CompressFromYUVPlanes8',['../group___turbo_j_p_e_g.html#gac9f5ace3e73805b476c95dda9f8d0cd0',1,'turbojpeg.h']]],
|
['tj3compressfromyuvplanes8_5',['tj3CompressFromYUVPlanes8',['../group___turbo_j_p_e_g.html#gac9f5ace3e73805b476c95dda9f8d0cd0',1,'turbojpeg.h']]],
|
||||||
['tj3decodeyuv8_158',['tj3DecodeYUV8',['../group___turbo_j_p_e_g.html#gaa1eb574f38b1c1de43a6c7aafcf68d8c',1,'turbojpeg.h']]],
|
['tj3decodeyuv8_6',['tj3DecodeYUV8',['../group___turbo_j_p_e_g.html#gaa1eb574f38b1c1de43a6c7aafcf68d8c',1,'turbojpeg.h']]],
|
||||||
['tj3decodeyuvplanes8_159',['tj3DecodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gad366f1915f82c1ad4e7e37ebe073ca89',1,'turbojpeg.h']]],
|
['tj3decodeyuvplanes8_7',['tj3DecodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gad366f1915f82c1ad4e7e37ebe073ca89',1,'turbojpeg.h']]],
|
||||||
['tj3decompress12_160',['tj3Decompress12',['../group___turbo_j_p_e_g.html#ga39b848f01781ad74a5b3941c012b6199',1,'turbojpeg.h']]],
|
['tj3decompress12_8',['tj3Decompress12',['../group___turbo_j_p_e_g.html#ga39b848f01781ad74a5b3941c012b6199',1,'turbojpeg.h']]],
|
||||||
['tj3decompress16_161',['tj3Decompress16',['../group___turbo_j_p_e_g.html#gaa074e63f9beb0b3ff42b833a4049df6e',1,'turbojpeg.h']]],
|
['tj3decompress16_9',['tj3Decompress16',['../group___turbo_j_p_e_g.html#gaa074e63f9beb0b3ff42b833a4049df6e',1,'turbojpeg.h']]],
|
||||||
['tj3decompress8_162',['tj3Decompress8',['../group___turbo_j_p_e_g.html#ga1169c7c1a26ec18c9e6122cb8ae64013',1,'turbojpeg.h']]],
|
['tj3decompress8_10',['tj3Decompress8',['../group___turbo_j_p_e_g.html#ga1169c7c1a26ec18c9e6122cb8ae64013',1,'turbojpeg.h']]],
|
||||||
['tj3decompressheader_163',['tj3DecompressHeader',['../group___turbo_j_p_e_g.html#ga96d2c4b3432f9d88ad14758ae240b8d1',1,'turbojpeg.h']]],
|
['tj3decompressheader_11',['tj3DecompressHeader',['../group___turbo_j_p_e_g.html#ga96d2c4b3432f9d88ad14758ae240b8d1',1,'turbojpeg.h']]],
|
||||||
['tj3decompresstoyuv8_164',['tj3DecompressToYUV8',['../group___turbo_j_p_e_g.html#ga1e6bf6a19fec3f9fa7534348879d8320',1,'turbojpeg.h']]],
|
['tj3decompresstoyuv8_12',['tj3DecompressToYUV8',['../group___turbo_j_p_e_g.html#ga1e6bf6a19fec3f9fa7534348879d8320',1,'turbojpeg.h']]],
|
||||||
['tj3decompresstoyuvplanes8_165',['tj3DecompressToYUVPlanes8',['../group___turbo_j_p_e_g.html#ga934373482dbbf257f2280505b6ff4fb5',1,'turbojpeg.h']]],
|
['tj3decompresstoyuvplanes8_13',['tj3DecompressToYUVPlanes8',['../group___turbo_j_p_e_g.html#ga934373482dbbf257f2280505b6ff4fb5',1,'turbojpeg.h']]],
|
||||||
['tj3destroy_166',['tj3Destroy',['../group___turbo_j_p_e_g.html#ga53fbadf4560e95a65b8f5ab81703fe82',1,'turbojpeg.h']]],
|
['tj3destroy_14',['tj3Destroy',['../group___turbo_j_p_e_g.html#ga53fbadf4560e95a65b8f5ab81703fe82',1,'turbojpeg.h']]],
|
||||||
['tj3encodeyuv8_167',['tj3EncodeYUV8',['../group___turbo_j_p_e_g.html#ga2a8d50f130bde10f0a04030f8cc59936',1,'turbojpeg.h']]],
|
['tj3encodeyuv8_15',['tj3EncodeYUV8',['../group___turbo_j_p_e_g.html#ga2a8d50f130bde10f0a04030f8cc59936',1,'turbojpeg.h']]],
|
||||||
['tj3encodeyuvplanes8_168',['tj3EncodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gae2e9df38790e9bddc249d04cb158a4cf',1,'turbojpeg.h']]],
|
['tj3encodeyuvplanes8_16',['tj3EncodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gae2e9df38790e9bddc249d04cb158a4cf',1,'turbojpeg.h']]],
|
||||||
['tj3free_169',['tj3Free',['../group___turbo_j_p_e_g.html#gaddb84fb6c81769e9faa0f5a63b296606',1,'turbojpeg.h']]],
|
['tj3free_17',['tj3Free',['../group___turbo_j_p_e_g.html#gaddb84fb6c81769e9faa0f5a63b296606',1,'turbojpeg.h']]],
|
||||||
['tj3get_170',['tj3Get',['../group___turbo_j_p_e_g.html#ga34af9ba3183bdf0ec7c8f47bb9a4c84f',1,'turbojpeg.h']]],
|
['tj3get_18',['tj3Get',['../group___turbo_j_p_e_g.html#ga34af9ba3183bdf0ec7c8f47bb9a4c84f',1,'turbojpeg.h']]],
|
||||||
['tj3geterrorcode_171',['tj3GetErrorCode',['../group___turbo_j_p_e_g.html#gab8c8279f1415fe425ff30dbbc56013bd',1,'turbojpeg.h']]],
|
['tj3geterrorcode_19',['tj3GetErrorCode',['../group___turbo_j_p_e_g.html#gab8c8279f1415fe425ff30dbbc56013bd',1,'turbojpeg.h']]],
|
||||||
['tj3geterrorstr_172',['tj3GetErrorStr',['../group___turbo_j_p_e_g.html#gaf2aab0e6dbb3edc57646b0fec25e8bb2',1,'turbojpeg.h']]],
|
['tj3geterrorstr_20',['tj3GetErrorStr',['../group___turbo_j_p_e_g.html#ga5a23ad0776c5333cda0d7c6d826e9d29',1,'turbojpeg.h']]],
|
||||||
['tj3getscalingfactors_173',['tj3GetScalingFactors',['../group___turbo_j_p_e_g.html#ga74397f8e0587d4233182c72f085aaf04',1,'turbojpeg.h']]],
|
['tj3getscalingfactors_21',['tj3GetScalingFactors',['../group___turbo_j_p_e_g.html#gaf9253e0c2e9f464142d389673da085fa',1,'turbojpeg.h']]],
|
||||||
['tj3init_174',['tj3Init',['../group___turbo_j_p_e_g.html#ga69c09d39f97ec30250ad3605ace7e5df',1,'turbojpeg.h']]],
|
['tj3init_22',['tj3Init',['../group___turbo_j_p_e_g.html#ga69c09d39f97ec30250ad3605ace7e5df',1,'turbojpeg.h']]],
|
||||||
['tj3jpegbufsize_175',['tj3JPEGBufSize',['../group___turbo_j_p_e_g.html#gac6285e58e35a35d871d7162ec5a929c4',1,'turbojpeg.h']]],
|
['tj3jpegbufsize_23',['tj3JPEGBufSize',['../group___turbo_j_p_e_g.html#gac6285e58e35a35d871d7162ec5a929c4',1,'turbojpeg.h']]],
|
||||||
['tj3loadimage12_176',['tj3LoadImage12',['../group___turbo_j_p_e_g.html#ga1f03c26892a26d4ce077ed6a4ac40e8f',1,'turbojpeg.h']]],
|
['tj3loadimage12_24',['tj3LoadImage12',['../group___turbo_j_p_e_g.html#gaa1d3772cfdb53afa21aae3c606238d44',1,'turbojpeg.h']]],
|
||||||
['tj3loadimage16_177',['tj3LoadImage16',['../group___turbo_j_p_e_g.html#ga638aeba63e0ccb89d472fdbf34224cfc',1,'turbojpeg.h']]],
|
['tj3loadimage16_25',['tj3LoadImage16',['../group___turbo_j_p_e_g.html#gace4240b665dc47742cbb3b76b03dfd69',1,'turbojpeg.h']]],
|
||||||
['tj3loadimage8_178',['tj3LoadImage8',['../group___turbo_j_p_e_g.html#ga565aaae7be3f8ca9099b56655c893251',1,'turbojpeg.h']]],
|
['tj3loadimage8_26',['tj3LoadImage8',['../group___turbo_j_p_e_g.html#ga884023536e70985616126a073f662001',1,'turbojpeg.h']]],
|
||||||
['tj3saveimage12_179',['tj3SaveImage12',['../group___turbo_j_p_e_g.html#ga7c64b5106d04267a46aad85f9714ad90',1,'turbojpeg.h']]],
|
['tj3saveimage12_27',['tj3SaveImage12',['../group___turbo_j_p_e_g.html#ga7c64b5106d04267a46aad85f9714ad90',1,'turbojpeg.h']]],
|
||||||
['tj3saveimage16_180',['tj3SaveImage16',['../group___turbo_j_p_e_g.html#ga0fd87851f4266aca24bf4594dd0c0e71',1,'turbojpeg.h']]],
|
['tj3saveimage16_28',['tj3SaveImage16',['../group___turbo_j_p_e_g.html#ga0fd87851f4266aca24bf4594dd0c0e71',1,'turbojpeg.h']]],
|
||||||
['tj3saveimage8_181',['tj3SaveImage8',['../group___turbo_j_p_e_g.html#gaa4ec838988e469cc15618e4690cc8722',1,'turbojpeg.h']]],
|
['tj3saveimage8_29',['tj3SaveImage8',['../group___turbo_j_p_e_g.html#gaa4ec838988e469cc15618e4690cc8722',1,'turbojpeg.h']]],
|
||||||
['tj3set_182',['tj3Set',['../group___turbo_j_p_e_g.html#gaddf92640bfee3e8622218c713e77e7db',1,'turbojpeg.h']]],
|
['tj3set_30',['tj3Set',['../group___turbo_j_p_e_g.html#gaddf92640bfee3e8622218c713e77e7db',1,'turbojpeg.h']]],
|
||||||
['tj3setcroppingregion_183',['tj3SetCroppingRegion',['../group___turbo_j_p_e_g.html#gaa49c7bd4c9431667a043cfc93388ba1c',1,'turbojpeg.h']]],
|
['tj3setcroppingregion_31',['tj3SetCroppingRegion',['../group___turbo_j_p_e_g.html#gaa49c7bd4c9431667a043cfc93388ba1c',1,'turbojpeg.h']]],
|
||||||
['tj3setscalingfactor_184',['tj3SetScalingFactor',['../group___turbo_j_p_e_g.html#ga89da17ee1e43ff423382cbc145803c75',1,'turbojpeg.h']]],
|
['tj3setscalingfactor_32',['tj3SetScalingFactor',['../group___turbo_j_p_e_g.html#ga89da17ee1e43ff423382cbc145803c75',1,'turbojpeg.h']]],
|
||||||
['tj3transform_185',['tj3Transform',['../group___turbo_j_p_e_g.html#gaff23ba1dcabed456794b844791613920',1,'turbojpeg.h']]],
|
['tj3transform_33',['tj3Transform',['../group___turbo_j_p_e_g.html#gaff23ba1dcabed456794b844791613920',1,'turbojpeg.h']]],
|
||||||
['tj3yuvbufsize_186',['tj3YUVBufSize',['../group___turbo_j_p_e_g.html#gaaebaa16973a0f550a66eca5765ed0546',1,'turbojpeg.h']]],
|
['tj3yuvbufsize_34',['tj3YUVBufSize',['../group___turbo_j_p_e_g.html#gaaebaa16973a0f550a66eca5765ed0546',1,'turbojpeg.h']]],
|
||||||
['tj3yuvplaneheight_187',['tj3YUVPlaneHeight',['../group___turbo_j_p_e_g.html#ga969767ec8180cc3edd99cf507f87299b',1,'turbojpeg.h']]],
|
['tj3yuvplaneheight_35',['tj3YUVPlaneHeight',['../group___turbo_j_p_e_g.html#ga969767ec8180cc3edd99cf507f87299b',1,'turbojpeg.h']]],
|
||||||
['tj3yuvplanesize_188',['tj3YUVPlaneSize',['../group___turbo_j_p_e_g.html#gacc19d265edce76b46146f59579f9438d',1,'turbojpeg.h']]],
|
['tj3yuvplanesize_36',['tj3YUVPlaneSize',['../group___turbo_j_p_e_g.html#gacc19d265edce76b46146f59579f9438d',1,'turbojpeg.h']]],
|
||||||
['tj3yuvplanewidth_189',['tj3YUVPlaneWidth',['../group___turbo_j_p_e_g.html#gac99d1933ede1d59fcada9a826e88eb2d',1,'turbojpeg.h']]]
|
['tj3yuvplanewidth_37',['tj3YUVPlaneWidth',['../group___turbo_j_p_e_g.html#gac99d1933ede1d59fcada9a826e88eb2d',1,'turbojpeg.h']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="groups_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['turbojpeg_281',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]]
|
['turbojpeg_0',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]]
|
||||||
];
|
];
|
||||||
|
|||||||
24
doc/html/search/mag.svg
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
viewBox="0 0 20 19"
|
||||||
|
height="19"
|
||||||
|
width="20"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1">
|
||||||
|
<defs
|
||||||
|
id="defs6" />
|
||||||
|
<circle
|
||||||
|
r="3.5"
|
||||||
|
cy="8.5"
|
||||||
|
cx="5.5"
|
||||||
|
id="path4611"
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
id="path4630"
|
||||||
|
d="m 8.1085854,11.109059 2.7823556,2.782356"
|
||||||
|
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 804 B |
24
doc/html/search/mag_d.svg
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
viewBox="0 0 20 19"
|
||||||
|
height="19"
|
||||||
|
width="20"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1">
|
||||||
|
<defs
|
||||||
|
id="defs6" />
|
||||||
|
<circle
|
||||||
|
r="3.5"
|
||||||
|
cy="8.5"
|
||||||
|
cx="5.5"
|
||||||
|
id="path4611"
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#C5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
id="path4630"
|
||||||
|
d="m 8.1085854,11.109059 2.7823556,2.782356"
|
||||||
|
style="fill:none;stroke:#C5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 804 B |
@@ -1,59 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg
|
<svg
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg2"
|
id="svg2"
|
||||||
width="20"
|
width="20"
|
||||||
height="19"
|
height="19"
|
||||||
viewBox="0 0 20 19"
|
viewBox="0 0 20 19"
|
||||||
sodipodi:docname="mag_sel.svg"
|
>
|
||||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
|
||||||
<metadata
|
|
||||||
id="metadata8">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
<defs
|
||||||
id="defs6" />
|
id="defs6" />
|
||||||
<sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="2096"
|
|
||||||
id="namedview4"
|
|
||||||
showgrid="false"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0"
|
|
||||||
inkscape:zoom="32"
|
|
||||||
inkscape:cx="5.9792688"
|
|
||||||
inkscape:cy="1.1436277"
|
|
||||||
inkscape:window-x="1920"
|
|
||||||
inkscape:window-y="27"
|
|
||||||
inkscape:window-maximized="0"
|
|
||||||
inkscape:current-layer="svg2" />
|
|
||||||
<circle
|
<circle
|
||||||
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
id="path4611"
|
id="path4611"
|
||||||
@@ -64,11 +22,10 @@
|
|||||||
style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
d="M 11,7 13.5,10 16,7 Z"
|
d="M 11,7 13.5,10 16,7 Z"
|
||||||
id="path4609"
|
id="path4609"
|
||||||
inkscape:connector-curvature="0"
|
/>
|
||||||
sodipodi:nodetypes="cccc" />
|
|
||||||
<path
|
<path
|
||||||
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
d="m 8.1085854,11.109059 2.7823556,2.782356"
|
d="m 8.1085854,11.109059 2.7823556,2.782356"
|
||||||
id="path4630"
|
id="path4630"
|
||||||
inkscape:connector-curvature="0" />
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1019 B |
31
doc/html/search/mag_seld.svg
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2"
|
||||||
|
width="20"
|
||||||
|
height="19"
|
||||||
|
viewBox="0 0 20 19"
|
||||||
|
>
|
||||||
|
<defs
|
||||||
|
id="defs6" />
|
||||||
|
<circle
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#c5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="path4611"
|
||||||
|
cx="5.5"
|
||||||
|
cy="8.5"
|
||||||
|
r="3.5" />
|
||||||
|
<path
|
||||||
|
style="fill:#c5C5C5;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 11,7 13.5,10 16,7 Z"
|
||||||
|
id="path4609"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#c5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 8.1085854,11.109059 2.7823556,2.782356"
|
||||||
|
id="path4630"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1019 B |
@@ -1,12 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,10 +1,33 @@
|
|||||||
/*---------------- Search Box */
|
/*---------------- Search Box positioning */
|
||||||
|
|
||||||
|
#main-menu > li:last-child {
|
||||||
|
/* This <li> object is the parent of the search bar */
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 36px;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------- Search box styling */
|
||||||
|
|
||||||
|
.SRPage * {
|
||||||
|
font-weight: normal;
|
||||||
|
line-height: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
dark-mode-toggle {
|
||||||
|
margin-left: 5px;
|
||||||
|
display: flex;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
#MSearchBox {
|
#MSearchBox {
|
||||||
|
display: inline-block;
|
||||||
white-space : nowrap;
|
white-space : nowrap;
|
||||||
background: white;
|
background: var(--search-background-color);
|
||||||
border-radius: 0.65em;
|
border-radius: 0.65em;
|
||||||
box-shadow: inset 0.5px 0.5px 3px 0px #555;
|
box-shadow: var(--search-box-shadow);
|
||||||
z-index: 102;
|
z-index: 102;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -17,28 +40,47 @@
|
|||||||
#MSearchSelect {
|
#MSearchSelect {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
height: 1.4em;
|
width: 20px;
|
||||||
padding: 0 0 0 0.3em;
|
height: 19px;
|
||||||
margin: 0;
|
background-image: var(--search-magnification-select-image);
|
||||||
|
margin: 0 0 0 0.3em;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#MSearchSelectExt {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 10px;
|
||||||
|
height: 19px;
|
||||||
|
background-image: var(--search-magnification-image);
|
||||||
|
margin: 0 0 0 0.5em;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#MSearchField {
|
#MSearchField {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
width: 7.5em;
|
width: 7.5em;
|
||||||
height: 1.1em;
|
height: 19px;
|
||||||
margin: 0 0.15em;
|
margin: 0 0.15em;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
line-height: 1em;
|
line-height: 1em;
|
||||||
border:none;
|
border:none;
|
||||||
color: #909090;
|
color: var(--search-foreground-color);
|
||||||
outline: none;
|
outline: none;
|
||||||
font-family: Arial, Verdana, sans-serif;
|
font-family: var(--font-family-search);
|
||||||
-webkit-border-radius: 0px;
|
-webkit-border-radius: 0px;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
background: none;
|
background: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media(hover: none) {
|
||||||
|
/* to avoid zooming on iOS */
|
||||||
|
#MSearchField {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#MSearchBox .right {
|
#MSearchBox .right {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -59,23 +101,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#MSearchCloseImg {
|
#MSearchCloseImg {
|
||||||
height: 1.4em;
|
|
||||||
padding: 0.3em;
|
padding: 0.3em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.MSearchBoxActive #MSearchField {
|
.MSearchBoxActive #MSearchField {
|
||||||
color: #000000;
|
color: var(--search-active-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
#main-menu > li:last-child {
|
|
||||||
/* This <li> object is the parent of the search bar */
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
height: 36px;
|
|
||||||
margin-right: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*---------------- Search filter selection */
|
/*---------------- Search filter selection */
|
||||||
|
|
||||||
@@ -83,8 +117,8 @@
|
|||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0; top: 0;
|
left: 0; top: 0;
|
||||||
border: 1px solid #90A5CE;
|
border: 1px solid var(--search-filter-border-color);
|
||||||
background-color: #F9FAFC;
|
background-color: var(--search-filter-background-color);
|
||||||
z-index: 10001;
|
z-index: 10001;
|
||||||
padding-top: 4px;
|
padding-top: 4px;
|
||||||
padding-bottom: 4px;
|
padding-bottom: 4px;
|
||||||
@@ -97,7 +131,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.SelectItem {
|
.SelectItem {
|
||||||
font: 8pt Arial, Verdana, sans-serif;
|
font: 8pt var(--font-family-search);
|
||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
padding-right: 12px;
|
padding-right: 12px;
|
||||||
border: 0px;
|
border: 0px;
|
||||||
@@ -105,7 +139,7 @@
|
|||||||
|
|
||||||
span.SelectionMark {
|
span.SelectionMark {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
font-family: monospace;
|
font-family: var(--font-family-monospace);
|
||||||
outline-style: none;
|
outline-style: none;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
@@ -113,7 +147,7 @@ span.SelectionMark {
|
|||||||
a.SelectItem {
|
a.SelectItem {
|
||||||
display: block;
|
display: block;
|
||||||
outline-style: none;
|
outline-style: none;
|
||||||
color: #000000;
|
color: var(--search-filter-foreground-color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
padding-left: 6px;
|
padding-left: 6px;
|
||||||
padding-right: 12px;
|
padding-right: 12px;
|
||||||
@@ -121,14 +155,14 @@ a.SelectItem {
|
|||||||
|
|
||||||
a.SelectItem:focus,
|
a.SelectItem:focus,
|
||||||
a.SelectItem:active {
|
a.SelectItem:active {
|
||||||
color: #000000;
|
color: var(--search-filter-foreground-color);
|
||||||
outline-style: none;
|
outline-style: none;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.SelectItem:hover {
|
a.SelectItem:hover {
|
||||||
color: #FFFFFF;
|
color: var(--search-filter-highlight-text-color);
|
||||||
background-color: #3D578C;
|
background-color: var(--search-filter-highlight-bg-color);
|
||||||
outline-style: none;
|
outline-style: none;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -138,7 +172,7 @@ a.SelectItem:hover {
|
|||||||
/*---------------- Search results window */
|
/*---------------- Search results window */
|
||||||
|
|
||||||
iframe#MSearchResults {
|
iframe#MSearchResults {
|
||||||
width: 60ex;
|
/*width: 60ex;*/
|
||||||
height: 15em;
|
height: 15em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,9 +180,12 @@ iframe#MSearchResults {
|
|||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0; top: 0;
|
left: 0; top: 0;
|
||||||
border: 1px solid #000;
|
border: 1px solid var(--search-results-border-color);
|
||||||
background-color: #EEF1F7;
|
background-color: var(--search-results-background-color);
|
||||||
z-index:10000;
|
z-index:10000;
|
||||||
|
width: 300px;
|
||||||
|
height: 400px;
|
||||||
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ----------------------------------- */
|
/* ----------------------------------- */
|
||||||
@@ -156,7 +193,6 @@ iframe#MSearchResults {
|
|||||||
|
|
||||||
#SRIndex {
|
#SRIndex {
|
||||||
clear:both;
|
clear:both;
|
||||||
padding-bottom: 15px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.SREntry {
|
.SREntry {
|
||||||
@@ -169,8 +205,9 @@ iframe#MSearchResults {
|
|||||||
padding: 1px 5px;
|
padding: 1px 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
body.SRPage {
|
div.SRPage {
|
||||||
margin: 5px 2px;
|
margin: 5px 2px;
|
||||||
|
background-color: var(--search-results-background-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.SRChildren {
|
.SRChildren {
|
||||||
@@ -183,16 +220,17 @@ body.SRPage {
|
|||||||
|
|
||||||
.SRSymbol {
|
.SRSymbol {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #425E97;
|
color: var(--search-results-foreground-color);
|
||||||
font-family: Arial, Verdana, sans-serif;
|
font-family: var(--font-family-search);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.SRScope {
|
a.SRScope {
|
||||||
display: block;
|
display: block;
|
||||||
color: #425E97;
|
color: var(--search-results-foreground-color);
|
||||||
font-family: Arial, Verdana, sans-serif;
|
font-family: var(--font-family-search);
|
||||||
|
font-size: 8pt;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
@@ -204,33 +242,31 @@ a.SRScope:focus, a.SRScope:active {
|
|||||||
|
|
||||||
span.SRScope {
|
span.SRScope {
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
|
font-family: var(--font-family-search);
|
||||||
}
|
}
|
||||||
|
|
||||||
.SRPage .SRStatus {
|
.SRPage .SRStatus {
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
font-size: 8pt;
|
font-size: 8pt;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
|
font-family: var(--font-family-search);
|
||||||
}
|
}
|
||||||
|
|
||||||
.SRResult {
|
.SRResult {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
DIV.searchresults {
|
div.searchresults {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------- External search page results */
|
/*---------------- External search page results */
|
||||||
|
|
||||||
.searchresult {
|
|
||||||
background-color: #F0F3F8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pages b {
|
.pages b {
|
||||||
color: white;
|
color: white;
|
||||||
padding: 5px 5px 3px 5px;
|
padding: 5px 5px 3px 5px;
|
||||||
background-image: url("../tab_a.png");
|
background-image: var(--nav-gradient-active-image-parent);
|
||||||
background-repeat: repeat-x;
|
background-repeat: repeat-x;
|
||||||
text-shadow: 0 1px 1px #000000;
|
text-shadow: 0 1px 1px #000000;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,6 +73,8 @@ function getYPos(item)
|
|||||||
return y;
|
return y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var searchResults = new SearchResults("searchResults");
|
||||||
|
|
||||||
/* A class handling everything associated with the search panel.
|
/* A class handling everything associated with the search panel.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
@@ -80,9 +82,10 @@ function getYPos(item)
|
|||||||
storing this instance. Is needed to be able to set timeouts.
|
storing this instance. Is needed to be able to set timeouts.
|
||||||
resultPath - path to use for external files
|
resultPath - path to use for external files
|
||||||
*/
|
*/
|
||||||
function SearchBox(name, resultsPath, inFrame, label)
|
function SearchBox(name, resultsPath, extension)
|
||||||
{
|
{
|
||||||
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
|
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
|
||||||
|
if (!extension || extension == "") { extension = ".html"; }
|
||||||
|
|
||||||
// ---------- Instance variables
|
// ---------- Instance variables
|
||||||
this.name = name;
|
this.name = name;
|
||||||
@@ -95,8 +98,7 @@ function SearchBox(name, resultsPath, inFrame, label)
|
|||||||
this.hideTimeout = 0;
|
this.hideTimeout = 0;
|
||||||
this.searchIndex = 0;
|
this.searchIndex = 0;
|
||||||
this.searchActive = false;
|
this.searchActive = false;
|
||||||
this.insideFrame = inFrame;
|
this.extension = extension;
|
||||||
this.searchLabel = label;
|
|
||||||
|
|
||||||
// ----------- DOM Elements
|
// ----------- DOM Elements
|
||||||
|
|
||||||
@@ -134,30 +136,14 @@ function SearchBox(name, resultsPath, inFrame, label)
|
|||||||
var searchSelectWindow = this.DOMSearchSelectWindow();
|
var searchSelectWindow = this.DOMSearchSelectWindow();
|
||||||
var searchField = this.DOMSearchSelect();
|
var searchField = this.DOMSearchSelect();
|
||||||
|
|
||||||
if (this.insideFrame)
|
var left = getXPos(searchField);
|
||||||
{
|
var top = getYPos(searchField);
|
||||||
var left = getXPos(searchField);
|
top += searchField.offsetHeight;
|
||||||
var top = getYPos(searchField);
|
|
||||||
left += searchField.offsetWidth + 6;
|
|
||||||
top += searchField.offsetHeight;
|
|
||||||
|
|
||||||
// show search selection popup
|
// show search selection popup
|
||||||
searchSelectWindow.style.display='block';
|
searchSelectWindow.style.display='block';
|
||||||
left -= searchSelectWindow.offsetWidth;
|
searchSelectWindow.style.left = left + 'px';
|
||||||
searchSelectWindow.style.left = left + 'px';
|
searchSelectWindow.style.top = top + 'px';
|
||||||
searchSelectWindow.style.top = top + 'px';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var left = getXPos(searchField);
|
|
||||||
var top = getYPos(searchField);
|
|
||||||
top += searchField.offsetHeight;
|
|
||||||
|
|
||||||
// show search selection popup
|
|
||||||
searchSelectWindow.style.display='block';
|
|
||||||
searchSelectWindow.style.left = left + 'px';
|
|
||||||
searchSelectWindow.style.top = top + 'px';
|
|
||||||
}
|
|
||||||
|
|
||||||
// stop selection hide timer
|
// stop selection hide timer
|
||||||
if (this.hideTimeout)
|
if (this.hideTimeout)
|
||||||
@@ -170,7 +156,7 @@ function SearchBox(name, resultsPath, inFrame, label)
|
|||||||
|
|
||||||
this.OnSearchSelectHide = function()
|
this.OnSearchSelectHide = function()
|
||||||
{
|
{
|
||||||
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
|
this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this),
|
||||||
this.closeSelectionTimeout);
|
this.closeSelectionTimeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,11 +189,13 @@ function SearchBox(name, resultsPath, inFrame, label)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
window.frames.MSearchResults.postMessage("take_focus", "*");
|
var elem = searchResults.NavNext(0);
|
||||||
|
if (elem) elem.focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (e.keyCode==27) // Escape out of the search field
|
else if (e.keyCode==27) // Escape out of the search field
|
||||||
{
|
{
|
||||||
|
e.stopPropagation();
|
||||||
this.DOMSearchField().blur();
|
this.DOMSearchField().blur();
|
||||||
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
||||||
this.DOMSearchClose().style.display = 'none';
|
this.DOMSearchClose().style.display = 'none';
|
||||||
@@ -224,7 +212,7 @@ function SearchBox(name, resultsPath, inFrame, label)
|
|||||||
if (searchValue != "") // non-empty search
|
if (searchValue != "") // non-empty search
|
||||||
{
|
{
|
||||||
// set timer for search update
|
// set timer for search update
|
||||||
this.keyTimeout = setTimeout(this.name + '.Search()',
|
this.keyTimeout = setTimeout(this.Search.bind(this),
|
||||||
this.keyTimeoutLength);
|
this.keyTimeoutLength);
|
||||||
}
|
}
|
||||||
else // empty search field
|
else // empty search field
|
||||||
@@ -302,6 +290,7 @@ function SearchBox(name, resultsPath, inFrame, label)
|
|||||||
}
|
}
|
||||||
else if (e.keyCode==13 || e.keyCode==27)
|
else if (e.keyCode==13 || e.keyCode==27)
|
||||||
{
|
{
|
||||||
|
e.stopPropagation();
|
||||||
this.OnSelectItem(this.searchIndex);
|
this.OnSelectItem(this.searchIndex);
|
||||||
this.CloseSelectionWindow();
|
this.CloseSelectionWindow();
|
||||||
this.DOMSearchField().focus();
|
this.DOMSearchField().focus();
|
||||||
@@ -339,55 +328,70 @@ function SearchBox(name, resultsPath, inFrame, label)
|
|||||||
idxChar = searchValue.substr(0, 2);
|
idxChar = searchValue.substr(0, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
var resultsPage;
|
var jsFile;
|
||||||
var resultsPageWithSearch;
|
|
||||||
var hasResultsPage;
|
|
||||||
|
|
||||||
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
|
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
|
||||||
if (idx!=-1)
|
if (idx!=-1)
|
||||||
{
|
{
|
||||||
var hexCode=idx.toString(16);
|
var hexCode=idx.toString(16);
|
||||||
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
|
jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js';
|
||||||
resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
|
}
|
||||||
hasResultsPage = true;
|
|
||||||
}
|
var loadJS = function(url, impl, loc){
|
||||||
else // nothing available for this search term
|
var scriptTag = document.createElement('script');
|
||||||
{
|
scriptTag.src = url;
|
||||||
resultsPage = this.resultsPath + '/nomatches.html';
|
scriptTag.onload = impl;
|
||||||
resultsPageWithSearch = resultsPage;
|
scriptTag.onreadystatechange = impl;
|
||||||
hasResultsPage = false;
|
loc.appendChild(scriptTag);
|
||||||
}
|
}
|
||||||
|
|
||||||
window.frames.MSearchResults.location = resultsPageWithSearch;
|
|
||||||
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
|
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
|
||||||
|
var domSearchBox = this.DOMSearchBox();
|
||||||
|
var domPopupSearchResults = this.DOMPopupSearchResults();
|
||||||
|
var domSearchClose = this.DOMSearchClose();
|
||||||
|
var resultsPath = this.resultsPath;
|
||||||
|
|
||||||
if (domPopupSearchResultsWindow.style.display!='block')
|
var handleResults = function() {
|
||||||
{
|
document.getElementById("Loading").style.display="none";
|
||||||
var domSearchBox = this.DOMSearchBox();
|
if (typeof searchData !== 'undefined') {
|
||||||
this.DOMSearchClose().style.display = 'inline-block';
|
createResults(resultsPath);
|
||||||
if (this.insideFrame)
|
document.getElementById("NoMatches").style.display="none";
|
||||||
{
|
}
|
||||||
var domPopupSearchResults = this.DOMPopupSearchResults();
|
|
||||||
domPopupSearchResultsWindow.style.position = 'relative';
|
if (idx!=-1) {
|
||||||
domPopupSearchResultsWindow.style.display = 'block';
|
searchResults.Search(searchValue);
|
||||||
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
|
} else { // no file with search results => force empty search results
|
||||||
domPopupSearchResultsWindow.style.width = width + 'px';
|
searchResults.Search('====');
|
||||||
domPopupSearchResults.style.width = width + 'px';
|
}
|
||||||
}
|
|
||||||
else
|
if (domPopupSearchResultsWindow.style.display!='block')
|
||||||
{
|
{
|
||||||
var domPopupSearchResults = this.DOMPopupSearchResults();
|
domSearchClose.style.display = 'inline-block';
|
||||||
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
|
var left = getXPos(domSearchBox) + 150;
|
||||||
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
|
var top = getYPos(domSearchBox) + 20;
|
||||||
domPopupSearchResultsWindow.style.display = 'block';
|
domPopupSearchResultsWindow.style.display = 'block';
|
||||||
left -= domPopupSearchResults.offsetWidth;
|
left -= domPopupSearchResults.offsetWidth;
|
||||||
domPopupSearchResultsWindow.style.top = top + 'px';
|
var maxWidth = document.body.clientWidth;
|
||||||
domPopupSearchResultsWindow.style.left = left + 'px';
|
var maxHeight = document.body.clientHeight;
|
||||||
}
|
var width = 300;
|
||||||
|
if (left<10) left=10;
|
||||||
|
if (width+left+8>maxWidth) width=maxWidth-left-8;
|
||||||
|
var height = 400;
|
||||||
|
if (height+top+8>maxHeight) height=maxHeight-top-8;
|
||||||
|
domPopupSearchResultsWindow.style.top = top + 'px';
|
||||||
|
domPopupSearchResultsWindow.style.left = left + 'px';
|
||||||
|
domPopupSearchResultsWindow.style.width = width + 'px';
|
||||||
|
domPopupSearchResultsWindow.style.height = height + 'px';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jsFile) {
|
||||||
|
loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow());
|
||||||
|
} else {
|
||||||
|
handleResults();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.lastSearchValue = searchValue;
|
this.lastSearchValue = searchValue;
|
||||||
this.lastResultsPage = resultsPage;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------- Activation Functions
|
// -------- Activation Functions
|
||||||
@@ -401,22 +405,15 @@ function SearchBox(name, resultsPath, inFrame, label)
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.DOMSearchBox().className = 'MSearchBoxActive';
|
this.DOMSearchBox().className = 'MSearchBoxActive';
|
||||||
|
this.searchActive = true;
|
||||||
var searchField = this.DOMSearchField();
|
|
||||||
|
|
||||||
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
|
|
||||||
{
|
|
||||||
searchField.value = '';
|
|
||||||
this.searchActive = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (!isActive) // directly remove the panel
|
else if (!isActive) // directly remove the panel
|
||||||
{
|
{
|
||||||
this.DOMSearchBox().className = 'MSearchBoxInactive';
|
this.DOMSearchBox().className = 'MSearchBoxInactive';
|
||||||
this.DOMSearchField().value = this.searchLabel;
|
|
||||||
this.searchActive = false;
|
this.searchActive = false;
|
||||||
this.lastSearchValue = ''
|
this.lastSearchValue = ''
|
||||||
this.lastResultsPage = '';
|
this.lastResultsPage = '';
|
||||||
|
this.DOMSearchField().value = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -439,12 +436,12 @@ function SearchResults(name)
|
|||||||
|
|
||||||
while (element && element!=parentElement)
|
while (element && element!=parentElement)
|
||||||
{
|
{
|
||||||
if (element.nodeName == 'DIV' && element.className == 'SRChildren')
|
if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
|
||||||
{
|
{
|
||||||
return element;
|
return element;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (element.nodeName == 'DIV' && element.hasChildNodes())
|
if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
|
||||||
{
|
{
|
||||||
element = element.firstChild;
|
element = element.firstChild;
|
||||||
}
|
}
|
||||||
@@ -645,7 +642,7 @@ function SearchResults(name)
|
|||||||
}
|
}
|
||||||
else // return focus to search field
|
else // return focus to search field
|
||||||
{
|
{
|
||||||
parent.document.getElementById("MSearchField").focus();
|
document.getElementById("MSearchField").focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (this.lastKey==40) // Down
|
else if (this.lastKey==40) // Down
|
||||||
@@ -675,8 +672,9 @@ function SearchResults(name)
|
|||||||
}
|
}
|
||||||
else if (this.lastKey==27) // Escape
|
else if (this.lastKey==27) // Escape
|
||||||
{
|
{
|
||||||
parent.searchBox.CloseResultsWindow();
|
e.stopPropagation();
|
||||||
parent.document.getElementById("MSearchField").focus();
|
searchBox.CloseResultsWindow();
|
||||||
|
document.getElementById("MSearchField").focus();
|
||||||
}
|
}
|
||||||
else if (this.lastKey==13) // Enter
|
else if (this.lastKey==13) // Enter
|
||||||
{
|
{
|
||||||
@@ -718,8 +716,9 @@ function SearchResults(name)
|
|||||||
}
|
}
|
||||||
else if (this.lastKey==27) // Escape
|
else if (this.lastKey==27) // Escape
|
||||||
{
|
{
|
||||||
parent.searchBox.CloseResultsWindow();
|
e.stopPropagation();
|
||||||
parent.document.getElementById("MSearchField").focus();
|
searchBox.CloseResultsWindow();
|
||||||
|
document.getElementById("MSearchField").focus();
|
||||||
}
|
}
|
||||||
else if (this.lastKey==13) // Enter
|
else if (this.lastKey==13) // Enter
|
||||||
{
|
{
|
||||||
@@ -742,9 +741,10 @@ function setClassAttr(elem,attr)
|
|||||||
elem.setAttribute('className',attr);
|
elem.setAttribute('className',attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
function createResults()
|
function createResults(resultsPath)
|
||||||
{
|
{
|
||||||
var results = document.getElementById("SRResults");
|
var results = document.getElementById("SRResults");
|
||||||
|
results.innerHTML = '';
|
||||||
for (var e=0; e<searchData.length; e++)
|
for (var e=0; e<searchData.length; e++)
|
||||||
{
|
{
|
||||||
var id = searchData[e][0];
|
var id = searchData[e][0];
|
||||||
@@ -761,11 +761,16 @@ function createResults()
|
|||||||
srEntry.appendChild(srLink);
|
srEntry.appendChild(srLink);
|
||||||
if (searchData[e][1].length==2) // single result
|
if (searchData[e][1].length==2) // single result
|
||||||
{
|
{
|
||||||
srLink.setAttribute('href',searchData[e][1][1][0]);
|
srLink.setAttribute('href',resultsPath+searchData[e][1][1][0]);
|
||||||
|
srLink.setAttribute('onclick','searchBox.CloseResultsWindow()');
|
||||||
if (searchData[e][1][1][1])
|
if (searchData[e][1][1][1])
|
||||||
{
|
{
|
||||||
srLink.setAttribute('target','_parent');
|
srLink.setAttribute('target','_parent');
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
srLink.setAttribute('target','_blank');
|
||||||
|
}
|
||||||
var srScope = document.createElement('span');
|
var srScope = document.createElement('span');
|
||||||
setClassAttr(srScope,'SRScope');
|
setClassAttr(srScope,'SRScope');
|
||||||
srScope.innerHTML = searchData[e][1][1][2];
|
srScope.innerHTML = searchData[e][1][1][2];
|
||||||
@@ -782,11 +787,16 @@ function createResults()
|
|||||||
srChild.setAttribute('id','Item'+e+'_c'+c);
|
srChild.setAttribute('id','Item'+e+'_c'+c);
|
||||||
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
|
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
|
||||||
setClassAttr(srChild,'SRScope');
|
setClassAttr(srChild,'SRScope');
|
||||||
srChild.setAttribute('href',searchData[e][1][c+1][0]);
|
srChild.setAttribute('href',resultsPath+searchData[e][1][c+1][0]);
|
||||||
|
srChild.setAttribute('onclick','searchBox.CloseResultsWindow()');
|
||||||
if (searchData[e][1][c+1][1])
|
if (searchData[e][1][c+1][1])
|
||||||
{
|
{
|
||||||
srChild.setAttribute('target','_parent');
|
srChild.setAttribute('target','_parent');
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
srChild.setAttribute('target','_blank');
|
||||||
|
}
|
||||||
srChild.innerHTML = searchData[e][1][c+1][2];
|
srChild.innerHTML = searchData[e][1][c+1][2];
|
||||||
srChildren.appendChild(srChild);
|
srChildren.appendChild(srChild);
|
||||||
}
|
}
|
||||||
@@ -800,6 +810,7 @@ function createResults()
|
|||||||
function init_search()
|
function init_search()
|
||||||
{
|
{
|
||||||
var results = document.getElementById("MSearchSelectWindow");
|
var results = document.getElementById("MSearchSelectWindow");
|
||||||
|
results.tabIndex=0;
|
||||||
for (var key in indexSectionLabels)
|
for (var key in indexSectionLabels)
|
||||||
{
|
{
|
||||||
var link = document.createElement('a');
|
var link = document.createElement('a');
|
||||||
@@ -810,5 +821,20 @@ function init_search()
|
|||||||
results.appendChild(link);
|
results.appendChild(link);
|
||||||
}
|
}
|
||||||
searchBox.OnSelectItem(0);
|
searchBox.OnSelectItem(0);
|
||||||
|
|
||||||
|
var input = document.getElementById("MSearchSelect");
|
||||||
|
var searchSelectWindow = document.getElementById("MSearchSelectWindow");
|
||||||
|
input.tabIndex=0;
|
||||||
|
input.addEventListener("keydown", function(event) {
|
||||||
|
if (event.keyCode==13 || event.keyCode==40) {
|
||||||
|
event.preventDefault();
|
||||||
|
if (searchSelectWindow.style.display == 'block') {
|
||||||
|
searchBox.CloseSelectionWindow();
|
||||||
|
} else {
|
||||||
|
searchBox.OnSearchSelectShow();
|
||||||
|
searchBox.DOMSearchSelectWindow().focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/* @license-end */
|
/* @license-end */
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 567 B |
|
Before Width: | Height: | Size: 158 B |
|
Before Width: | Height: | Size: 553 B |
@@ -1,6 +1,6 @@
|
|||||||
var indexSectionsWithContent =
|
var indexSectionsWithContent =
|
||||||
{
|
{
|
||||||
0: "cdhnortwxy",
|
0: "cdfhinortwxy",
|
||||||
1: "t",
|
1: "t",
|
||||||
2: "t",
|
2: "t",
|
||||||
3: "cdhnortwxy",
|
3: "cdhnortwxy",
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="typedefs_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tjhandle_210',['tjhandle',['../group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763',1,'turbojpeg.h']]],
|
['tjhandle_0',['tjhandle',['../group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763',1,'turbojpeg.h']]],
|
||||||
['tjtransform_211',['tjtransform',['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'turbojpeg.h']]]
|
['tjtransform_1',['tjtransform',['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'turbojpeg.h']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="variables_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['customfilter_190',['customFilter',['../structtjtransform.html#a0dc7697d59a7abe48afc629e96cbc1d2',1,'tjtransform']]]
|
['customfilter_0',['customFilter',['../structtjtransform.html#a0dc7697d59a7abe48afc629e96cbc1d2',1,'tjtransform']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="variables_1.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['data_191',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]],
|
['data_0',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]],
|
||||||
['denom_192',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]]
|
['denom_1',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="variables_2.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['h_193',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]]
|
['h_0',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="variables_3.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['num_194',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]]
|
['num_0',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="variables_4.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
createResults();
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
window.addEventListener("message", function(event) {
|
|
||||||
if (event.data == "take_focus") {
|
|
||||||
var elem = searchResults.NavNext(0);
|
|
||||||
if (elem) elem.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* @license-end */
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||