Hangyu Li | 03c5cc1 | 2024-09-12 18:55:36 +0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | set -e |
| 4 | # set -x |
| 5 | |
| 6 | # |
| 7 | # Settings |
| 8 | # |
| 9 | BASEDIR_TOP=$1 |
| 10 | SOC=$2 |
| 11 | INPUT=$3 |
| 12 | OUTPUT=$4 |
| 13 | |
| 14 | TOOLBIN=${BASEDIR_TOP}/tools/zstd |
| 15 | AMFC_ZSTD_HDR=${BASEDIR_TOP}/amfc_zstd_hdr.bin |
| 16 | |
| 17 | COMPRESS_ORG=${BASEDIR_TOP}/${INPUT}.org |
| 18 | COMPRESS_ZSTD=${BASEDIR_TOP}/${INPUT}.zstd |
| 19 | |
| 20 | mv -f $INPUT $COMPRESS_ORG |
| 21 | |
| 22 | ${TOOLBIN} ${COMPRESS_ORG} -9 -o ${COMPRESS_ZSTD} |
| 23 | bin_org_size=`stat -c %s ${COMPRESS_ORG}` |
| 24 | bin_zstd_size=`stat -c %s ${COMPRESS_ZSTD}` |
Hangyu Li | 8f3c406 | 2024-12-16 18:18:51 +0800 | [diff] [blame] | 25 | if [ "$SOC" == "t6d" ]; then |
| 26 | printf "%s" "@ZSTD" > "${AMFC_ZSTD_HDR}" |
| 27 | else |
| 28 | printf "%s" "ZSTD" > "${AMFC_ZSTD_HDR}" |
| 29 | fi |
Hangyu Li | 03c5cc1 | 2024-09-12 18:55:36 +0800 | [diff] [blame] | 30 | |
| 31 | printf "%02x%02x%02x%02x" $[(bin_org_size) & 0xff] \ |
| 32 | $[((bin_org_size) >> 8) & 0xff] $[((bin_org_size) >> 16) & 0xff] \ |
| 33 | $[((bin_org_size) >> 24) & 0xff] | xxd -r -ps >> ${AMFC_ZSTD_HDR} |
| 34 | |
| 35 | printf "%02x%02x%02x%02x" $[(bin_zstd_size) & 0xff] \ |
| 36 | $[((bin_zstd_size) >> 8) & 0xff] $[((bin_zstd_size) >> 16) & 0xff] \ |
| 37 | $[((bin_zstd_size) >> 24) & 0xff] | xxd -r -ps >> ${AMFC_ZSTD_HDR} |
| 38 | |
| 39 | cat ${AMFC_ZSTD_HDR} ${COMPRESS_ZSTD} > ${OUTPUT} |
| 40 | rm ${AMFC_ZSTD_HDR} -f |
| 41 | |
| 42 | # vim: set tabstop=2 expandtab shiftwidth=2: |