FloatImg/Fonderie
2021-03-26 05:40:45 +01:00
..
craplist2h.awk usefull comment 2021-01-03 17:56:41 +01:00
craplist2str.awk usefull comment 2021-01-03 17:56:41 +01:00
crapulator.c moving trinarize func 2021-03-26 05:40:45 +01:00
crapulator.h + line shifter and bla 2020-12-31 00:46:12 +01:00
crapulors.liste nice func integrated in Fonderie 2021-03-20 20:32:25 +01:00
essai.sh fix in fimg_auto_shift_to_zero 2021-02-25 08:23:27 +01:00
filterstack.c a better singlepass 2021-01-14 14:15:42 +01:00
filterstack.h more debug or more bug ? 2020-12-15 17:49:12 +01:00
fonctions.c commit whitout testing :) 2021-02-22 14:44:02 +01:00
fonctions.h is trinarize really ok ? 2020-12-02 19:55:06 +01:00
fonderie.c cosmetic 2021-02-26 22:31:28 +01:00
glitches.c math error ? 2021-02-23 11:32:10 +01:00
glitches.h + multidots glitcher 2021-01-16 11:29:40 +01:00
interpolator.c trying to solve start/end issue 2021-03-17 17:06:25 +01:00
Makefile a better singlepass 2021-01-14 14:15:42 +01:00
metriques.c more cleanup 2021-03-17 11:34:11 +01:00
metriques.h more experiments 2021-01-03 15:21:38 +01:00
notes.md filters now have a name 2020-12-30 14:42:44 +01:00
README.md doc singlepass 2021-03-18 11:46:35 +01:00
sfx.c moving trinarize func 2021-03-26 05:40:45 +01:00
sfx.h last commit for this week 2021-01-10 22:52:33 +01:00
single.c trying to do EXR io 2021-03-21 09:02:55 +01:00
single.h + incrustation & qsortrgb 2021-01-11 22:22:03 +01:00
singlepass.c more cleanup 2021-03-17 11:34:11 +01:00
t.c + multidots glitcher 2021-01-16 11:29:40 +01:00

Fonderie et Interpolator

Avec toutes ces fonctions disponibles et grabvidseq, nous savons faire des images floues. L'étape suivante, les plus pervers d'entre vous le savent déja, est celle de la création de films flous dans le domaine spacial.

À l'heure actuelle, il y a plusieurs programmes distincts. Le premier (fonderie) fait une moyenne mobile sur N images consécutives, et le second (interpolator) fait un fondu-enchainé de N pas entre deux images consécutives.

Mais avant et après un de ces deux traitements, il y a des chaines de filtres...

Chaine de filtres

Ce système connait un certain nombre de filtres et d'effets spéciaux destinés à la kitchitude du produit final. Ils peuvent être chainés les uns après les autres, à l'entrée et à la sortie du process de floutagement.

Ces filtres ont chacun un nom et un numéro. que l'on peut (en théorie) utiliser indistinctement dans une chaine de filtres. L'option -L de ces logiciels permet d'obtenir la liste des filtres.

Une chaine de filtres est constituée d'une liste de nom ou de numéro de filtre, séparés par le caractère :, une façon de faire très classique dans notre univers, en fait.

mirsplit:ctr2x2:3:killlines

Nous allons donc voir quelques exemples un peu plus loin.

Fonderie

Le programme principal, utilisé à partir de la ligne de commande avec une foule d'options aux mnémoniques abscons et à la syntaxe perverse.

Rassurez-vous, en général il est wrappable dans des scripts écrits en Bash. Il est même possible un jour qu'ils puissent lire des paramètres dans $(env).

./fonderie, compiled Dec 30 2020, 14:09:18, pid 5013
*** FloatImg library, alpha v116 (Dec 27 2020, 22:39:28)
        FONDERIE
options:
        -E      input:filter:chain
        -F      output:filter:chain
        -g      convert to gray
        -I      input glob pattern
        -L      list available filters
        -O      output directory
        -T      fifo size
        -v      increase verbosity

exemple d'utilisation

Voici comment appeler cette machinerie depuis la ligne de commande tel qu'il m'arrive de le pratiquer :

#!/bin/bash

GRABDIR="/spool/tth/fonderie"
FONDEUR="$HOME/Devel/FloatImg/Fonderie/fonderie"
GLOB=${GRABDIR}'/?????.fimg'

${FONDEUR} -I "$GLOB" -E cos01:25 -T 30 -F 2:classtrial

Votre machine va maintenant mouliner avec entrain et persévérance, puis ensuite il suffit d'encoder toutes les images générées dans p8/ (répertoire de sortie par défaut) avec une incantation de ffmpeg :

ffmpeg  -nostdin                                        \
        -loglevel error                                 \
        -y -r 30 -f image2 -i p8/%05d.png               \
        -c:v libx264 -pix_fmt yuv420p                   \
        foo.mp4

crapulator.c

C'est dans ce module qu'est codé le moteur de filtrage, utilisé aussi bien en entrée qu'en sortie. Il est, à l'heure actuelle, assez rudimentaire, avec un paramétrage simpliste, et un manque criant de documentation...

Interpolator

Un logiciel dont l'inspiration vient du passé et les améliorations d'une résidence à Terre-Blanque, ça ne peut pas être complètement malsain.

*** interpolator.c : compiled by tTh, Jan 12 2021 16:18:58
*** FloatImg library, alpha v116 (Dec 27 2020, 22:39:28)
        INTERPOLATOR
usage:
        interpolator [options] <inglob> <outdir> <nbsteep>
options:
        -S nn           mysterious sort
        -E i:bla:k      input  filter chain
        -F name:j       output filter chain
        -L              list available filters
        -v              increase verbosity

Singlepass

Le monde à l'envers : pas de traitement inter-frames, mais par contre, on peut facilement tester une chaine de filtres sur une image unique.

*** singlepass.c : compiled Mar 17 2021 11:21:45
*** FloatImg library, alpha 122 (Mar 16 2021, 18:44:00)
------ Single pass serial filter ------
usage:
        -F      define:the:filter:chain
        -g      input glob pattern
        -L      list available filters
        -O      /output/directory
        -v      spit more messages

Conclusion

Use the source, Luke