FloatImg4PythonBinding/Fonderie
2023-07-08 13:10:47 +02:00
..
craplist2h.awk cosmetic 2023-02-13 10:57:14 +01:00
craplist2str.awk nap time commit 2023-02-13 17:56:08 +01:00
crapulator.c remove an useless keyword 2023-07-06 09:06:31 +02:00
crapulator.h + line shifter and bla 2020-12-31 00:46:12 +01:00
crapulors.liste remove an useless keyword 2023-07-06 09:06:31 +02: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 exit when a non-existent option was found 2023-05-28 10:49:12 +02:00
glitches.c krkrkr 2023-06-26 17:34:53 +02:00
glitches.h more work on the Fonderie 2021-05-11 10:36:55 +02:00
interpolator.c bla 2023-07-07 12:25:47 +02:00
Makefile nap time commit 2023-02-13 17:56:08 +01: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
README.md fixed 2023-07-08 13:10:47 +02:00
sfx.c more experiments in progress 2023-04-29 19:29:45 +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 useless fine tuning and a little oups 2023-07-04 17:26:46 +02:00
t.c a big commit of garbage 2022-05-14 20:49:59 +02: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 spatio-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, utilisable dans une chaine de filtres. L'option -L de ces logiciels permet d'obtenir la liste des filtres. Pour ne rien filtrer, utilisez le filtre none, il est là pour ça.

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

mirsplit:ctr2x2: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:trinitron -F classtrial -T 30

Votre machine va maintenant mouliner avec entrain et persévérance, puis ensuite il vous suffira 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

Tout cela est bien rigolo :)

Use the source, Luke