Sean Barrett
							
						 
						
							 
							
							
							
								
							
								85c39da625 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'rc/const' of  https://github.com/ronnychevalier/stb  into working  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Ronny Chevalier
							
						 
						
							 
							
							
							
								
							
								2119c17ae9 
								
							
								 
							
						 
						
							
							
								
								stb_vorbis: fix unused variables  
							
							 
							
							... 
							
							
 
							
							Conflicts:
	stb_vorbis.c 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Sean Barrett
							
						 
						
							 
							
							
							
								
							
								260741ed33 
								
							
								 
							
						 
						
							
							
								
								vorbis warnings from ronny chevalier  
							
							 
							
							... 
							
							
 
							
							I manually made these changes because they
disabled some substantial amounts of code,
and I wanted to make sure this wasn't due to
original code having bugs or deviating from
the specification 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Ronny Chevalier
							
						 
						
							 
							
							
							
								
							
								758c165d2c 
								
							
								 
							
						 
						
							
							
								
								stb_vorbis: fix unused functions  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Ronny Chevalier
							
						 
						
							 
							
							
							
								
							
								b8b6e7c31a 
								
							
								 
							
						 
						
							
							
								
								stb_image: fix unused parameter  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Ronny Chevalier
							
						 
						
							 
							
							
							
								
							
								422e29017c 
								
							
								 
							
						 
						
							
							
								
								stb_vorbis: fix signed/unsigned comparison  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Ronny Chevalier
							
						 
						
							 
							
							
							
								
							
								893ef013b2 
								
							
								 
							
						 
						
							
							
								
								stb_image: fix undefined preprocessor definition  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Ronny Chevalier
							
						 
						
							 
							
							
							
								
							
								c28e92e856 
								
							
								 
							
						 
						
							
							
								
								stb_vorbis: use const char* when appropriate  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								e05ebdbf1e 
								
							
								 
							
						 
						
							
							
								
								My guess is people who care about premultiply also care about color space.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								d75488b0e8 
								
							
								 
							
						 
						
							
							
								
								Do the multiply inline, it should be a tad faster and not corrupt our data.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								13acfca829 
								
							
								 
							
						 
						
							
							
								
								I had the whole premultiply thing backwards.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								21c7c8f5d9 
								
							
								 
							
						 
						
							
							
								
								Another stab at the api, offering classes of functions for different common tasks.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								8063ea0952 
								
							
								 
							
						 
						
							
							
								
								Specify a channel as having premultiplied alpha and use it to un-premultiply all other channels before resampling.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								a32fa8b4df 
								
							
								 
							
						 
						
							
							
								
								This to-do item done.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								daf325dc03 
								
							
								 
							
						 
						
							
							
								
								Sub pixel source area test cases. No problems.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								aae1c7ca41 
								
							
								 
							
						 
						
							
							
								
								ZOOM AND ENHANCE!  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								1b2d104e00 
								
							
								 
							
						 
						
							
							
								
								Some error conditions.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								35cb95b803 
								
							
								 
							
						 
						
							
							
								
								Allow for specifying a sub-region of the source image to use. Downsampling only, currently.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								52ac93225a 
								
							
								 
							
						 
						
							
							
								
								C<99 ports  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								fdc979e48b 
								
							
								 
							
						 
						
							
							
								
								Some minor ports for Linux. No idea how it worked at all in Windows with STB_RESIZE_IMPLEMENTATION instead of STB_RESAMPLE_IMPLEMENTATION.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								c5de2f3298 
								
							
								 
							
						 
						
							
							
								
								Test channels.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								985ac75251 
								
							
								 
							
						 
						
							
							
								
								When doing a perfect po2 nearest neighbor downsample don't allow -0.5 and 0.5 to both contribute to a texel or you'll get a double tap.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								c2449acc3e 
								
							
								 
							
						 
						
							
							
								
								Tests for edge behavior  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								59cb71ea18 
								
							
								 
							
						 
						
							
							
								
								Fix float conversion.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								6625259959 
								
							
								 
							
						 
						
							
							
								
								Try to keep integer precision by briefly casting to double while decoding and encoding.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								11897fbf96 
								
							
								 
							
						 
						
							
							
								
								More fixing shorts.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								1fcbe0daaf 
								
							
								 
							
						 
						
							
							
								
								Fix shorts. Add test cases for shorts.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								7ead9a748d 
								
							
								 
							
						 
						
							
							
								
								Fix. Ring buffers are a height value.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								043fa28c11 
								
							
								 
							
						 
						
							
							
								
								Same deal with height.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								ebe0473d8b 
								
							
								 
							
						 
						
							
							
								
								Add a test suite to do a bunch of different resizes to find problems. One problem found was an incorrect calculation of texel support how many margin texels needed when downsampling. When downsampling we need to spread out the support of each contributing texel, so to compensate you need more margin texels.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								68f93b72d5 
								
							
								 
							
						 
						
							
							
								
								Update documentation and add helper functions.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								5b40906271 
								
							
								 
							
						 
						
							
							
								
								My perf testing code.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								d96c97298c 
								
							
								 
							
						 
						
							
							
								
								This is still faster than the function pointer solution, and neater.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								3a3e06029e 
								
							
								 
							
						 
						
							
							
								
								This is definitely faster than the function pointer solution.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								9bd5abb52d 
								
							
								 
							
						 
						
							
							
								
								Both versions run within the margin of error on my machine so we'll go with the simpler one.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								5dff80ed31 
								
							
								 
							
						 
						
							
							
								
								Trying some different strategies for optimizing the decoder. The code in #ifdef 1 is slightly faster by my measurements, but a whole lot uglier.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								05f775e977 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of  https://github.com/BSVino/stb  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								1fcf30ada0 
								
							
								 
							
						 
						
							
							
								
								Fix a math error.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								e2ac4f6505 
								
							
								 
							
						 
						
							
							
								
								More resample ideas  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								ef3a460ec4 
								
							
								 
							
						 
						
							
							
								
								Some better looking horners save another multiplication.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								7d47582578 
								
							
								 
							
						 
						
							
							
								
								Support for 16 and 32 bit integer images, and float images.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								6c8cac0a66 
								
							
								 
							
						 
						
							
							
								
								Support for sRGB color space.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								41dc4c476c 
								
							
								 
							
						 
						
							
							
								
								In some situations with certain filter kernels with negative values it's possible to generate valid results > 1.0, so saturate it before we write it to make sure it doesn't overflow. Also fix incorrect filter radius while downsampling.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								af1ed58f51 
								
							
								 
							
						 
						
							
							
								
								Add wrap, fix reflect so it doesn't wrap.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								8723567439 
								
							
								 
							
						 
						
							
							
								
								Add edge reflect mode.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								6cd81d4dd5 
								
							
								 
							
						 
						
							
							
								
								Put the polynomials in horner form to save a multiplication.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								fb2f8df5cc 
								
							
								 
							
						 
						
							
							
								
								Add mitchell filter.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								69af963c42 
								
							
								 
							
						 
						
							
							
								
								Add catmull rom filter. Also, move the debug asserts for values <= 1 to the very end of the process. This will make these bugs a lot harder to find, but because some filter kernels have negative values it's possible for the buffers to have values > 1 up until the point where it's converted back to an int.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								12acf87eec 
								
							
								 
							
						 
						
							
							
								
								When downsampling start the buffer loop at -filter_texel_margin to make sure that all contributors get their taps in at the ring buffer.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)  
						
					 
				
					
						
							
							
								 
								Jorge Rodriguez
							
						 
						
							 
							
							
							
								
							
								155c71fb90 
								
							
								 
							
						 
						
							
							
								
								Reorder these loops because I think we get a cache win if we write the entire ring buffer entry at once.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=11 years)