diff --git a/tools/ftfy.sh b/tools/ftfy.sh
index c5cfdea54dfc4d052e21ba4156599217cbdaba26..92059f51cdb89e71bdb59b606585572ade59e570 100755
--- a/tools/ftfy.sh
+++ b/tools/ftfy.sh
@@ -29,12 +29,13 @@ log() {
 
 
 vpx_style() {
-  astyle --style=bsd --min-conditional-indent=0 --break-blocks \
-         --pad-oper --pad-header --unpad-paren \
-         --align-pointer=name \
-         --indent-preprocessor --convert-tabs --indent-labels \
-         --suffix=none --quiet "$@"
-  sed -i "" 's/[[:space:]]\{1,\},/,/g' "$@"
+  for f; do
+    case "$f" in
+      *.h|*.c|*.cc)
+        "${dirname_self}"/vpx-astyle.sh "$f"
+        ;;
+    esac
+  done
 }
 
 
@@ -119,8 +120,7 @@ cd "$(git rev-parse --show-toplevel)"
 git show > "${ORIG_DIFF}"
 
 # Apply the style guide on new and modified files and collect its diff
-for f in $(git diff HEAD^ --name-only -M90 --diff-filter=AM \
-           | grep '\.[ch]$'); do
+for f in $(git diff HEAD^ --name-only -M90 --diff-filter=AM); do
   case "$f" in
     third_party/*) continue;;
     nestegg/*) continue;;
diff --git a/tools/vpx-astyle.sh b/tools/vpx-astyle.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6340426bdcd96788d2018bad248410359e1146c9
--- /dev/null
+++ b/tools/vpx-astyle.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -e
+astyle --style=java --indent=spaces=2 --indent-switches\
+       --min-conditional-indent=0 \
+       --pad-oper --pad-header --unpad-paren \
+       --align-pointer=name \
+       --indent-preprocessor --convert-tabs --indent-labels \
+       --suffix=none --quiet --max-instatement-indent=80 "$@"
+# Disabled, too greedy?
+#sed -i 's;[[:space:]]\{1,\}\[;[;g' "$@"
+
+sed_i() {
+  # Incompatible sed parameter parsing.
+  if sed -i 2>&1 | grep -q 'requires an argument'; then
+    sed -i '' "$@"
+  else
+    sed -i "$@"
+  fi
+}
+
+sed_i -e 's/[[:space:]]\{1,\}\([,;]\)/\1/g' \
+      -e 's/[[:space:]]\{1,\}\([+-]\{2\};\)/\1/g' \
+      -e 's/,[[:space:]]*}/}/g' \
+      -e 's;//\([^/[:space:]].*$\);// \1;g' \
+      -e 's/^\(public\|private\|protected\):$/ \1:/g' \
+      -e 's/[[:space:]]\{1,\}$//g' \
+      "$@"