[Bf-committers] Adding image format in the VSE

Jehan Pagès jehan.marmottard at gmail.com
Wed Jan 30 13:52:50 CET 2013


On Mon, Jan 28, 2013 at 11:23 AM, Campbell Barton <ideasman42 at gmail.com> wrote:
> On Fri, Jan 25, 2013 at 3:18 PM, Jehan Pagès <jehan.marmottard at gmail.com> wrote:
> > Hello,
> >
> > I have a question about adding a format for creating VSE sequence.
> Just a note that adding image formats for sequencer is really no
> different to adding image format support for image loading or
> rendering.
> > I had a small look at the API, and see a way of doing, which I see is done
> > for similar plugins: converting to an intermediate format which is known to
> > Blender (png for instance, or whatever).
> This seems an unnecessary step, if you can load the data - why not
> just read the pixels directly? - especially for sequencer where you
> want to playback faster if you can.

Indeed it is unnecessary step! That's why I asked because I could not
find anything in the plugin API.

> > But is there a cleaner way to add format support to Blender? Hence making
> > Blender be able to understand directly the format, and not rely on
> > intermediate files that the user may not know about and which would clutter
> > the user directories?
> You would need to add ImBuf format - see:
> ./source/blender/imbuf/intern/*.c png, jpeg are good references for
> basic 8 bits per channel format support. hdr is a good reference for
> float image support.

Ok so you have to implement it as core support in Blender itself, if I
understand. That's ok with me. I could implement this. Only thing I
was scared is the case where this kind of feature being refused by the
Blender team (because a support like XCF, I know it would spark some
trolling discussion). At least a plugin has the advantage to not
necessarily require inclusion upstream. This is why I was looking for
some API feature, like a "format handler", where basically you provide
a mime/type, extensions, and an external implementation for a format
as a separate plugin.

> > For information, I have 2 separate projects for which I search this
> > information:
> >
> > 1/ I want to add support for GIMP XCF files. I know there is already a
> > plugin to import XCF files as 3D planes, but I want to add them as image
> > sequence directly in the VSE (1 layer, 1 image). And I wonder how I can do
> > this without converting my XCF into an intermediate sequence of png files
> > (I see the intermediate png method is what does the XCF import plugin for
> > instance).
> > Real XCF support in other words.
> Not sure about this, XCF is meant as gimps native image editing
> format, not an interchange format. Though having support for XCF or
> PSD would have some nice possibilities - to have layer groups for
> spec, normal, diffuse, alpha... for eg.

I think so. This is for a project where I work with an animator.
She used to work with the Adobe suite. And for instance you can import
your Photoshop PSD files directly into Premiere and After Effects,
which definitely simplifies and speed the process.
Right now if you can't do the same with GIMP and any other FLOSS video
NLE: you have first to export all your layers as png (for instance, or
some other intermediate format), then import them as image sequences
into Blender. That's one additional step, and some additional workflow

> > 2/ I want to add some raw file support (like DNG), with demosaicing, and
> > all this (of course I know this one is a long shot, and good raw support
> > requires much more than just this, but you have to start somewhere).
> >
> > In other words, is there an API to add new format support in Blender?
> > Thanks.
> support for raw formats could be fine just to load the data in. but Im
> not sure about demosaicing, if its just some automatic calculation on
> load - ok. but if you want to configure it though blenders UI and
> there are many settings to tune, Im not sure this would be accepted.
> Maybe users should just use an external batch tool to convert the data
> into a common format.

Well raw images are not viewable directly (or look kind of really
broken). Basically cameras register only 1 color per pixel. So some
pixels are a level of green only, some red, some blue. That's why it
looks like "mosaic" of colors, I guess. Demosaicing is the fact of
reconstructing all 3 colors for each pixel by interpolation. Hence
there can be several interpolation algorithms obviously, and some
algorithm might use some tuning.

I would like this for another project, which is the Apertus project.
You may know it, it is an Open Hardware cinema camera project
(http://apertus.org). Right now when you get raw images from a camera,
you have to use a separate program for raw images — like DarkTable —
to visualize demosaicing result, and indeed some batch processing to
apply this to your sequence of images. In other words, this is trying
to apply a process made towards still image for sequences of moving
images. Also if you change your mind on the best development settings
(this usually happens on visioning), you have to re-apply your whole
batch scripts on the raw images to generate again intermediate image
sequences, try again with your video NLE, and so on. That's
At Apertus, we were thinking it would really be worth it to have an
integrated process where you can change your raw development settings
while you edit.
This is still a process under study, and as we like Blender, I was
checking how this kind of thing can happen within Blender VSE, for

> Best check with module owners of Imbuf...
> http://wiki.blender.org/index.php/Template:ModulesOwners#Render.2C_Video.2C_Audio
> When proposing new features it would be good if you could explain the
> work-flow you'd like to support - who would find this useful, is this
> specific to certain hardware for eg.

I hope the above explanation for both features were good enough to
understand the desired workflows. :-)


> Ton & Kent - any comments?
> > Jehan
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers
> --
> - Campbell
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list