R7 – the source is slowly coming

After almost 2 weeks of rapid improvement R7 is done. It mostly introduces more improvements for the python module, which now accepts unnamed arguments and has improved y4m output. The most important detail being the addition of a B value to the y4m header so it can signal higher bitdepths automatically too. Since it’s a minor change I hope x264, libav and other tools will adopt this property soon.

Another new thing that may interest some of you is that this build also comes with the header for developing your own plugins plus a the full source for all the functions in the std namespace (MIT licensed). I still have a few more things I want to add and revise before releasing the rest of the source to the public.

So instead of giving an vague “soon” as a release schedule for the source I will simply give you a list of things I want to finish before it goes out the door:

  • Decide which license to release it under. (discuss it if you want but I’m tilting towards something like free for non-commercial use, source modifications must be shared)
  • The addition of a function type. This is mostly for internal use as python handles callable objects well enough.
  • The ability to write whole filters in python. It would make quick prototyping easy and open up filter writing for more people (unfortunately python itself has one huge mutex called the GIL so if it’s used too much it could lead to serious slowdowns).
  • More checks, one of the most important things in my opinion is to detect errors early and report them. Especially for developers. The core already has a lot of checks in its handling of external plugins so new plugin writers will become aware of their mistakes.
  • Finish the standard functions. The main missing functions are Transpose, CropRel and several small ones for property manipulation and per frame selection.

Maybe I’ll reveal the long term goals next time.