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}` |
wenbo.wang | c4befd3 | 2024-12-06 10:50:50 +0800 | [diff] [blame^] | 25 | printf "%s" "@ZSTD" > ${AMFC_ZSTD_HDR} |
Hangyu Li | 03c5cc1 | 2024-09-12 18:55:36 +0800 | [diff] [blame] | 26 | |
| 27 | printf "%02x%02x%02x%02x" $[(bin_org_size) & 0xff] \ |
| 28 | $[((bin_org_size) >> 8) & 0xff] $[((bin_org_size) >> 16) & 0xff] \ |
| 29 | $[((bin_org_size) >> 24) & 0xff] | xxd -r -ps >> ${AMFC_ZSTD_HDR} |
| 30 | |
| 31 | printf "%02x%02x%02x%02x" $[(bin_zstd_size) & 0xff] \ |
| 32 | $[((bin_zstd_size) >> 8) & 0xff] $[((bin_zstd_size) >> 16) & 0xff] \ |
| 33 | $[((bin_zstd_size) >> 24) & 0xff] | xxd -r -ps >> ${AMFC_ZSTD_HDR} |
| 34 | |
| 35 | cat ${AMFC_ZSTD_HDR} ${COMPRESS_ZSTD} > ${OUTPUT} |
| 36 | rm ${AMFC_ZSTD_HDR} -f |
| 37 | |
| 38 | # vim: set tabstop=2 expandtab shiftwidth=2: |