Commit Graph

250 Commits

Author SHA1 Message Date
Campbell Barton
f8e56e96bf Split up the following imbuf functions in 2...
void bicubic_interpolation(struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout);
void neareast_interpolation(struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout);
void bilinear_interpolation(struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout);

Added...
void bicubic_interpolation_color(struct ImBuf *in, unsigned char *col, float *col_float, float u, float v);
void neareast_interpolation_color(struct ImBuf *in, unsigned char *col, float *col_float, float u, float v);
void bilinear_interpolation_color(struct ImBuf *in, unsigned char *col, float *col_float, float u, float v);

This is needed so for projection painting but generally useful if you want to get the interpolated color of a pixel in an image without having a destination imbuf.

While editing these I noticed the functons are a bit dodgy, they assume the input ImBuf has matching float/chr buffer to the output.
2008-11-19 03:28:07 +00:00
Campbell Barton
a4776347ea bicubic_interpolation - dont use pow(val, 3.0f) at all, do (val*val*val) instead,
Tested overall speedup is about 5x when scaling 4096x4096 -> 4000x4000 in the sequencer.

There were some artifacts in the resulting image but double checked and the old code gives the same problems.
Added back old code with #if 0's since its a bit more readable.
2008-11-19 02:07:23 +00:00
Campbell Barton
a00e63a542 bicubic_interpolation function was re-calculating a variable it didnt need to - (was calling 32 pow()'s per pixel, now only 8 - approx 3-4x speedup on my system). 2008-11-11 01:13:05 +00:00
Nathan Letwory
f59f5e67a5 * doing some warning cleaning
* accidently left priority tests around.
2008-11-04 23:46:01 +00:00
Nathan Letwory
beea73b110 * enable openjpeg building for win32/msvc
* add support for building redcode on win32/msvc, but disabled for now, as there are linking problems
  - I cleaned the redcode sconscript - the copying of headers within the source tree is not a clean solution
    This needs to be fixed later on. For now, lets use redcode from extern/ until a better way is found.
2008-11-04 23:04:15 +00:00
Martin Poirier
6cc1466c61 Moving silence_log_ffmpeg to imbuf (it fits better there and fixes the link error in blenderplayer) 2008-11-03 13:33:11 +00:00
Martin Poirier
f180702a12 Quiet ffmpeg log by default. No more ugly stream info in console.
Starting Blender with -d turns info logging back on.
2008-11-02 16:28:34 +00:00
Benoit Bolsee
5cb16c2d03 Video Texture: remove support for capture device, the linux ffmpeg repository is not ready yet. 2008-11-01 15:42:03 +00:00
Benoit Bolsee
77b4c66cc3 Preparation to VideoTexture: everything but the VideoTexture module itself.
Rename PHY_GetActiveScene() to KX_GetActiveScene(): more logical name
Add KX_GetActiveEngine()

new KX_KetsjiEngine::GetClockTime(void) to return current 
render frame time: if the CPU does not keep up with the 
frame rate, up to 5 consecutive logic frames are processed 
between each render frame, so that the logic system stays 
accurate even if the graphic system is slow. For the video 
texture module, it is important to stay in sync with the
render frame: no need to update the texture for logic frame.

BL_Texture::swapTexture(): texture id manipulation
BL_Texture::getTex() : return material texture

Enable video support in ffmpeg for Linux.
2008-10-31 21:06:48 +00:00
Kent Mein
705a248c75 Updated cmake so it has the option to use WITH_DDS
Kent
2008-10-28 18:33:34 +00:00
Kent Mein
2f9e0ec154 This commit fixes bug: [#17770] Texture Plugins do not work. (on windows)
Thanks to Lguillaume for helping with this one.


Had to go back to bug: [#17631] PIL_dynlib_get_error_as_string() returns NULL, causes crash

and revert the fix and make some new updates.
function needs to return NULL so fix the functions that were assuming it
always returns a string.

Kent
2008-10-10 17:52:25 +00:00
Ton Roosendaal
4a4f7c802a Bugfix #17784
Playanim now works for:

- tiff, cineon, dpx, hdr, exr

Only multilayer not, that's too much for a bugfix. Multilayer is a totally
different image format, handled separately.

ALso removed redundant printing for dpx/cineon.
And fixed crash in cineon when G.scene doesnt exist. Bad bad, should
not be there!
2008-10-08 18:35:41 +00:00
Ton Roosendaal
2bd6e1ae82 Patch #8461, by Rob Hausauer
This unifies all usage of FTOCHAR, putting it in utildefines.h
Submitter did several interesting tests for speed, check it here:
http://projects.blender.org/tracker/?func=detail&atid=127&aid=8461&group_id=9
2008-09-20 13:02:06 +00:00
Brecht Van Lommel
695c354b61 Fix for bug #17602: 32 bit bmp files were read with red and blue swapped. 2008-09-11 11:30:32 +00:00
Kent Mein
bd518b8de6 This is patch:
[#15135] imbuf DDS support: sync to nvidia texture tools revision 602 + fix for ATI2 compressed normal maps

It just updates the dds stuff.

Provided by Amorilia

Kent
2008-09-10 15:07:20 +00:00
Benoit Bolsee
9f6109002b Fix compile problem in MSVC after Win64 patch 2008-08-17 22:28:30 +00:00
Daniel Genrich
0c5adb7504 Win64: compiles fine with scons with gcc now 2008-08-17 17:22:10 +00:00
Daniel Genrich
fd0072e77c Win64: please check my changes if you ran across them ;) But should be fine since no additional crashes were reported! 2008-08-17 17:08:00 +00:00
Peter Schlaile
b647c5bba5 == FFMPEG ==
This fixes:
[#16655] Blender crashes when Fraps videos are added to the sequencer

(sorry, color conversion is not supported by swscaler for some reason,
so currently, only the crash is fixed)
2008-08-03 16:11:57 +00:00
Ton Roosendaal
0c23d0c2ad Bugfix #17327
Small one: changed the string attribute in multilayer exr files to be:

"2.43 and newer"

To indicate that it's about compatibility of the exr file, not the version
Blender saved it in.
2008-07-14 10:26:11 +00:00
Ton Roosendaal
d0d179dce6 Buhh... and now I left in testing print in exr code. 2008-07-09 15:25:34 +00:00
Ton Roosendaal
180a7d1f62 Replaced strcasecmp with BLI_strcasecmp, to make msvc happy! 2008-07-09 13:12:58 +00:00
Ton Roosendaal
bad6b003db Fix for reported openexr file reading failures.
For simple RGB(A) files, the channel names in openexr were supposed
to be simply "R" "G" "B" and "A" too.
Other programs like other names... like lower case, or like "ambient.r"

Tested with file from renderman.
2008-07-09 10:51:03 +00:00
Peter Schlaile
4b59a4bea0 == FFMPEG / ImBuf ==
Fixed deinterlacing (inplace deinterlacing didn't work out properly...).

[#14672] Sequencer: deinterlace filter artifacts
2008-06-29 15:11:35 +00:00
Peter Schlaile
abda1a9ec1 == FFMPEG ==
Added serious interlacing to movies opened using ffmpeg.
(Other video decoders to be done)

Rational: deinterlacing, if done seriously _has_ to be done
in YUV-space. Since internal interface first converts data
to RGB we are pretty much lost (and fall back to IMB_filtery
in that case).
2008-06-22 20:39:41 +00:00
Diego Borghetti
f445dfbfb6 Patch [#13777]
This commit fix the following problem in the DPX code:

1) The code always assume a depth of 10 bits
2) The code don't check the file type (Log or Linear)
2008-06-16 07:15:09 +00:00
Peter Schlaile
6eeef64370 == REDCODE ==
got #endif position wrong, breaking compile without redcode, sorry.
(Thanks to jms for pointing that out)
2008-06-03 06:42:13 +00:00
Peter Schlaile
cfd67321d2 == REDCODE ==
Forgot to free redcontext in IMB_free_anim...
2008-06-02 22:02:26 +00:00
Peter Schlaile
ca8aa8c901 == RED one (redcode) ==
This adds redcode (the file format of RED one, R3D) support to blender.
Seems to work fine with the footage I found on the web, but keep in
mind, that because of the unoptimized nature of libopenjpeg, frame
decoding isn't that fast.

It is also a rather challenging task, to make 4k-float-footage realtime :)
2008-06-02 21:35:57 +00:00
Peter Schlaile
2b1797d07b == FFMPEG ==
Fixes: [#10703] loading an .avi captured by dosbox causes a segfault
We shouldn't try to close a codec, if we haven't managed to open one... :)
2008-05-05 22:08:50 +00:00
Andrea Weikert
e7c3ff6458 == mmap for win32 ==
replacement for mmap/munmap on Windows.
Implemented using CreateFileMapping/MapViewOfFile.
2008-04-29 18:41:34 +00:00
Brecht Van Lommel
391bd70d42 Fix for bug #9014: crash saving the depth pass with openexr or hdr,
both file formats crashed on saving images with less than 4 channels.
2008-04-29 16:57:39 +00:00
Benoit Bolsee
2740bbc89c Update MSVC project files to support ffmpeg. Make sure you do svn update in lib/windows to link with latest ffmpeg libraries 2008-04-27 15:02:37 +00:00
Kent Mein
23016d59d4 Yesterday was not my day. Forgot about end of string.
Kent
2008-04-18 14:25:36 +00:00
Kent Mein
0ecf7a6f5b My last commit for the sscanf buffer overflow did not really fix the
problem.  Now the fixed length strings are limited in the sscanf so
it should be much better now.

Kent
2008-04-17 15:41:06 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
Kent Mein
6e6a6cdf55 This fixes a Buffer Overflow Vulnerability reported by
Secunia Research

SAID: SA29818 (http://secunia.com/advisories/29818/)
Credit: Stefan Cornelius, Secunia Research

The old code trys to do a sscanf %s %d %s %d from a line in the
image file.

Now it copies over that line to a max buffer of size 540 chars before doing
the sscanf.  
(I just picked a constant that was siginficatly large)

It also checks to see if it gets all 4 values if not return NULL.

Kent
2008-04-15 15:52:18 +00:00
Brecht Van Lommel
ec1262944e Bugfix: scaling images anti-aliased with either the width or height
staying the same did not work correct (showed up in the sequencer).
2008-04-09 17:14:02 +00:00
Campbell Barton
04be9955d0 dpx saving would fail if there was no float buffer, which is a problem when rendering from the sequencer because a float buffer can be generated for some frames but not others depending on their contents. 2008-04-02 12:56:23 +00:00
Kent Mein
e16a766620 I let a sqrtf in by accident when commiting this patch.
converted to sqrt for solaris and other platforms.

Kent
2008-03-31 17:01:08 +00:00
Kent Mein
35db540b49 This is patches:
[#8578] imbuf for DDS textures: minor bugs fixed 
	(syncing with upstream nvidia texture tools)
[#8727] imbuf for DDS textures: fix for DXT5 alpha channel corruption

Submitted by our DDS person, Amorilia

Kent
2008-03-28 14:44:31 +00:00
Brecht Van Lommel
5b6763fec3 Fix for bug #8595: texture mipmaps with gauss filter didn't work correct,
gave black borders.
2008-03-26 22:14:40 +00:00
Campbell Barton
192021f068 check for null data when using ffmpegs swscale (for corrupt/partially corrupt videos) 2008-03-25 20:30:33 +00:00
Peter Schlaile
c52695bafe == Sequencer / ImBuf ==
Fixed a long standing bug in IMB_dupImBuf: refcounter should be better 0
within the duplicated ImBuf...

Finally removed this strange STRIPELEM_META mumbo jumbo.

On a way to asset management: made METAs behave like true input strips:
* proxying should work
* input filter options should work (including transform and color balance :)
* IPOs now work in replace mode
2008-03-23 17:56:44 +00:00
Stefan Gartner
4a6d75af27 added support for linux on pa-risc 2008-03-23 12:59:26 +00:00
Brecht Van Lommel
db7457a6bb Fix for bug #6758: material nodes were not working correct with
ray mirror and transparency, was using the same stack for all
recursion depths, now creates new stacks as needed.

Fix for bug #8592: crash saving non-float image as 16bit tiff.
2008-03-17 20:57:16 +00:00
Brecht Van Lommel
4ecf0fffaf Fix for msvc compiler error in tiff saving. 2008-03-10 20:12:45 +00:00
Brecht Van Lommel
59195b3e18 Fix for tiff 16bit saving commit, had memory leak. 2008-03-10 17:11:18 +00:00
Brecht Van Lommel
0ec0f2a02f Add an option for saving/loading DPX with in log color space with
reference black, reference white and gamma.

Added 16 bit TIFF saving.

This needs more work to cleanup code and add 16 bit TIFF reading, but
committing it now so it can be tested.
2008-03-10 11:39:37 +00:00
Campbell Barton
027277fce0 * Bakeing fix for apricot, stop pixels being extended for parts of the image that are not being baked (useful for multiple objects)
* Added support for baking alpha, as well as extending alpha margins.
2008-03-08 21:35:38 +00:00