diff options
author | Peter Schlaile <peter@schlaile.de> | 2008-01-30 18:41:02 +0300 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2008-01-30 18:41:02 +0300 |
commit | 19e37e4a352806ab26f6d0e7fe340098415b49c9 (patch) | |
tree | 41a46da991d18551e007f5529c95eae9cfda4602 /source/blender/src/sequence.c | |
parent | 6601cef1d0a4c519054b23ba85dc540da4e2dee5 (diff) |
== Sequencer / Imbuf ==
Added a faster linear interpolation scaler to IMB_scaleImBuf.
Only handles common cases when we either
enlarge both, width and height or
shrink both, width and height
but that is pretty fast:
* does only blit once instead of two passes like the old code
(fewer cache misses)
* uses fixed point integer arithmetic for byte buffers
* doesn't branch in tight loops
Should be comparable in speed to the ImBuf ..._fast functions at least
for byte-buffers.
For the rather seldom situations that e.g. width is enlarged and height
is shrunken, the old code is still in use.
-------
Also small fix in sequencer: free float buffers on read now.
Diffstat (limited to 'source/blender/src/sequence.c')
-rw-r--r-- | source/blender/src/sequence.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/src/sequence.c b/source/blender/src/sequence.c index 003c2c0e491..63e92feb07e 100644 --- a/source/blender/src/sequence.c +++ b/source/blender/src/sequence.c @@ -1095,6 +1095,7 @@ static void input_preprocess(Sequence * seq, TStripElem* se, int cfra) if(seq->flag & SEQ_MAKE_FLOAT) { if (!se->ibuf->rect_float) { IMB_float_from_rect(se->ibuf); + imb_freerectImBuf(se->ibuf); } } |