[Bf-committers] cineon/dxr support in Blender

Ton Roosendaal ton at blender.org
Sun Mar 5 11:55:17 CET 2006


Hi Joe,

As follow-up on this, do you have time for further work on this patch,  
or shall I do that?

What is still needed is reading dpx/cineon, and especially we need a  
thorough review what exactly happens internally in this code. I only  
did a quick check... the code has very fancy mapping options (for log  
files), but it *seems* to me that the dpx writer didn't use that.

For the test in the HD studio, I could only write with your patch a  
coupe of dpx files with a greyscale ramp. The actual graphics from the  
movie we tested were all written using CinePaint. Still have to sort  
out what cinepaint did actually... if it was writing linear dpx or not.

-Ton-

On 2 Mar, 2006, at 11:35, Joe Eagar wrote:

> Joe Eagar wrote:
>> Ton Roosendaal wrote:
>>> Hi,
>>>
>>> Oh, that's cool! :)
>>>
>>> Afiak, Cineon is per-definition film-scanner format, and requires  
>>> this logarithmic mapping to black and white, also allowing deeeep  
>>> black and ultra white colors. Probably the cinepaint code has the  
>>> formula for conversion from float (0-1) range to cineon range?
>>>
>>> DPX is a generic format, which can also write 16 bits/component. For  
>>> dpx, linear mapped colors should be possible too.
>> Actually the exporter library took 16-bits-per-channel unsigned  
>> shorts as input, so I had to do some conversion.  I took some test  
>> files into cinepaint to make sure I did it right, and it works.
>>
>> What worries me is whether or not the endian-switching code works;  
>> the dpx/cineon import/export library I took from cinepaint's  
>> cineon/dpx plugin uses tcp/ip endian switching functions, and I  
>> frankly have no idea if the cinepaint developers have made sure it  
>> all works or not.
>> joeedh
>> _______________________________________________
>>
> I posted a patch tarball to the tracker at  
> http://projects.blender.org/tracker/index.php? 
> func=detail&aid=3972&group_id=9&atid=127
>
> To use, just unzip the tarball inside the blender/ dir (not below it)  
> and apply the cineon.patch patch file.
>
> Files I changed are:
> - writeimage.c (in imbuf) -- added hooks to the cineon/dpx saving  
> functions.
> - image.c (in blenkernel) -- added automatic extension appendage, and  
> added the line needed for saving.
> - buttons_scene.c (in src) -- added to render output menu there
> - DNA_scene_types -- added typed R_CINEON and R_DPX
> - IMB_imbuf_types (in imbuf) -- added CINEON and DPX as format types,  
> with bitmasks 21 and 20 respectively.
> - source/blender/imbuf/intern/Makefile -- added cineon subdir.
> - source/Makefile -- added linking stuff.
>
> I added a cineon dir in imbuf; outside of the cineon dir the only file  
> I added was IMB_dpxcineon.h (which I placed in imbuf where it  
> belongs).
>
> since all needed code is included, I opted to not got through the  
> trouble of putting everything in #ifdefs.  I went through the code  
> with -pedantic set and removed all warnings.
>
> joeedh
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
>
>
------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton at blender.org  
http://www.blender.org



More information about the Bf-committers mailing list