diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-05-07 19:18:04 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-05-07 19:18:04 +0400 |
commit | 008863daec1249d1f17bc69e1105e336db690d63 (patch) | |
tree | 78a4001857b26a287125a3f5fa31496052f6ebdd /source/blender/imbuf/intern/divers.c | |
parent | 1613829e8e821321da99cad4790b7e6a1d90cea8 (diff) |
Merge image related changes from the render branch. This includes the image
tile cache code in imbuf, but it is not hooked up to the render engine.
Imbuf module: some small refactoring and removing a lot of unused or old code
(about 6.5k lines).
* Added a ImFileType struct with callbacks to make adding an file format type,
or making changes to the API easier.
* Move imbuf init/exit code into IMB_init()/IMB_exit() functions.
* Increased mipmap levels from 10 to 20, you run into this limit already with
a 2k image.
* Removed hamx, amiga, anim5 format support.
* Removed colormap saving, only simple colormap code now for reading tga.
* Removed gen_dynlibtiff.py, editing this is almost as much work as just
editing the code directly.
* Functions removed that were only used for sequencer plugin API:
IMB_anim_nextpic, IMB_clever_double, IMB_antialias, IMB_gamwarp,
IMB_scalefieldImBuf, IMB_scalefastfieldImBuf, IMB_onethird, IMB_halflace,
IMB_dit0, IMB_dit2, IMB_cspace
* Write metadata info into OpenEXR images. Can be viewed with the command
line utility 'exrheader'
For the image tile cache code, see this page:
http://wiki.blender.org/index.php/Dev:2.5/Source/Imaging/ImageTileCache
Diffstat (limited to 'source/blender/imbuf/intern/divers.c')
-rw-r--r-- | source/blender/imbuf/intern/divers.c | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/source/blender/imbuf/intern/divers.c b/source/blender/imbuf/intern/divers.c index 4e8d61f8675..0cc4346041f 100644 --- a/source/blender/imbuf/intern/divers.c +++ b/source/blender/imbuf/intern/divers.c @@ -34,55 +34,12 @@ #include "BLI_math.h" #include "imbuf.h" -#include "imbuf_patch.h" #include "IMB_imbuf_types.h" #include "IMB_imbuf.h" #include "IMB_allocimbuf.h" -#include "IMB_divers.h" #include "BKE_utildefines.h" #include "BKE_colortools.h" -void imb_checkncols(struct ImBuf *ibuf) -{ - unsigned int i; - - if (ibuf==0) return; - - if (IS_amiga(ibuf)){ - if (IS_ham(ibuf)){ - if (ibuf->depth == 0) ibuf->depth = 6; - ibuf->mincol = 0; - ibuf->maxcol = 1 << (ibuf->depth - 2); - /*printf("%d %d\n", ibuf->maxcol, ibuf->depth);*/ - return; - } else if (IS_hbrite(ibuf)){ - ibuf->mincol = 0; - ibuf->maxcol = 64; - ibuf->depth = 6; - return; - } - } - - if (ibuf->maxcol == 0){ - if (ibuf->depth <= 8){ - ibuf->mincol = 0; - ibuf->maxcol = (1 << ibuf->depth); - return; - } else if (ibuf->depth == 0){ - ibuf->depth = 5; - ibuf->mincol = 0; - ibuf->maxcol = 32; - } - return; - } else { - /* ibuf->maxcol defines the depth */ - for (i=1 ; ibuf->maxcol > (1 << i); i++); - ibuf->depth = i; - return; - } -} - - void IMB_de_interlace(struct ImBuf *ibuf) { struct ImBuf * tbuf1, * tbuf2; @@ -138,43 +95,6 @@ void IMB_interlace(struct ImBuf *ibuf) } -void IMB_gamwarp(struct ImBuf *ibuf, double gamma) -{ - uchar gam[256]; - int i; - uchar *rect; - float *rectf; - - if (ibuf == 0) return; - if (gamma == 1.0) return; - - rect = (uchar *) ibuf->rect; - rectf = ibuf->rect_float; - - gamma = 1.0 / gamma; - - if (rect) { - for (i = 255 ; i >= 0 ; i--) - gam[i] = (255.0 * pow(i / 255.0 , - gamma)) + 0.5; - - for (i = ibuf->x * ibuf->y ; i>0 ; i--, rect+=4){ - rect[0] = gam[rect[0]]; - rect[1] = gam[rect[1]]; - rect[2] = gam[rect[2]]; - } - } - - if (rectf) { - for (i = ibuf->x * ibuf->y ; i>0 ; i--, rectf+=4){ - rectf[0] = pow(rectf[0] / 255.0, gamma); - rectf[1] = pow(rectf[1] / 255.0, gamma); - rectf[2] = pow(rectf[2] / 255.0, gamma); - } - } -} - - /* assume converting from linear float to sRGB byte */ void IMB_rect_from_float(struct ImBuf *ibuf) { |