[Bf-committers] Sequencer rewrite, ffmpeg-read-support (several versions), Mem-Cache Limitor, HD-Audio-Support, Color-Correction

Peter Schlaile peter at schlaile.de
Thu Jan 5 19:15:43 CET 2006


Hi,

this new patch includes the bugfixed-version of my last patch to make
blender usable as a Non-Linear-Video-Editing-System(tm).

https://projects.blender.org/tracker/index.php?func=detail&aid=3721&group_id=9&atid=127

- The sequencer code calculated the top-level frame based on the
  information found also in the meta-strips. That triggered several
  obscure segfault situations along with the strange feature, that a strip, that has high
  priority inside a meta-strip could override a top-level strip with lower
  priority.
- The former sequencer calculated all strips, regardless if they are
  needed or not. (Even if they are _never_ shown!)
  The new code first decides which frame is seen and then calculates
  dependencies and only calculates the imbuf that are needed.
- ImBufs are now reference counted, so that if a effect-strip decides,
  that input equals output one can simply free the output-ImBuf, increase the
  reference count of the input and copy the pointers.
- The cross-fade and gamma-cross effect strips now check, if input equals
  output and simply pass pointers around.
- Blender has now support for color-correction (using three external
  plugins color-correction-hsv, color-correction-yuv and a rgb-gamma-plugin)
- To make these usable the preview has been enhanced: it can now also
  display a luma-waveform and a chroma-scatter-plot of the current image. The
  channel selector added with the last patch comes very handy here.
  I had to add some icons to make this work.
- The audio-strips are now split into "RAM Audio Strips" (the current
  behaviour of loading the strip completely into memory.) and "HD Audio Strips"
  which are kept on harddisk and read on demand.
- The HD-Audio Strips are read using ffmpeg. That means, that you can
  simply drop an AVI-File or a RAW-DV-File on the timeline as an
  Audio-Clip.
- The ffmpeg-code is more version independent. It now works with
  debian-sarge-ffmpeg as well as with the latest CVS-Version.
  If someone drops me a link to the current ffmpeg-development in blender
  I will happily merge the code.
- The patch includes all of the changes of the last patch, updated to
  work against current CVS-version of blender. (2.40 not the orange-tree)

  (The old patch can be found here:
  https://projects.blender.org/tracker/index.php?func=detail&aid=3331&group_id=9&atid=127
  )

There are some things left, that bug me:
- I don't really know, how to integrate ffmpeg-render-support with
  all the bells and whistles of codec selection and the like.
- The Movie-Strips use the framerate given by the AVI- or DV-File _not_
  the global framerate. That means, that Audio and Video go out of sync,
  if the blender-framerate does not match the Movie-Strip Framerate.

Just give this a test run and tell me how it feels ;-)

Greetings,
Peter

----
Peter Schlaile



More information about the Bf-committers mailing list