summaryrefslogtreecommitdiff
path: root/bin/decode+edit+encodeDV
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2017-05-18 01:53:42 +0200
committerJonas Smedegaard <dr@jones.dk>2017-05-18 01:53:47 +0200
commit6f794349b9c0e7da1190235fdbd5229de533165f (patch)
tree6d7cdbec4891317b4aca0d7b330b94594384172e /bin/decode+edit+encodeDV
parente30d3e8e31c6546b5fc8ac52db4cb241c2804de4 (diff)
Resolve bitrate and speed from bits (not simply height).
Diffstat (limited to 'bin/decode+edit+encodeDV')
-rwxr-xr-xbin/decode+edit+encodeDV24
1 files changed, 17 insertions, 7 deletions
diff --git a/bin/decode+edit+encodeDV b/bin/decode+edit+encodeDV
index 6586b8a..ac64d2c 100755
--- a/bin/decode+edit+encodeDV
+++ b/bin/decode+edit+encodeDV
@@ -10,18 +10,28 @@ OUTPUT=../tmp/omni/show0/earth.dv
HEIGHT=360
-# inspired by Apple HLS recommendations
-if [ $HEIGHT -le 234 ]; then
+RATIO_NUM=4
+RATIO_DEN=3
+
+# * bitrates and bits in parens based on https://developer.apple.com/library/content/documentation/General/Reference/HLSAuthoringSpec/Requirements.html
+# + bits rounded up to include nearby modulo 16 formats
+# + best (i.e. high-modulo) 16:9 heights: 216 288 360 432 576 720
+# + best (i.e. high-modulo) 4:3 heights: 288 312 384 480 624 816
+RATIO_NUM=${RATION_NUM:-16}
+RATIO_DEN=${RATION_DEN:-9}
+WIDTH=${WIDTH:-$((HEIGHT*RATIO_NUM/RATIO_DEN))}
+BITS=$((WIDTH*HEIGHT))
+if [ $BITS -le 110592 ]; then # 234p → 97344
VBITRATE=145000
-elif [ $HEIGHT -le 270 ]; then
+elif [ $BITS -le 150528 ]; then # 270p → 129600
VBITRATE=365000
-elif [ $HEIGHT -le 360 ]; then
+elif [ $BITS -le 196608 ]; then # 360p → 172800
VBITRATE=730000
-elif [ $HEIGHT -le 432 ]; then
+elif [ $BITS -le 331776 ]; then # 432p → 331776
VBITRATE=1100000
-elif [ $HEIGHT -le 540 ]; then
+elif [ $BITS -le 589824 ]; then # 540p → 518400
VBITRATE=2000000
-elif [ $HEIGHT -le 720 ]; then
+elif [ $BITS -le 921600 ]; then # 720p → 921600
VBITRATE=3000000
fi