diff options
Diffstat (limited to 'vid-scratch/Makefile')
-rw-r--r-- | vid-scratch/Makefile | 83 |
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 + ./$< |