From 1ef877d9476e8aade6b08247c4775cf4131c9792 Mon Sep 17 00:00:00 2001 From: tTh Date: Sat, 28 Jan 2023 19:31:50 +0100 Subject: [PATCH] small tweaking --- doc/the_floatimg_hack.tex | 52 +++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/doc/the_floatimg_hack.tex b/doc/the_floatimg_hack.tex index 238d977..e9f9abf 100644 --- a/doc/the_floatimg_hack.tex +++ b/doc/the_floatimg_hack.tex @@ -25,6 +25,7 @@ % \usepackage{url} \usepackage{xspace} \usepackage[verbose]{layout} +\usepackage{ulem} \setlength \parskip {0.35em} @@ -769,8 +770,9 @@ int fimg_save_as_png(FloatImg *src, char *outname, int flags); Tous les flags doivent être à zéro. Sinon, ça foire parfois. Et en fait (mars 2021) je ne suis pas très content de -\texttt{pnglite}, donc un de ces jours, je prendrais cinq jours pour -régler ce souci en passant à la bibliothèque canonique +\texttt{pnglite}, donc un de ces jours, je prendrais +\sout{cinq} quelques jours pour +régler ce souci en passant à la bibliothèque canonique. \subsubsection{Vers TIFF}\index{TIFF} @@ -816,6 +818,7 @@ fichier de configuration. int parse_WxH(char *str, int *pw, int *ph) int parse_double(char *str, double *dptr) \end{lstlisting} +% XXX rjouter quelques explication, please ! La fonction \texttt{int format\_from\_extension(char *fname)} examine un nom de fichier tel que \texttt{lena.xxx}, et retourne, si la partie @@ -823,7 +826,7 @@ nom de fichier tel que \texttt{lena.xxx}, et retourne, si la partie déclarées dans floatimg.h le valeureux. Les extensions actuellement connues sont : -fimg, png, pnm, pgm, fits et tiff. +fimg, png, pnm, pgm, fits et tiff. Le bmp est plus ou moins prévu\dots To be continued\index{XXX}\dots @@ -851,7 +854,7 @@ J'ai commencé à étudier ces objets étranges quand j'ai commencé à travailler sur l'interpolator\index{interpolator} à l'automne 2020. Hélas, j'ai vite réalisé que c'était assez délicat. Pour ce genre de \textsl{usecase}, le numérique est pitoyable si on -le compare au \textsc{Betamax}\index{Betamax}. +le compare au (hélas défunt) \textsc{Betamax}\index{Betamax}. % ============================================================= @@ -1010,7 +1013,11 @@ error in 'fimg_create_from_png' : read png -> -1 File error png2fimg : err -1, abort. \end{verbatim} -Il faut peut-être envisager le passage à \texttt{libpng}\index{libpng}. +Il faut peut-être envisager le passage à \texttt{libpng}\index{libpng}, +la bibliothèque actuellement utilisée (\texttt{pnglite}) ayant tendance +à borker en lecture sur certains fichiers pourtant corrects. + +% --------------------- \subsection{fimgstats}\index{fimgstats}\label{fimgstats} @@ -1060,7 +1067,9 @@ sera lisible avec le sélecteur \texttt{-L}. Et pour les aventureux, la commande \texttt{xper} (abréviation de \textsl{expérimental}) permet de tester la plus récente tentative -de friture du moment. +de friture du moment. D'autre part un set bien plus complet d'effets +àlc est disponible dans les logiciels de flou temporel, décrits +plus loin dans ce document. % --------------------- @@ -1287,7 +1296,7 @@ Il reste plein de choses à faire pour que ce soit vraiment utilisable, surtout dans un contexte artistique à grande porosité. C'est par ces frottements de techniques ayant du sens que les choses seront acquises, pour le pire, le meilleur et la -futilité du monde futur.. +techno-futilité du monde futur.. \begin{itemize} \item Import/export au format \textsc{tiff}\index{TIFF} à continuer. @@ -1297,7 +1306,7 @@ futilité du monde futur.. \item Formaliser les codes d'erreur. \textbf{Urgent}. \item Faire une passe complète de Valgrind\index{valgrind}. \item Intégrer la fonderie, l'interpolator et le singlepass. -\item Vérifier le gestion des images mono-canal. +\item Vérifier le gestion des images mono-canal et de la transparence. \end{itemize} % =================================================================== @@ -1311,7 +1320,7 @@ jamais négliger le traitement des éventuelles erreurs. Nous savons générer une image contenant des pixels aux valeurs probablement aléatoires, avec la commande \texttt{mkfimg}, qui utilise le \texttt{drand48}\index{drand48} de \textsc{posix}\index{POSIX}. -Maintenant, posons-nous une question de statisticien : ue se passe-t-il si +Maintenant, posons-nous une question de statisticien : que se passe-t-il si nous faisons la somme de plusieurs centaines de ces images ? \begin{lstlisting} @@ -1399,10 +1408,12 @@ OFFS=$(( NBRE / 4 )) \end{verbatim} -Dans ce préliminaire logiciel, nous avons nommés le répertoire +Dans ce préliminaire logiciel, nous avons nommé le répertoire \textsc{srcdir} contenant les captures d'image au format fimg, le répertoire \textsc{dstdir} dans lequel seront rangées les images calculées, -et l'emplacement de deux fichiers de travail. +et l'emplacement de deux fichiers de travail, placés dans ce qui +peut être vu comme un \textsl{ramdisk}\index{ramdisk}\index{/dev/shm/} +et qui accélère un peu les opérations. Les quelques lignes suivantes, qui semble bien magiques, ne sont en fait que de la magie Unix\index{Unix}. Elles nous permettent d'avoir @@ -1448,12 +1459,12 @@ $sin(idx/16)$ afin d'avoir une oscillation du coefficient entre \begin{verbatim} # do the hard floating computation # - fimgfx -v cos010 ${imgB} ${FTMP} - fimgops -k ${K} ${FTMP} ${imgA} mix ${FDST} + fimgfx -v cos010 ${imgB} ${FTMP} + fimgops -k ${K} ${FTMP} ${imgA} mix ${FDST} \end{verbatim} Étape suivante, étape cruciale : le brassage d'une multitude de -pixels flottants. +pixels flottants. Tout d'abord, nous faisons subir à l'image-echo (\texttt{imgB}, définie au début du script) un distorsion @@ -1471,8 +1482,8 @@ done \end{verbatim} Et en fin de boucle, nous convertissons le résultat de nos -savants calculs au format PNG, et écrivons le fichier dans le répertoire -de destination fixé au début. +savants calculs au format PNG, et nous écrivons le fichier dans le +répertoire de destination fixé au début. C'est le moment de passer la main à ffmpeg\index{ffmpeg}. C'est juste une POC\index{POC}, et une implémentation bien plus @@ -1480,6 +1491,9 @@ complète écrite en \textbf{C}\index{C} est déja en chantier, avec une complexité prévue à un niveau assez réjouissant. % =================================================================== +% +% V4L2 is a trap. +% \section{Video for Linux}\index{v4l2} Donc, maintenant, nous savons un peu tripoter ces images flottantes. @@ -1535,8 +1549,8 @@ vaguement expliqué page \pageref{contraste}. L'option \texttt{-X} me permet d'intégrer des \textit{fritures} expérimentales dans le binaire, et ne doit donc pas être -utilisée dans des scripts si on a des visions à long (ou même) -terme. +utilisée dans des scripts si on a des visions à long +(ou même moyen) terme. \subsubsection{Upscaling}\index{upscaling}\label{upscaling} @@ -1576,6 +1590,8 @@ des choses essentielles comme la liste des résolutions disponibles. Ajustement \textsl{Brightness Contrast Saturation Hue\dots} +Probablement pilotable au joystick\index{joystick}. + % =================================================================== \section{À l'extérieur}