2 #############################################################################
\r
4 #############################################################################
\r
14 AVS2WAV:=$(ENC_UTIL_DIR)/avs2wav.exe
\r
15 FDKAAC:=$(ENC_UTIL_DIR)/fdkaac.exe
\r
16 X264:=$(ENC_UTIL_DIR)/x264_x64.exe
\r
17 MUXER:=$(ENC_UTIL_DIR)/muxer.exe
\r
18 REMUXER:=$(ENC_UTIL_DIR)/remuxer.exe
\r
20 AOPTION=-b 256000 --profile 2
\r
21 AOPTION_ECO=-b 64000 --profile 29
\r
23 VOPTION_COMMON=--opencl --preset slower --me umh --bframes 3 --keyint 240 --min-keyint 23 --qcomp 0.70 --rc-lookahead 240 --scenecut 65 --no-dct-decimate --no-fast-pskip --aq-mode 1 --aq-strength 0.8
\r
24 # 注: bframesは3より大きいと黒背景白文字のスライドの動き(EDロールなど)で破綻する
\r
25 # scenecutはアニメではデフォルトより大きめにしておくと良いらしい
\r
27 VOPTION= $(VOPTION_COMMON) --crf 16 --vbv-maxrate 3500 --vbv-bufsize 3400 --profile high --partitions all --video-filter resize:1280,720,1:1:lanczos
\r
28 VOPTION_BD= $(VOPTION_COMMON) --crf 16 --bluray-compat --vbv-maxrate 40000 --vbv-bufsize 30000 --level 4.1 --keyint 24 --slices 4 --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --sar 1:1 --b-pyramid strict --weightp 0
\r
29 VOPTION_ECO= $(VOPTION_COMMON) --bitrate 230 --profile main --8x8dct --partitions "p8x8,b8x8,i8x8,i4x4" --video-filter resize:352,200,1:1:lanczos
\r
30 VOPT_FAST=--analyse none --subme 1 --me dia
\r
36 OUT_MP4=_release/kosys.mp4
\r
37 TMPA1=_release/kosys.tmp.m4a
\r
38 TMPV1=_release/kosys.tmp.264
\r
39 TMPV2=_release/kosys.tmp.mp4
\r
40 OUT_MP4_PRE=_release/kosys_pre.mp4
\r
41 TMPV1_PRE=_release/kosys_pre.tmp.264
\r
42 TMPV2_PRE=_release/kosys_pre.tmp.mp4
\r
43 OUT_MP4_BD=_release/kosys_bd.mp4
\r
44 TMPV1_BD=_release/kosys_bd.tmp.264
\r
45 TMPV2_BD=_release/kosys_bd.tmp.mp4
\r
46 OUT_MP4_ECO=_release/kosys_eco.mp4
\r
47 TMPA1_ECO=_release/kosys_eco.tmp.m4a
\r
48 TMPV1_ECO=_release/kosys_eco.tmp.264
\r
49 TMPV2_ECO=_release/kosys_eco.tmp.mp4
\r
51 #############################################################################
\r
53 #############################################################################
\r
55 .PHONY: all $(SUBDIRS)
\r
62 release: version $(OUT_MP4)
\r
63 $(OUT_MP4): $(TMPA1) $(TMPV1) $(TMPV2)
\r
64 $(REMUXER) -i $(TMPV2) -i $(TMPA1) -o $(OUT_MP4)
\r
67 $(MUXER) -i $(TMPV1)?fps=$(FPS) -o $(TMPV2)
\r
70 $(TMPV1): $(wildcard *.avs) $(wildcard doga/*.avs) $(wildcard doga/_output/*.avi) $(VER_AVS)
\r
71 $(X264) $(VOPTION) $(VOPT_SLOW) -o $(TMPV1) $(IN_AVS)
\r
74 $(TMPA1): $(wildcard sound/*.avs) $(wildcard sound/*.wav) $(wildcard sound/*.mp3) $(wildcard sound/*.aac) $(wildcard sound/*.m4a)
\r
75 $(AVS2WAV) $(IN_AVS) - |$(FDKAAC) $(AOPTION) -o $(TMPA1) -
\r
79 preview: version $(OUT_MP4_PRE)
\r
80 $(OUT_MP4_PRE): $(TMPA1) $(TMPV1_PRE) $(TMPV2_PRE)
\r
81 $(REMUXER) -i $(TMPV2_PRE) -i $(TMPA1) -o $(OUT_MP4_PRE)
\r
83 $(TMPV2_PRE): $(TMPV1_PRE)
\r
84 $(MUXER) -i $(TMPV1_PRE)?fps=$(FPS) -o $(TMPV2_PRE)
\r
86 $(TMPV1_PRE): $(wildcard *.avs) $(wildcard doga/*.avs) $(wildcard doga/_output/*.avi) $(VER_AVS)
\r
87 $(X264) $(VOPTION) $(VOPT_FAST) -o $(TMPV1_PRE) $(IN_AVS)
\r
90 eco: version $(OUT_MP4_ECO)
\r
91 $(OUT_MP4_ECO): $(OUT_MP4) $(TMPA1_ECO)
\r
92 $(X264) $(VOPTION_ECO) --pass 1 $(VOPT_FAST) -o $(TMPV1_ECO) $(OUT_MP4)
\r
93 $(X264) $(VOPTION_ECO) --pass 2 $(VOPT_SLOW) -o $(TMPV1_ECO) $(OUT_MP4)
\r
94 $(MUXER) -i $(TMPV1_ECO)?fps=$(FPS) -o $(TMPV2_ECO)
\r
95 $(REMUXER) -i $(TMPV2_ECO) -i $(TMPA1_ECO) -o $(OUT_MP4_ECO)
\r
97 $(TMPA1_ECO): $(wildcard sound/*.avs) $(wildcard sound/*.wav) $(wildcard sound/*.mp3) $(wildcard sound/*.aac) $(wildcard sound/*.m4a)
\r
98 $(AVS2WAV) $(IN_AVS) - |$(FDKAAC) $(AOPTION_ECO) -o $(TMPA1_ECO) -
\r
102 release-bd: version $(OUT_MP4_BD)
\r
103 $(OUT_MP4_BD): $(TMPA1) $(TMPV1_BD) $(TMPV2_BD)
\r
104 $(REMUXER) -i $(TMPV2_BD) -i $(TMPA1) -o $(OUT_MP4_BD)
\r
106 $(TMPV2_BD): $(TMPV1_BD)
\r
107 $(MUXER) -i $(TMPV1_BD)?fps=$(FPS) -o $(TMPV2_BD)
\r
109 $(TMPV1_BD): $(wildcard *.avs) $(wildcard doga/*.avs) $(wildcard doga/_output/*.avi) $(VER_AVS)
\r
110 $(X264) $(VOPTION_BD) $(VOPT_SLOW) -o $(TMPV1_BD) $(IN_AVS)
\r
116 echo 'global VERSION="$(shell git describe --abbrev=7 --dirty --always --tags)"' > $(VER_AVS).tmp
\r
117 # リビジョン番号が変化していたときのみ上書きする
\r
118 test -e $(VER_AVS) || cp -f $(VER_AVS).tmp $(VER_AVS)
\r
119 test "$$(md5sum $(VER_AVS).tmp | awk '{ print $$1 }')" != "$$(md5sum $(VER_AVS) | awk '{ print $$1 }')" && cp -f $(VER_AVS).tmp $(VER_AVS) || true
\r
120 rm -f $(VER_AVS).tmp
\r