FloatImg4PythonBinding/Fonderie
tTh bf239a9004 add fluffy effect to the Fonderie 2023-02-12 11:41:26 +01:00
..
Makefile fix a nasty bug in a Makefile 2021-10-11 09:23:17 +02:00
README.md small tweaks 2021-05-05 10:21:47 +02:00
craplist2h.awk more work on the Fonderie 2021-05-11 10:36:55 +02:00
craplist2str.awk more work on the Fonderie 2021-05-11 10:36:55 +02:00
crapulator.c add fluffy effect to the Fonderie 2023-02-12 11:41:26 +01:00
crapulator.h + line shifter and bla 2020-12-31 00:46:12 +01:00
crapulors.liste add fluffy effect to the Fonderie 2023-02-12 11:41:26 +01:00
essai.sh fix in fimg_auto_shift_to_zero 2021-02-25 08:23:27 +01:00
fifo.c konrad is up :) 2022-02-04 23:39:52 +01:00
fifo.h added a setter, wtf ? 2021-04-23 23:54:47 +02:00
filterstack.c use <stdint.h> everywhere 2021-05-20 09:31:28 +02:00
filterstack.h more debug or more bug ? 2020-12-15 17:49:12 +01:00
fonderie.c use <stdint.h> everywhere 2021-05-20 09:31:28 +02:00
glitches.c use <stdint.h> everywhere 2021-05-20 09:31:28 +02:00
glitches.h more work on the Fonderie 2021-05-11 10:36:55 +02:00
interpolator.c big cleanup, word on metadata 2022-07-06 10:27:55 +02:00
metriques.c konrad is up :) 2022-02-04 23:39:52 +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
sfx.c small tuning... 2022-05-18 10:26:29 +02:00
sfx.h a big commit of garbage 2022-05-14 20:49:59 +02:00
single.c metadata boilerplane, first milestone reached 2022-03-19 01:21:58 +01:00
single.h a little bla 2021-04-24 00:11:37 +02:00
singlepass.c use <stdint.h> everywhere 2021-05-20 09:31:28 +02:00
t.c a big commit of garbage 2022-05-14 20:49:59 +02:00

README.md

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 spacio-temporel.

À 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 à augmenter 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. Et si on veut prendre des risques, on doit continuer à appeler les filtres par leur numéro, jdçjdr.

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...

Dans la même équipe, vous pouvez aussi aller contempler glitches.c pour voir le genre de traitement que l'on fait subir à nox pixels flottants.

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