Add S-expression based video effects pipeline with modular effect definitions, constructs, and recipe files. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
23 lines
935 B
Common Lisp
23 lines
935 B
Common Lisp
;; Pixelsort effect - glitch art pixel sorting
|
|
;; Usage: python3 plan.py effects/pixelsort.sexp -p threshold_low=30 -p threshold_high=220 | python3 execute.py - -d . -o output.mp4
|
|
;;
|
|
;; Parameters:
|
|
;; threshold_low: lower brightness threshold (0 to 128, default: 30)
|
|
;; threshold_high: upper brightness threshold (128 to 255, default: 220)
|
|
;; pixels between thresholds get sorted
|
|
|
|
(recipe "pixelsort"
|
|
:version "1.0"
|
|
:encoding (:codec "libx264" :crf 20 :preset "medium" :audio-codec "aac" :fps 30)
|
|
|
|
(effect pixelsort :path "sexp_effects/effects/pixelsort.sexp")
|
|
|
|
;; Default parameters (overridden by -p threshold_low=N -p threshold_high=N)
|
|
(def threshold_low 30)
|
|
(def threshold_high 220)
|
|
|
|
(def video (source :path "monday.webm"))
|
|
(def clip (-> video (segment :start 0 :duration 10)))
|
|
(def result (-> clip (effect pixelsort :threshold_low threshold_low :threshold_high threshold_high)))
|
|
result)
|