yafr fixes

This commit is contained in:
John Cupitt 2008-10-23 12:33:04 +00:00
parent 841f115324
commit dfd9d831eb
4 changed files with 15 additions and 6 deletions

View File

@ -2,6 +2,8 @@
- merge vips-7.16 brach back into trunk - merge vips-7.16 brach back into trunk
- bumped version number to 7.17.0 - bumped version number to 7.17.0
- re-added type.[hc] - re-added type.[hc]
- added vipsinterpolate and im_affinei
- added yafr-smooth interpolation
11/9/08 started 7.16.3 11/9/08 started 7.16.3
- oop typo in manpage for im_project() - oop typo in manpage for im_project()

2
TODO
View File

@ -6,8 +6,6 @@
- build nip2 - build nip2
- test im_affinei
- check mosaic1, global_balance, similarity etc. use of im__affine - check mosaic1, global_balance, similarity etc. use of im__affine
how can we move them to im_affinei ? how can we move them to im_affinei ?

View File

@ -27,8 +27,8 @@
*/ */
#ifndef VIPS_INTERPOLATE_H #ifndef VIPS_YAFR_H
#define VIPS_INTERPOLATE_H #define VIPS_YAFR_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -102,5 +102,5 @@ VipsInterpolate *vips_interpolate_yafr_static( void );
} }
#endif /*__cplusplus*/ #endif /*__cplusplus*/
#endif /*VIPS_INTERPOLATE_H*/ #endif /*VIPS_YAFR_H*/

View File

@ -55,6 +55,15 @@ static VipsInterpolateClass *vips_interpolate_yafr_parent_class = NULL;
/* Copy-paste of gegl-sampler-yafr-smooth.c starts /* Copy-paste of gegl-sampler-yafr-smooth.c starts
*/ */
/*
* 2008 (c) Nicolas Robidoux (developer of Yet Another Fast
* Resampler).
*
* Acknowledgement: N. Robidoux's research on YAFR funded in part by
* an NSERC (National Science and Engineering Research Council of
* Canada) Discovery Grant.
*/
#ifndef restrict #ifndef restrict
#ifdef __restrict #ifdef __restrict
#define restrict __restrict #define restrict __restrict
@ -566,7 +575,7 @@ vips_interpolate_yafr_interpolate( VipsInterpolate *interpolate,
*/ */
const int channels = in->im->Bands; const int channels = in->im->Bands;
const int pixels_per_buffer_row = const int pixels_per_buffer_row =
IM_REGION_LSKIP( in ) / sizeof( float ); IM_REGION_LSKIP( in ) / (sizeof( float ) * channels);
/* Where we write the result. /* Where we write the result.
*/ */