Patch #27397: Improved DPX/Cineon code
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 22 Oct 2012 12:49:00 +0000 (12:49 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 22 Oct 2012 12:49:00 +0000 (12:49 +0000)
commit4e11fe6c5aec1d609e3ecc2218138b838d253ebf
treed57b4f18280c04e50ecb562135fed058cf11b82d
parent655e24979bb37c97a34b328238233591cfd5c924
Patch #27397: Improved DPX/Cineon code

Patch by Julien Enche, thanks!

From the patch comment:

It allows Blender to load:
- 1, 8, 10, 12 and 16 bits files. For 10 and 12 bits files, packed or
  filled type A/B are supported.
- RGB, Log, Luma and YCbCr colorspaces.
- Big and little endian storage.
- Multi-elements (planar) storage.

It allows Blender to save :
- 8, 10, 12 and 16 bits file. For 10 and 12 bits files, the most used
  type A padding is used.
- RGB and Log colorspaces (Cineon can only be saved in Log colorspace).
  For Log colorspace, the common default values are used for gamma,
  reference black and reference white (respectively 1.7, 95 and 685 for
  10 bits files).
- Saved DPX/Cineon files now match the viewer.

Some files won't load (mostly because I haven't seen any of them):
- Compressed files
- 32 and 64 bits files
- Image orientation information are not taken in account. Here too,
  I haven't seen any file that was not top-bottom/left-right oriented.
23 files changed:
source/blender/blenkernel/intern/image.c
source/blender/editors/space_image/image_buttons.c
source/blender/imbuf/CMakeLists.txt
source/blender/imbuf/IMB_imbuf_types.h
source/blender/imbuf/intern/IMB_filetype.h
source/blender/imbuf/intern/cineon/CMakeLists.txt
source/blender/imbuf/intern/cineon/cin_debug_stuff.h
source/blender/imbuf/intern/cineon/cineon_dpx.c
source/blender/imbuf/intern/cineon/cineonfile.h
source/blender/imbuf/intern/cineon/cineonlib.c
source/blender/imbuf/intern/cineon/cineonlib.h
source/blender/imbuf/intern/cineon/dpxfile.h
source/blender/imbuf/intern/cineon/dpxlib.c
source/blender/imbuf/intern/cineon/dpxlib.h
source/blender/imbuf/intern/cineon/logImageCore.c
source/blender/imbuf/intern/cineon/logImageCore.h
source/blender/imbuf/intern/cineon/logImageLib.c
source/blender/imbuf/intern/cineon/logImageLib.h
source/blender/imbuf/intern/cineon/logmemfile.c
source/blender/imbuf/intern/cineon/logmemfile.h
source/blender/imbuf/intern/filetype.c
source/blender/makesdna/DNA_scene_types.h
source/blender/makesrna/intern/rna_scene.c