wok annotate lzma/stuff/lzma @ rev 14011

Add: schroedinger - Dirac Video codec
author Dominique Corbex <domcox@slitaz.org>
date Sun Feb 17 19:49:27 2013 +0100 (2013-02-17)
parents 885c330a75ba
children
rev   line source
pascal@3854 1 #!/bin/sh
pascal@3854 2
pascal@3854 3 case "$1" in
pascal@3854 4 d|e|b) exec /usr/bin/lzma-alone $@;;
pascal@9343 5 --size) size=$(od -t d8 -j5 -N8 < $2 | awk '{ print $2; exit }')
pascal@9342 6 if [ $size -eq -1 ]; then
pascal@9342 7 size=$(unlzma -c $2 | wc -c)
pascal@9342 8 n=$size
pascal@9342 9 for i in $(seq 1 8); do
pascal@9342 10 printf '\\\\x%02X' $(($n & 255))
pascal@9342 11 n=$(($n >> 8))
pascal@9342 12 done | xargs echo -en | dd of=$2 conv=notrunc bs=1 seek=5 2> /dev/null
pascal@9342 13 fi
pascal@9342 14 echo $size
pascal@9342 15 exit ;;
pascal@5277 16 --version|-V|--help|-h|-\?) exec /usr/bin/lzma-alone;;
pascal@3854 17 esac
pascal@3854 18
pascal@3854 19 [ -x /usr/bin/lzmap ] && exec /usr/bin/lzmap $@
pascal@3854 20
pascal@3854 21 files=""
pascal@3854 22 outfilter=''
pascal@3854 23 suffix='lzma'
pascal@3854 24 opts='-a1 -d23 -fb128 -mfbt4 -lc3 -lp0 -pb2'
pascal@3854 25 command='e'
pascal@3854 26 keep=''
pascal@3854 27
pascal@7616 28 case "$0" in
pascal@7616 29 *unlzma) command='d';;
pascal@7616 30 *lzcat) command='d'; outfilter='s/.*/-so/'; keep='y';;
pascal@7616 31 esac
pascal@7616 32
pascal@3854 33 while [ -n "$1" ]; do
pascal@3854 34 case "$1" in
pascal@3854 35 -c|--stdout|--to-stdout) outfilter='s/.*/-so/'; keep='y';;
pascal@3854 36 -S|--suffix) suffix="$2"; shift;;
pascal@3854 37 -d|--decompress|--uncompress) command='d';;
pascal@3854 38 -k|--keep) keep='y';;
pascal@3854 39 -1|--fast) opts='-a0 -d16 -fb64 -mfhc4 -lc3 -lp0 -pb2';;
pascal@3854 40 -2) opts='-a1 -d20 -fb64 -mfbt4 -lc3 -lp0 -pb2';;
pascal@3854 41 -3) opts='-a1 -d19 -fb64 -mfbt4 -lc3 -lp0 -pb2';;
pascal@3854 42 -4) opts='-a1 -d20 -fb128 -mfbt4 -lc3 -lp0 -pb2';;
pascal@3854 43 -5) opts='-a1 -d21 -fb128 -mfbt4 -lc3 -lp0 -pb2';;
pascal@3854 44 -6) opts='-a1 -d22 -fb128 -mfbt4 -lc3 -lp0 -pb2';;
pascal@3854 45 -7) opts='-a1 -d23 -fb128 -mfbt4 -lc3 -lp0 -pb2';;
pascal@3854 46 -8) opts='-a1 -d24 -fb255 -mfbt4 -lc3 -lp0 -pb2';;
pascal@3854 47 -9|--best) opts='-a1 -d25 -fb255 -mfhc4 -lc3 -lp0 -pb2';;
pascal@3854 48 -*);;
pascal@3854 49 *) files="$files $1";;
pascal@3854 50 esac
pascal@3854 51 shift
pascal@3854 52 done
pascal@3854 53 [ -z "$outfilter" ] && if [ -n "$files" ]; then
pascal@3854 54 if [ "$command" == "e" ]; then
pascal@3854 55 outfilter="s/\$/.$suffix/"
pascal@3854 56 else
pascal@3854 57 outfilter="s/.$suffix\$//"
pascal@3854 58 fi
pascal@3854 59 else
pascal@3854 60 files='-si'; outfilter='s/.*/-so/'; keep='y';
pascal@3854 61 fi
pascal@3854 62 for i in $files ; do
pascal@3854 63 /usr/bin/lzma-alone $command $i $(echo $i | sed $outfilter) $opts || exit $?
pascal@3854 64 [ -n "$keep" ] || rm -f $i
pascal@3854 65 done