Cutting to the chase, A Proposal:

Implementing only a single color format for the CinCV pipeline, and
making it studio-swing RGBA float.  Input and output would rely on
this assumption and handle conversion to/from sRGB/JPEG/bt601/bt709
spaces automatically.  Along with that 'fixing the compositor so that
it actually displays studio swing properly'.  Chroma subsampling can
be handled similarly to how it's done now, but adding non-JPEG sitings
(again, a concern for import/export only).

I can see that there used to be a need for brutally efficient
pipelines back in the late 90s.  Unfortunately, that came at the
expense of maintainable code or the user being able to manage the
complexity effectively.  Everything we're doing now, we can do in
RGBA-float, and do it without any ambiguity.  Today's FPUs are going
to be more powerful overall than ALUs.

Additionally, I suggest that anyone managing pipeline color carefully
in CV is using RGBA-float with studio-swing levels already, so this
will be both path of least resistance and path of least surprise.
People have asked for YUVA-float (HV now has it apparently), but the
mapping between the two is lossless and RGBA is more useful for
perceptual operations.  Note that although I'm suggesting a mandatory
RGBA space, I'm also suggesting standard studio-swing levels (16-240
with head/toeroom). Full-swing imports will be mapped to the
restricted range.

This is not quite as radical a suggestion as it might seem; the file
handlers will need some new code (calling some new, centralized
colorspace conversion code that is aware of the spaces).  The pipeline
mostly sees code removed, and the plugins also only see code disappear
not appear.

Leaving aside the effect on existing projects-- what am I missing?

Monty

_______________________________________________
Cinelerra mailing list
Cinelerra@skolelinux.no
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra

Reply via email to