Øyvind Kolås    pippin@gimp·org @hodefoting  

gedl - GEGL edit decision list

A video creation tool made to produce a short video segment showcasing work and improvements done to GEGL since the previous libre graphics meeting, for Libre Graphics Meeting in London 2016. The video didn't raise much interest; and it did include references to the tool used to make it within itself, next time I need to make a video I might try to brush the dust off this tool and make it releaseable - it is a good additional test case along the still photo tools using GEGL.

text based file format

The format of specifying a GEGL graph/chain as a one-liner as created for this tool and is incorporated in the GEGL commandline, one can for instance do gegl input.jpg -o output.jpg -- unsharp-mask invert to apply two filters to the input image writing the result to output.png

What follows is not the full contents of the above video, but it gives a good idea of how the file format is structured

output-path=gegl.mp4
video-width=1360
video-height=680
video-bitrate=20000
selection-start=214
selection-end=214
fps=30.000000
range-end=2635
frame-scale=6.183235
t0=1317.883609
frame-no=216
goat.mp4 100 300 -- over aux=[ color opacity value={ -2=0.999 0=0.999 80=0.999 200=0.0 } over aux=[  svg-load path='GEGL.svg' width=1.2rel height=0.4rel translate x=0.025rel y=0.6rel opacity value={ -4=0.0 3=0.0  60=0.99 100=0.79 150=0.79 200=0.999 }  ] ]

goat.mp4 300 557 [active] -- over aux=[ text  string={ 0='' 5='interactive-nondestructive filter chains/graphs' 50="GIMP's new backend" 125='higher bitdepth' 175='preview on canvas ' 220='preview on canvas, towards non-destructive editing' } wrap=0.96rel  size=0.1rel color=black translate x=0.05rel y=0.4rel dropshadow radius=0.01rel color=white x=0 y=0 ]

sgoat.mp4 0 151 -- over aux=[ text  string={ 0='' 10='new feature' 50='preview curtain' }  size=0.1rel wrap=1.55rel color=red     translate x=0.35rel y=0.75rel  dropshadow x=1 y=1 opacity=2 radius=2  ] translate y=-0.021rel

photo-editing.png 0 90 -- over aux=[ text  string={ 0='' 4='gnome-photos' 44='GNOME photo library/viewer/editor using GEGL' }    size=0.1rel wrap=1.55rel color=white     translate x=0.061rel y=0.75rel  dropshadow x=1 y=1 opacity=2 radius=2  ] translate y=-0.021rel

imgflo-caged-cassowary-light.png 0 90 -- over aux=[ text  string={ 0='' 4='noflo' 40='noflo, visual programming' }    size=0.087rel wrap=1.05rel color=white     translate x=1.15rel y=0.75rel  dropshadow x=1 y=1 opacity=2 radius=2  ] translate y=-0.021rel

gedl.png 0 90 -- over aux=[ text  string={ 0='' 4='gedl' 45='gedl, video editor for this video' }    size=0.1rel wrap=2rel color=white     translate x=0.0611rel y=0.86rel  dropshadow x=1 y=1 opacity=2 radius=2  ] translate y=-0.0211rel

portrait.jpg 0 200 -- scale-ratio x={ 0=1.0 200=1.22 } y={ 0=1.0 200=1.2 } origin-y=0.5rel origin-x=0.5rel  translate y=-0.12rel over aux=[ text  string={ 0='' 1='2015/2016 releases' 90='GEGL-0.3.0  june   GEGL-0.3.2  november    GEGL-0.3.4  november    GEGL-0.3.6  march'  } size=0.0794rel wrap=1.2rel color=white translate x=0.031rel y=0.071rel dropshadow x=1 y=1 opacity=1 radius=2 gaussian-blur clip-extent=false std-dev-x={ -1=0.2rel 0=0.2rel 30=0 70=0 80=0.3rel 90=0.4rel 100=0.3rel 131=0 170=0 200=0.0rel } std-dev-y={ -1=0.2rel 0=0.2rel 30=0 70=0 80=0.3rel 100=0.3rel 131=0 170=0 200=0.0rel } ]

jumping-goat.mp4 339 394 -- over aux=[ text  string={ 0='' 5='new operations' }  wrap=1.96rel size=0.1rel color=white translate x=0.05rel y=0.8rel dropshadow x=1 y=1 opacity=2 radius=2 ]

jumping-goat.mp4 395 439 -- sepia  over aux=[ text  string={ 0='sepia' }  wrap=1.96rel size=0.1rel color=white translate x=0.05rel y=0.8rel dropshadow x=1 y=1 opacity=2 radius=2 ]

jumping-goat.mp4 440 531 -- saturation scale={-1=0.0 0=0.0 40=1.0 90=4.0 } over aux=[ text  string='sa    h  gggggggggon'  wrap=0.96rel  size=0.1rel color=white    translate x=0.05rel y=0.8rel  dropshadow x=1 y=1 opacity=2 radius=2  ]

photo-editing.png 784 831 -- maze seed=22 x=0.05rel y=0.05rel fg-color=white bg-color=black over aux=[ text string='maze'  wrap=0.96rel  size=0.1rel color=white    translate x=0.1rel y=0.8rel  dropshadow x=1 y=1 opacity=2 radius=2  ]

jumping-goat.mp4 802 849 -- over aux=[ text string='new raw-loader using libraw'  wrap=1.96rel  size=0.1rel color=white    translate x=0.05rel y=0.1rel  dropshadow x=1 y=1 opacity=2 radius=2 ]

jumping-goat.mp4 850 894 -- over aux=[ text string='tiff-load and -save'  wrap=0.96rel  size=0.1rel color=white    translate x=0.1rel y=0.1rel  dropshadow x=1 y=1 opacity=2 radius=2 ]

jumping-goat.mp4 895 933 -- over aux=[ text string='URI loading support for many formats'  wrap=1.96rel  size=0.1rel color=white    translate x=0.05rel y=0.1rel  dropshadow x=1 y=1 opacity=2 radius=2  ]

jumping-goat.mp4 934 989 -- over aux=[ text string='revival of ffmpeg video source/sink'  wrap=1.96rel size=0.1rel color=white translate x=0.05rel y=0.1rel  dropshadow x=1 y=1 opacity=2 radius=2  ]