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. # Go to https://github.com/gpac/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. # Go to https://github.com/gpac/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. # Go to https://github.com/gpac/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. # Go to https://github.com/gpac/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. # Go to https://github.com/gpac/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. # Go to https://github.com/gpac/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)