Source code

Revision control

Copy as Markdown

Other Tools

CAVIF=../cavif/cmake-build-debug/cavif
DAVIF=../davif/cmake-build-debug/davif
all: hato kimono fox plum;
HATO=\
hato.profile2.8bpc.yuv422.avif \
hato.profile2.8bpc.yuv422.monochrome.avif \
hato.profile2.10bpc.yuv422.avif \
hato.profile2.10bpc.yuv422.monochrome.avif \
hato.profile2.12bpc.yuv422.avif \
hato.profile2.12bpc.yuv422.monochrome.avif \
hato.profile0.8bpc.yuv420.avif \
hato.profile0.8bpc.yuv420.monochrome.avif \
hato.profile0.10bpc.yuv420.avif \
hato.profile0.10bpc.yuv420.monochrome.avif
hato: $(HATO);
KIMONO=\
kimono.avif \
kimono.rotate90.avif \
kimono.rotate270.avif \
kimono.mirror-horizontal.avif \
kimono.mirror-vertical.avif \
kimono.mirror-vertical.rotate270.avif \
kimono.crop.avif \
kimono.mirror-vertical.rotate270.crop.avif
kimono: $(KIMONO);
FOX=\
fox.profile0.8bpc.yuv420.avif \
fox.profile0.8bpc.yuv420.odd-width.avif \
fox.profile0.8bpc.yuv420.odd-height.avif \
fox.profile0.8bpc.yuv420.odd-width.odd-height.avif \
fox.profile0.8bpc.yuv420.monochrome.avif \
fox.profile0.8bpc.yuv420.monochrome.odd-width.avif \
fox.profile0.8bpc.yuv420.monochrome.odd-height.avif \
fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif \
fox.profile0.10bpc.yuv420.avif \
fox.profile0.10bpc.yuv420.odd-width.avif \
fox.profile0.10bpc.yuv420.odd-height.avif \
fox.profile0.10bpc.yuv420.odd-width.odd-height.avif \
fox.profile0.10bpc.yuv420.monochrome.avif \
fox.profile0.10bpc.yuv420.monochrome.odd-width.avif \
fox.profile0.10bpc.yuv420.monochrome.odd-height.avif \
fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif \
fox.profile2.12bpc.yuv420.avif \
fox.profile2.12bpc.yuv420.odd-width.avif \
fox.profile2.12bpc.yuv420.odd-height.avif \
fox.profile2.12bpc.yuv420.odd-width.odd-height.avif \
fox.profile2.12bpc.yuv420.monochrome.avif \
fox.profile2.12bpc.yuv420.monochrome.odd-width.avif \
fox.profile2.12bpc.yuv420.monochrome.odd-height.avif \
fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif \
fox.profile2.8bpc.yuv422.avif \
fox.profile2.8bpc.yuv422.odd-width.avif \
fox.profile2.8bpc.yuv422.odd-height.avif \
fox.profile2.8bpc.yuv422.odd-width.odd-height.avif \
fox.profile2.8bpc.yuv422.monochrome.avif \
fox.profile2.8bpc.yuv422.monochrome.odd-width.avif \
fox.profile2.8bpc.yuv422.monochrome.odd-height.avif \
fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif \
fox.profile2.10bpc.yuv422.avif \
fox.profile2.10bpc.yuv422.odd-width.avif \
fox.profile2.10bpc.yuv422.odd-height.avif \
fox.profile2.10bpc.yuv422.odd-width.odd-height.avif \
fox.profile2.10bpc.yuv422.monochrome.avif \
fox.profile2.10bpc.yuv422.monochrome.odd-width.avif \
fox.profile2.10bpc.yuv422.monochrome.odd-height.avif \
fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif \
fox.profile2.12bpc.yuv422.avif \
fox.profile2.12bpc.yuv422.odd-width.avif \
fox.profile2.12bpc.yuv422.odd-height.avif \
fox.profile2.12bpc.yuv422.odd-width.odd-height.avif \
fox.profile2.12bpc.yuv422.monochrome.avif \
fox.profile2.12bpc.yuv422.monochrome.odd-width.avif \
fox.profile2.12bpc.yuv422.monochrome.odd-height.avif \
fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif \
fox.profile1.8bpc.yuv444.avif \
fox.profile1.8bpc.yuv444.odd-width.avif \
fox.profile1.8bpc.yuv444.odd-height.avif \
fox.profile1.8bpc.yuv444.odd-width.odd-height.avif \
fox.profile1.10bpc.yuv444.avif \
fox.profile1.10bpc.yuv444.odd-width.avif \
fox.profile1.10bpc.yuv444.odd-height.avif \
fox.profile1.10bpc.yuv444.odd-width.odd-height.avif \
fox.profile2.12bpc.yuv444.avif \
fox.profile2.12bpc.yuv444.odd-width.avif \
fox.profile2.12bpc.yuv444.odd-height.avif \
fox.profile2.12bpc.yuv444.odd-width.odd-height.avif \
fox.profile2.12bpc.yuv444.monochrome.avif \
fox.profile2.12bpc.yuv444.monochrome.odd-width.avif \
fox.profile2.12bpc.yuv444.monochrome.odd-height.avif \
fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif
fox: $(FOX);
PLUM_LARGE=\
plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif \
plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif \
plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif \
plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif \
plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif \
plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif \
plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif \
plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif \
plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif \
plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif \
plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif \
plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif \
plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif \
plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif \
plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif \
plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif \
plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif \
plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif \
plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif \
plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif \
plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif \
plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif \
plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif \
plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif \
plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif \
plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif \
plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif \
plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif \
plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif \
plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif \
plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif \
plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif
PLUM_SMALL=\
plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif \
plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif \
plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif \
plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif \
plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif \
plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif \
plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif \
plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif \
plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif \
plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif \
plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif \
plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif \
plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif \
plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif \
plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif \
plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif \
plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif \
plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif \
plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif \
plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif \
plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif \
plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif \
plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif \
plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif \
plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif \
plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif \
plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif \
plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif \
plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif \
plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif \
plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif \
plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif
PLUM=$(PLUM_LARGE) $(PLUM_SMALL)
plum: $(PLUM);
STAR=\
star-8bpc.avifs \
star-8bpc-with-alpha.avifs \
star-10bpc.avifs \
star-10bpc-with-alpha.avifs \
star-12bpc.avifs \
star-12bpc-with-alpha.avifs
star: $(STAR);
ALL_AVIF=$(HATO) $(KIMONO) $(FOX) $(PLUM)
ALL_AVIFS=$(STAR)
DECODED_PNG=$(ALL_AVIF:%.avif=decoded/%.png)
DUMMY_CHECK_TARGETS=$(ALL_AVIF:%.avif=%.check)
.PHONY: all clean \
hato kimono fox plum \
star \
decode decode-clean decode-images \
url hato-url kimono-url fox-url plum-url\
compare $(DUMMY_CHECK_TARGETS)
decode-clean:
rm -Rf decoded/
$(DECODED_PNG): | decoded
decoded:
mkdir -p decoded
decode-images: $(DECODED_PNG);
decode:
$(MAKE) decode-clean
$(MAKE) decode-images
compare: $(DUMMY_CHECK_TARGETS);
decoded/%.png: %.avif
$(DAVIF) -i $< -o $@
$(DUMMY_CHECK_TARGETS): %.check: %.avif decoded/%.png
bash -e scripts/compare.sh $@ $(word 1,$^) $(word 2,$^)
url:
cat Makefile | grep '^.*\?\.avif:' | sort -d | sed 's/^\(.*\)\:\s*\(.*\)$\/https\:\/\/raw.githubusercontent.com\/link-u\/avif-sample-images\/master\/\1, https\:\/\/raw.githubusercontent.com\/link-u\/avif-sample-images\/master\/\2/'
hato-url:
$(MAKE) url | grep hato
kimono-url:
$(MAKE) url | grep kimono
fox-url:
$(MAKE) url | grep fox
plum-url:
$(MAKE) url | grep plum-blossom
clean:
rm -Rf *.avif decoded .alpha-masks
## hato
### YUV422
hato.profile2.8bpc.yuv422.avif: hato.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
hato.profile2.8bpc.yuv422.monochrome.avif: hato.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --monochrome --cpu-used 0 --rate-control q --crf 18
hato.profile2.10bpc.yuv422.avif: hato.16bpc.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
hato.profile2.10bpc.yuv422.monochrome.avif: hato.16bpc.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --monochrome --cpu-used 0 --rate-control q --crf 18
hato.profile2.12bpc.yuv422.avif: hato.16bpc.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
hato.profile2.12bpc.yuv422.monochrome.avif: hato.16bpc.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --monochrome --cpu-used 0 --rate-control q --crf 18
### YUV420
hato.profile0.8bpc.yuv420.avif: hato.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
hato.profile0.8bpc.yuv420.monochrome.avif: hato.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --monochrome --cpu-used 0 --rate-control q --crf 18
hato.profile0.10bpc.yuv420.avif: hato.16bpc.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
hato.profile0.10bpc.yuv420.monochrome.avif: hato.16bpc.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --monochrome --cpu-used 0 --rate-control q --crf 18
## Kimono
kimono.avif: kimono.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
kimono.rotate90.avif: kimono.rotate90.png
$(CAVIF) -i $< -o $@ --rotation 270 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
kimono.rotate270.avif: kimono.rotate270.png
$(CAVIF) -i $< -o $@ --rotation 90 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
kimono.mirror-horizontal.avif: kimono.mirror-horizontal.png
$(CAVIF) -i $< -o $@ --mirror horizontal --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
kimono.mirror-vertical.avif: kimono.mirror-vertical.png
$(CAVIF) -i $< -o $@ --mirror vertical --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
kimono.mirror-vertical.rotate270.avif: kimono.mirror-vertical.rotate270.png
$(CAVIF) -i $< -o $@ --mirror vertical --rotation 90 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
kimono.crop.avif: kimono.png
$(CAVIF) -i $< -o $@ --crop-offset 103,-308 --crop-size 385,330 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
kimono.mirror-vertical.rotate270.crop.avif: kimono.mirror-vertical.rotate270.png
$(CAVIF) -i $< -o $@ --crop-offset -308,103 --crop-size 330,385 --mirror vertical --rotation 90 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
## Fox Parade
### YUV420
#### 8bit
fox.profile0.8bpc.yuv420.avif: fox.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.8bpc.yuv420.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.8bpc.yuv420.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.8bpc.yuv420.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.8bpc.yuv420.monochrome.avif: fox.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.8bpc.yuv420.monochrome.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.8bpc.yuv420.monochrome.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
#### 10bit
fox.profile0.10bpc.yuv420.avif: fox.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.10bpc.yuv420.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.10bpc.yuv420.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.10bpc.yuv420.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.10bpc.yuv420.monochrome.avif: fox.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.10bpc.yuv420.monochrome.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.10bpc.yuv420.monochrome.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
#### 12bit
fox.profile2.12bpc.yuv420.avif: fox.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv420.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv420.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv420.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv420.monochrome.avif: fox.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv420.monochrome.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv420.monochrome.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
### YUV422
#### 8bit
fox.profile2.8bpc.yuv422.avif: fox.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.8bpc.yuv422.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.8bpc.yuv422.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.8bpc.yuv422.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.8bpc.yuv422.monochrome.avif: fox.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.8bpc.yuv422.monochrome.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.8bpc.yuv422.monochrome.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
#### 10bit
fox.profile2.10bpc.yuv422.avif: fox.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.10bpc.yuv422.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.10bpc.yuv422.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.10bpc.yuv422.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.10bpc.yuv422.monochrome.avif: fox.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.10bpc.yuv422.monochrome.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.10bpc.yuv422.monochrome.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
#### 12bit
fox.profile2.12bpc.yuv422.avif: fox.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv422.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv422.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv422.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv422.monochrome.avif: fox.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv422.monochrome.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv422.monochrome.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
### YUV444
#### 8bit
fox.profile1.8bpc.yuv444.avif: fox.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile1.8bpc.yuv444.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile1.8bpc.yuv444.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile1.8bpc.yuv444.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
#### 10bit
fox.profile1.10bpc.yuv444.avif: fox.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile1.10bpc.yuv444.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile1.10bpc.yuv444.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile1.10bpc.yuv444.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
#### 12bit
fox.profile2.12bpc.yuv444.avif: fox.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv444.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv444.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv444.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv444.monochrome.avif: fox.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv444.monochrome.odd-width.avif: fox.odd-width.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv444.monochrome.odd-height.avif: fox.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png
$(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
## Alpha mask
.alpha-masks:
mkdir -p .alpha-masks
$(PLUM): | .alpha-masks
## Plum blossom - large version
### YUV420
#### 8bit
plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
#### 10bit
plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
#### 12bit
plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
## YUV422
#### 8bit
plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
#### 10bit
plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
#### 12bit
plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
### YUV444
#### 8bit
plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
#### 10bit
plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
#### 12bit
plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif: plum-blossom-large.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 --monochrome
## Plum blossom - small version
### YUV420
#### 8bit
plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
#### 10bit
plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
#### 12bit
plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome
## YUV422
#### 8bit
plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
#### 10bit
plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
#### 12bit
plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome
### YUV444
#### 8bit
plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
#### 10bit
plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
#### 12bit
plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 --monochrome
plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18
plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif: plum-blossom-small.png
$(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome --enable-full-color-range
$(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 --monochrome
star-8bpc.avifs: star.input.txt
$(eval TMP := $(shell mktemp -d))
~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv420p -color_range jpeg -b:v 0 -crf 0 -lossless 1 $(TMP)/star.mp4
# You need the latest version of gpac.
# then, `make deb -j32`
MP4Box -add-image $(TMP)/star.mp4:id=1:primary -new $@
MP4Box -ab avis -ab msf1 -ab miaf -ab MA1B -rb mif1 -brand avis $@
MP4Box -add $(TMP)/star.mp4:hdlr=pict:ccst:name="GPAC avifs" $@
rm -Rfv $(TMP)
# FIXME(ledya-z): WORK IN PROGRESS
star-8bpc-with-alpha.avifs: star.input.txt
$(eval TMP := $(shell mktemp -d))
~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv420p -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-video.mp4"
# FIXME(ledyba-z): It does not generate monochrome OBUs.
~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt gray -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-alpha.mp4"
# You need the latest version of gpac.
# then, `make deb -j32`
MP4Box -raw-layer "1:output=$(TMP)/star-video" "$(TMP)/star-video.mp4"
MP4Box -raw-layer "1:output=$(TMP)/star-alpha" "$(TMP)/star-alpha.mp4"
MP4Box -add-image "$(TMP)/star-alpha.av1:id=3:ref=auxl,4:alpha:name=Alpha" -add-image "$(TMP)/star-video.av1:id=4:name=Color" -set-primary 4 -ab avif -new $@
MP4Box -add "$(TMP)/star-video.av1:hdlr=pict:ccst:name=\"GPAC avifs\"" -add "$(TMP)/star-alpha.av1:hdlr=auxv:ccst:alpha:name=\"GPAC avifs alpha\"" -ref 2:auxl:1 -ab msf1 -ab miaf -ab MA1B -brand avis $@
rm -Rfv $(TMP)
star-10bpc.avifs: star.input.txt
$(eval TMP := $(shell mktemp -d))
~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv422p10 -color_range jpeg -b:v 0 -crf 0 -lossless 1 $(TMP)/star.mp4
# You need the latest version of gpac.
# then, `make deb -j32`
MP4Box -add-image $(TMP)/star.mp4:id=1:primary -new $@
MP4Box -ab avis -ab msf1 -ab miaf -ab MA1B -rb mif1 -brand avis $@
MP4Box -add $(TMP)/star.mp4:hdlr=pict:ccst:name="GPAC avifs" $@
rm -Rfv $(TMP)
# FIXME(ledya-z): WORK IN PROGRESS
star-10bpc-with-alpha.avifs: star.input.txt
$(eval TMP := $(shell mktemp -d))
~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv422p10 -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-video.mp4"
# FIXME(ledyba-z): It does not generate monochrome OBUs.
~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt gray10 -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-alpha.mp4"
# You need the latest version of gpac.
# then, `make deb -j32`
MP4Box -raw-layer "1:output=$(TMP)/star-video" "$(TMP)/star-video.mp4"
MP4Box -raw-layer "1:output=$(TMP)/star-alpha" "$(TMP)/star-alpha.mp4"
MP4Box -add-image "$(TMP)/star-alpha.av1:id=3:ref=auxl,4:alpha:name=Alpha" -add-image "$(TMP)/star-video.av1:id=4:name=Color" -set-primary 4 -ab avif -new $@
MP4Box -add "$(TMP)/star-video.av1:hdlr=pict:ccst:name=\"GPAC avifs\"" -add "$(TMP)/star-alpha.av1:hdlr=auxv:ccst:alpha:name=\"GPAC avifs alpha\"" -ref 2:auxl:1 -ab msf1 -ab miaf -ab MA1B -brand avis $@
rm -Rfv $(TMP)
star-12bpc.avifs: star.input.txt
$(eval TMP := $(shell mktemp -d))
~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv444p12 -color_range jpeg -b:v 0 -crf 0 -lossless 1 $(TMP)/star.mp4
# You need the latest version of gpac.
# then, `make deb -j32`
MP4Box -add-image $(TMP)/star.mp4:id=1:primary -new $@
MP4Box -ab avis -ab msf1 -ab miaf -ab MA1B -rb mif1 -brand avis $@
MP4Box -add $(TMP)/star.mp4:hdlr=pict:ccst:name="GPAC avifs" $@
rm -Rfv $(TMP)
# FIXME(ledya-z): WORK IN PROGRESS
star-12bpc-with-alpha.avifs: star.input.txt
$(eval TMP := $(shell mktemp -d))
~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv444p12 -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-video.mp4"
# FIXME(ledyba-z): It does not generate monochrome OBUs.
~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt gray12 -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-alpha.mp4"
# You need the latest version of gpac.
# then, `make deb -j32`
MP4Box -raw-layer "1:output=$(TMP)/star-video" "$(TMP)/star-video.mp4"
MP4Box -raw-layer "1:output=$(TMP)/star-alpha" "$(TMP)/star-alpha.mp4"
MP4Box -add-image "$(TMP)/star-alpha.av1:id=3:ref=auxl,4:alpha:name=Alpha" -add-image "$(TMP)/star-video.av1:id=4:name=Color" -set-primary 4 -ab avif -new $@
MP4Box -add "$(TMP)/star-video.av1:hdlr=pict:ccst:name=\"GPAC avifs\"" -add "$(TMP)/star-alpha.av1:hdlr=auxv:ccst:alpha:name=\"GPAC avifs alpha\"" -ref 2:auxl:1 -ab msf1 -ab miaf -ab MA1B -brand avis $@
rm -Rfv $(TMP)