summaryrefslogtreecommitdiff
path: root/vid-scratch/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'vid-scratch/Makefile')
-rw-r--r--vid-scratch/Makefile83
1 files changed, 83 insertions, 0 deletions
diff --git a/vid-scratch/Makefile b/vid-scratch/Makefile
new file mode 100644
index 0000000..e3b3453
--- /dev/null
+++ b/vid-scratch/Makefile
@@ -0,0 +1,83 @@
+CFLAGS = -Wall -Werror -Wextra -std=gnu23
+
+all:
+.PHONY: all
+
+.NOTINTERMEDIATE:
+.DELETE_ON_ERROR:
+
+################################################################################
+# NUT's flavor of CRC32
+
+all: nut-crc32
+
+################################################################################
+# Generate RGB8 NUT that changes resolution using elision headers
+# Status: does not play at all
+
+all: nutgen-elision.nut
+nutgen-elision: common.h
+nutgen-elision.nut: %.nut: %
+ ./$< >$@
+
+################################################################################
+# Generate RGB8 NUT that changes resolution using side-data
+# Status: plays, but resolution does not change
+
+all: nutgen-sidedata.nut
+nutgen-sidedata: common.h
+nutgen-sidedata.nut: %.nut: %
+ ./$< >$@
+
+################################################################################
+# Generate RGB8 NUT that changes resolution by starting a new NUT file
+# Status: plays, but resolution does not change
+
+all: nutgen-concat.nut
+nutgen-concat: common.h
+nutgen-concat.nut: %.nut: %
+ ./$< >$@
+
+################################################################################
+# Generate RGB8 NUT that changes resolution by having a separate stream for each resolution
+# Status: only 1 stream plays
+
+all: nutgen-streams.nut
+nutgen-streams: common.h
+nutgen-streams.nut: %.nut: %
+ ./$< >$@
+
+################################################################################
+# Generate NUT with embedded GIF to change resolutions
+# Status: WIP (but below bash/ffmpeg experiment shows it should work)
+
+all: nutgen-gif.nut
+nutgen-gif: common.h
+nutgen-gif.nut: %.nut: %
+ ./$< >$@
+
+################################################################################
+# Look at how .webm files can change resolution
+
+all: reschange-cam.nut
+reschange-cam.nut: %.nut: %.webm
+ ffmpeg -y -i $< -c:v copy -an $@
+reschange-cam.webm: Archive.zip
+ bsdtar xfO $< changing-resolution.webm >$@
+# Archive.zip is from https://github.com/OpenShot/libopenshot/issues/382
+
+################################################################################
+# Replicate the .webm thing in NUT/VP8/yuv420p with bash/ffmpeg
+
+all: reschange-mkvgen.nut
+reschange-mkvgen.nut: %.nut: %.mkv
+ ffmpeg -y -i $< -c:v copy $@
+reschange-mkvgen.mkv: %.mkv: %.sh
+ ./$<
+
+################################################################################
+# Replicate it in gif-in-nut with bash/ffmpeg
+
+all: reschange-gif-in-nut-gen.nut
+reschange-gif-in-nut-gen.nut: %.nut: %.sh
+ ./$<