Some clarifications (actually MIPS doesn't implement the float DCT/IDCT using SIMD instructions)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1517 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
DRC
2015-01-16 07:16:53 +00:00
parent 3af282df3c
commit c60d662ee4
2 changed files with 10 additions and 11 deletions

View File

@@ -440,17 +440,18 @@ endif
# The output of the floating point tests is not validated by default, because # The output of the floating point tests is not validated by default, because
# the output differs depending on the type of floating point math used, and # the output differs depending on the type of floating point math used, and
# this is only deterministic if there is full SIMD coverage of all of the # this is only deterministic if the DCT/IDCT are implemented using SIMD
# floating point algorithms in libjpeg-turbo. Pass one of the following on the # instructions on a particular platform. Pass one of the following on the make
# make command line to validate the floating point tests against one of the # command line to validate the floating point tests against one of the expected # results:
# expected results:
# #
# FLOATTEST=sse validate against the expected results from the libjpeg-turbo # FLOATTEST=sse validate against the expected results from the libjpeg-turbo
# SSE SIMD extensions # SSE SIMD extensions
# FLOATTEST=32bit validate against the expected results from the MIPS DSPr2 # FLOATTEST=32bit validate against the expected results from the C code
# SIMD extensions or 32-bit FPUs or GCC when -mfpmath=sse is # when running on a 32-bit FPU (or when SSE is being used for
# used (which is the default on x86-64 systems) # floating point math, which is generally the default with
# FLOATTEST=64bit validate against the exepected results from 64-bit FPUs # x86-64 compilers)
# FLOATTEST=64bit validate against the exepected results from the C code
# when running on a 64-bit FPU
# CC: RGB->YCC SAMP: fullsize/int FDCT: float ENT: prog huff # CC: RGB->YCC SAMP: fullsize/int FDCT: float ENT: prog huff
./cjpeg -sample 3x2 -dct float -prog -outfile testout_3x2_float_prog.jpg $(srcdir)/testimages/testorig.ppm ./cjpeg -sample 3x2 -dct float -prog -outfile testout_3x2_float_prog.jpg $(srcdir)/testimages/testorig.ppm

View File

@@ -313,9 +313,7 @@ following reasons:
range of the quality scale is typically more like a 1.0 dB difference.) 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 -- If the floating point algorithms in libjpeg-turbo are not implemented using
SIMD instructions on a particular platform, then the accuracy of the SIMD instructions on a particular platform, then the accuracy of the
floating point DCT/IDCT can depend on the compiler settings. For instance, floating point DCT/IDCT can depend on the compiler settings.
different results will be obtained when using -mfpmath=387 or -mfpmath=sse
with GCC on x86 systems.
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