Skip to content
Snippets Groups Projects
  1. Apr 10, 2024
  2. Feb 13, 2024
  3. Feb 08, 2024
  4. Feb 04, 2024
  5. Dec 14, 2023
    • Sean Barrett's avatar
      README.md: tweak credits · f4a71b13
      Sean Barrett authored
      f4a71b13
    • Sean Barrett's avatar
      update readme version numbers · a8a25e17
      Sean Barrett authored
      a8a25e17
    • Sean Barrett's avatar
      stb_image: optimizations · 0bc88af4
      Sean Barrett authored
      0bc88af4
    • Sean Barrett's avatar
      stb_image_resize2: remove whitespace · 0ca75da4
      Sean Barrett authored
      0ca75da4
    • Sean Barrett's avatar
      stb_image_resize: 2.04 · 9d924f8a
      Sean Barrett authored
      9d924f8a
    • Fabian Giesen's avatar
      stb_image: create_png_image_raw restructuring · 4da08a1d
      Fabian Giesen authored
      Allocate filter_buf for two scan lines that we do all the filter
      processing in, then do all other conversions (bit depth,
      endianness, inserting alpha=255 values) on the way out.
      
      Separating the two concerns makes everything much clearer.
      4da08a1d
    • Fabian Giesen's avatar
      stb_image: Two warning fixes · c6d7c32e
      Fabian Giesen authored
      c6d7c32e
    • Fabian Giesen's avatar
      stb_image: New Paeth filter · 07268cbf
      Fabian Giesen authored
      This formulation is equivalent to the original (reference)
      implementation but runs _significantly_ faster - this speeds up
      the filtering portion of a Paeth-heavy 8192x8192 16-bit/channel
      image by a factor of more than 2 on a Zen2 CPU.
      
      I'm investigating doing a more thorough restructuring of this pass,
      but this seems like a good first step.
      07268cbf
    • Fabian Giesen's avatar
      tests: test_png_regress · ed643334
      Fabian Giesen authored
      I want to make some changes to the PNG loader, this is to get some
      test coverage at least to make it easier not to break anything.
      
      The two ref_results files that are "corrupt" files that stb_image
      nevertheless loads without error are checksum failures; this is
      by design, since stb_image does not verify checksums.
      ed643334
    • Fabian Giesen's avatar
      45eb4ac1
    • Fabian Giesen's avatar
      stb_image: Small PNG filter simplification · e5f0e18d
      Fabian Giesen authored
      Paeth on the first scanline is not a separate filter, it
      happens to be equivalent to the "sub" filter which is already
      an option.
      e5f0e18d
    • Fabian Giesen's avatar
      stb_image: Fix zlib decoder end-of-stream handling · d3736741
      Fabian Giesen authored
      We speculatively try to fill our bit buffer to always contain
      at least 16 bits for stbi__zhuffman_decode. It's not a sign of
      a malformed stream for us to be reading past the end there,
      because the contents of that bit buffer are speculative; it's
      only a malformed stream if we actually _consume_ the extra bits.
      
      This fix adds some extra logic where we the first time we hit
      zeof, we add an explicit 16 extra zero bits at the top of the
      bit buffer just so that for the purposes of the decoder, we have
      16 bits in the buffer.
      
      However, if at the end of stream, we have the "hit zeof once"
      flag set and less than 16 bits remaining in the bit buffer, we
      know some of those implicit zero bits got read, which indicates
      we actually had a past-end-of-stream read. In that case, flag
      it as an error.
      
      While I'm in here, also rephrase the length-too-large check to
      not do any potentially-overflowing pointer arithmetic.
      
      Fixes issue #1456.
      d3736741
  6. Nov 15, 2023
  7. Oct 12, 2023
  8. Oct 10, 2023
  9. Jan 29, 2023
  10. Jan 23, 2023
  11. Jan 22, 2023
Loading