Compare commits
5 Commits
154844c94d
...
a4b7f5c21c
Author | SHA1 | Date | |
---|---|---|---|
|
a4b7f5c21c | ||
|
36d30b76d7 | ||
|
e00423ed9b | ||
|
3e66e822f2 | ||
|
a449c53592 |
@ -41,19 +41,19 @@ singlepass: singlepass.c ${DEPS} ${OBJS} Makefile
|
||||
# some files are magically generated, sorry.
|
||||
#
|
||||
crapdef.h: crapulors.liste Makefile craplist2h.awk
|
||||
./craplist2h.awk < $< | tee $@
|
||||
< $< ./craplist2h.awk > $@
|
||||
|
||||
crapstr.h: crapulors.liste Makefile craplist2str.awk
|
||||
./craplist2str.awk < $< | tee $@
|
||||
< $< ./craplist2str.awk > $@
|
||||
|
||||
# ---------------------------------------------------------
|
||||
#
|
||||
# a lot of silly functions
|
||||
#
|
||||
crapulator.o: crapulator.c ${DEPS} Makefile
|
||||
crapulator.o: crapulator.c $(DEPS) Makefile
|
||||
gcc ${COPT} -c $<
|
||||
|
||||
fifo.o: fifo.c fifo.h Makefile
|
||||
fifo.o: fifo.c fifo.h $(DEPS) Makefile
|
||||
gcc ${COPT} -c $<
|
||||
|
||||
sfx.o: sfx.c ${DEPS} Makefile
|
||||
|
@ -6,18 +6,19 @@
|
||||
#
|
||||
|
||||
BEGIN {
|
||||
print "// -----------------------------------"
|
||||
print "// -------------------------------------"
|
||||
print "// generated file, do not edit by hand !"
|
||||
print "// -----------------------------------"
|
||||
print "// -------------------------------------"
|
||||
}
|
||||
|
||||
# $1 is the badly brain-designed numeric id
|
||||
# $2 is the user name of the filter
|
||||
|
||||
{
|
||||
printf "#define CR_%s (%d)\n", $2, $1
|
||||
name = sprintf("CR_%s", $2)
|
||||
printf "#define %-15s (%d)\n", name, $1
|
||||
}
|
||||
|
||||
END {
|
||||
print "// generated file, do not edit by hand !"
|
||||
print "\n// generated file, do not edit by hand !"
|
||||
}
|
||||
|
@ -5,10 +5,10 @@
|
||||
# is includet by 'crapulator.c'
|
||||
#
|
||||
BEGIN {
|
||||
print "// -----------------------------------"
|
||||
print "// generated file, do not edit by hand";
|
||||
print "// -----------------------------------"
|
||||
print "Crapulor CrapL[] = {";
|
||||
print "// -------------------------------------"
|
||||
print "// generated file, do not edit by hand !";
|
||||
print "// -------------------------------------"
|
||||
print "Crapulor CrapL[] = {";
|
||||
}
|
||||
|
||||
# $1 is the badly brain-designed numeric id
|
||||
@ -16,12 +16,13 @@ BEGIN {
|
||||
# $3 and $4 are two not used parameters
|
||||
#
|
||||
{
|
||||
printf " { CR_%s, \"%s\", %d, %f }, // id=%d\n",
|
||||
$2, $2, $3, $4, $1;
|
||||
name = sprintf("CR_%s", $2)
|
||||
printf " { %-12s, \"%s\", %d, %f }, // #%d\n",
|
||||
name, $2, $3, $4, $1;
|
||||
}
|
||||
|
||||
END {
|
||||
print " { -1, NULL }"
|
||||
print " };"
|
||||
print "// generated file, do not edit by hand"
|
||||
print "// ! generated file, do not edit by hand !"
|
||||
}
|
||||
|
@ -195,6 +195,8 @@ int ret;
|
||||
memset(&tmp, 0, sizeof(FloatImg));
|
||||
fimg_clone(img, &tmp, 0);
|
||||
ret = fimg_pixelize_h_rnd(img, &tmp, k);
|
||||
if (verbosity > 1) fprintf(stderr, "in %s, pixelize H rnd -> %d\n",
|
||||
__func__, ret);
|
||||
fimg_copy_data(&tmp, img);
|
||||
fimg_destroy(&tmp);
|
||||
|
||||
@ -434,9 +436,12 @@ switch (idFx) {
|
||||
case CR_pixelizh:
|
||||
retval = run_pixelize_0(image, 8);
|
||||
break;
|
||||
case CR_pixelizv:
|
||||
retval = run_pixelize_0(image, 32);
|
||||
break;
|
||||
|
||||
case CR_pixelrand:
|
||||
retval = run_pixelize_random(image, -1);
|
||||
retval = run_pixelize_random(image, 16);
|
||||
break;
|
||||
|
||||
case CR_splitlevel:
|
||||
@ -444,10 +449,10 @@ switch (idFx) {
|
||||
break;
|
||||
|
||||
case CR_decrgbzc:
|
||||
retval = run_decomprgbz_color(image, -1);
|
||||
retval = run_decomprgbz_color(image, 0);
|
||||
break;
|
||||
case CR_decrgbzg:
|
||||
retval = run_decomprgbz_gray(image, -1);
|
||||
retval = run_decomprgbz_gray(image, 0);
|
||||
break;
|
||||
|
||||
case CR_hilightr:
|
||||
|
@ -151,13 +151,11 @@ int pass, szimg, osrc, odst;
|
||||
szimg = picture->width * picture->height;
|
||||
|
||||
for (pass=0; pass<szimg/32; pass++) {
|
||||
|
||||
osrc = rand() % szimg;
|
||||
odst = rand() % szimg;
|
||||
picture->R[odst] = (picture->R[osrc] + picture->R[odst]) / 2.0;
|
||||
picture->G[odst] = (picture->G[osrc] + picture->G[odst]) / 2.0;
|
||||
picture->B[odst] = (picture->B[osrc] + picture->B[odst]) / 2.0;
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -180,7 +178,6 @@ for (y=0; y<picture->height; y+=16) {
|
||||
un_petit_flou_8x8(picture, x, y+8);
|
||||
un_petit_flou_8x8(picture, x+8, y+8);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,19 +22,17 @@ do_an_effect_pass()
|
||||
{
|
||||
local effect=$1
|
||||
local ddir=$2
|
||||
figlet "$effect" ; echo
|
||||
|
||||
figlet "$effect" ; echo
|
||||
echo " ===> " $ddir
|
||||
ls $ddir | wc
|
||||
|
||||
rm -f $ddir/?????.png
|
||||
ls $ddir | wc
|
||||
|
||||
$SPASS -F $effect \
|
||||
-g $SRCDIR/'?????.fimg' \
|
||||
-O $ddir \
|
||||
-r 2
|
||||
ls $ddir | wc
|
||||
-r 1
|
||||
|
||||
}
|
||||
|
||||
# --------------------------------------------
|
||||
@ -47,6 +45,17 @@ local sdir=$2
|
||||
echo "====== Linkfarming from " $sdir \
|
||||
"====== avec" $(ls $sdir | wc -l) "images"
|
||||
|
||||
mogrify \
|
||||
-font Utopia-Bold \
|
||||
-pointsize 90 \
|
||||
-kerning 9 \
|
||||
-fill Gray80 \
|
||||
-stroke Gray20 \
|
||||
-strokewidth 3 \
|
||||
-gravity South-East \
|
||||
-annotate +45+125 $effname \
|
||||
$sdir/*.png
|
||||
|
||||
for img in $(ls -1 $sdir/?????.png)
|
||||
do
|
||||
|
||||
@ -54,16 +63,6 @@ do
|
||||
# echo "image = " $img
|
||||
# echo "link = " $linkname
|
||||
|
||||
mogrify \
|
||||
-font Noto-Serif-Bold \
|
||||
-pointsize 70 \
|
||||
-kerning 4 \
|
||||
-fill Gray90 \
|
||||
-stroke Gray10 \
|
||||
-strokewidth 3 \
|
||||
-annotate +35+85 $effname \
|
||||
$img
|
||||
|
||||
ln --force --symbolic $img $linkname
|
||||
|
||||
LINKNUM=$(( LINKNUM + 1 ))
|
||||
@ -75,7 +74,7 @@ echo "linkfarming done"
|
||||
|
||||
do_all_the_effects()
|
||||
{
|
||||
EFFECTS=$( $SPASS -L | sort )
|
||||
EFFECTS=$( $SPASS -L | sort --reverse )
|
||||
|
||||
for effect in $EFFECTS
|
||||
do
|
||||
@ -99,8 +98,6 @@ done
|
||||
|
||||
rm -v -f $LINKFARM/L?????.png
|
||||
|
||||
|
||||
|
||||
do_all_the_effects
|
||||
|
||||
banner encoding
|
||||
|
@ -20,7 +20,7 @@
|
||||
* https://git.tetalab.org/tTh/FloatImg
|
||||
*/
|
||||
|
||||
#define FIMG_VERSION (219)
|
||||
#define FIMG_VERSION (220)
|
||||
#define RELEASE_NAME ("noname")
|
||||
|
||||
/* XXX add a test for stdint.h / uint32_t XXX */
|
||||
|
@ -44,6 +44,9 @@ fprintf(stderr, ">>> %s ( %p %p %d )\n", __func__,
|
||||
psrc, pdst, k);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* XXX useless message ?
|
||||
*/
|
||||
if (k) { fprintf(stderr, "k=%d in %s\n", k, __func__); }
|
||||
|
||||
fimg_clear(pdst);
|
||||
@ -102,6 +105,9 @@ fprintf(stderr, ">>> %s ( %p %p %d )\n", __func__,
|
||||
psrc, pdst, k);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* XXX useless message ?
|
||||
*/
|
||||
if (k) { fprintf(stderr, "k=%d in %s\n", k, __func__); }
|
||||
|
||||
fimg_clear(pdst);
|
||||
|
@ -32,7 +32,7 @@ switch(largeur) {
|
||||
case 8: case 16: case 32:
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "pixeliz bad width %d\n", largeur);
|
||||
fprintf(stderr, "%s: bad width %d\n", __func__, largeur);
|
||||
return -77;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,12 @@
|
||||
# Images en virgule flottante, video 4 linux
|
||||
|
||||
Quelques gruikwares en rapport avec la capture vidéo.
|
||||
|
||||
|
||||
## grabvidseq
|
||||
|
||||
Logiciel de capture d'une image flottante par accumulation de trames.
|
||||
|
||||
```
|
||||
tth@lubitel:~/Devel/FloatImg/v4l2$ ./grabvidseq -h
|
||||
options :
|
||||
@ -18,6 +23,10 @@ options :
|
||||
-v increase verbosity
|
||||
```
|
||||
|
||||
Les formats d'exportation sont : Fimg, Png, Tiff, Pnm et Fits. Chacun d'eux
|
||||
ayant son propre lot de limitations et de bugs. Le choix est fait
|
||||
selon l'extension du nom de fichier demandé~: ".fimg", ".tiff"...
|
||||
|
||||
## video-infos
|
||||
|
||||
```
|
||||
|
@ -78,7 +78,7 @@ if (-1 == stat(device, &st)) {
|
||||
}
|
||||
|
||||
if (!S_ISCHR(st.st_mode)) {
|
||||
fprintf(stderr, "%s is no device\n", device);
|
||||
fprintf(stderr, "%s is not a char device\n", device);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
@ -267,7 +267,7 @@ type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
||||
xioctl(fd, VIDIOC_STREAMON, &type);
|
||||
|
||||
#if 1
|
||||
if (verbosity) fprintf(stderr,"pid %d is going to grab %d picz...\n",
|
||||
if (verbosity) fprintf(stderr,"pid %d is going to grab %d frames...\n",
|
||||
getpid(), nbre_capt);
|
||||
#endif
|
||||
|
||||
|
6
v4l2/t.c
6
v4l2/t.c
@ -26,7 +26,9 @@ int vfd, foo;
|
||||
struct v4l2_format fmt;
|
||||
// struct v4l2_requestbuffers reqbuf;
|
||||
|
||||
#if DEBUG_LEVEL
|
||||
fprintf(stderr, ">>> %s ( '%s' %d )\n", __func__, dev, k);
|
||||
#endif
|
||||
|
||||
vfd = open_device(dev);
|
||||
if (verbosity) fprintf(stderr, "\topen %s -> %d\n", dev, vfd);
|
||||
@ -34,7 +36,7 @@ if (verbosity) fprintf(stderr, "\topen %s -> %d\n", dev, vfd);
|
||||
memset(&fmt, 0, sizeof(fmt));
|
||||
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
||||
foo = ioctl(vfd, VIDIOC_G_FMT, &fmt);
|
||||
fprintf(stderr, "%s : ioctl -> %d\n", __func__, foo);
|
||||
if (verbosity) fprintf(stderr, "%s: ioctl -> %d\n", __func__, foo);
|
||||
if (0 != foo) {
|
||||
perror("ioctl G_FMT");
|
||||
return -1;
|
||||
@ -82,7 +84,7 @@ while ((opt = getopt(argc, argv, "d:hK:v")) != -1) {
|
||||
if (verbosity) fimg_print_version(0);
|
||||
|
||||
foo = essai_get_fmt(device, K);
|
||||
fprintf(stderr, "\tessai -> %d\n", foo);
|
||||
if (verbosity || foo) fprintf(stderr, "%s: essai -> %d\n", __func__, foo);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -218,7 +218,7 @@ return "???";
|
||||
/* --------------------------------------------------------------------- */
|
||||
int pr_v4l2_format(char *txt, struct v4l2_format *ptr)
|
||||
{
|
||||
fprintf(FP, "## v4l2_format, %-15s %p\n", txt, ptr);
|
||||
fprintf(FP, "## v4l2_format, %-15s, %p\n", txt, ptr);
|
||||
fprintf(FP, " type %d %s\n", ptr->type,/* enum v4l2_buf_type */
|
||||
fmttype2str(ptr->type));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user