Commit 5ce993e1 authored by multrus's avatar multrus
Browse files

first part of stripping functionality

parent fc0510a5
Loading
Loading
Loading
Loading
+123 −1
Original line number Diff line number Diff line
@@ -35,14 +35,48 @@ DATE=`eval date +%Y_%m_%d`
OUTDIR=c-code
TMPCLEANDIR=clean-c-code
ROOT=$(dirname $0)/..
STRIP_SPLITREND=0


# check, whether coan exists
coan_exists () {
  type coan &> /dev/null ;
#  return false
}


##########################
#                        #
# Start, Commandline     #
#                        #
##########################

ALL_OPTS=":h-:"
while getopts "$ALL_OPTS" OPTION; do
    case "${OPTION}" in
        -)
            case "${OPTARG}" in
                strip_sr)
                    STRIP_SPLITREND=1
                    ;;
               *)
                    if [ "$OPTERR" = 1 ] && [ "${ALL_OPTS:0:1}" != ":" ]; then
                        echo "Unknown option --${OPTARG}" >&2
                    fi
                    ;;
            esac;;
        h)
            echo "usage: $0 [--strip_sr]" >&2
            exit -1
            ;;
        *)
            if [ "$OPTERR" != 1 ] || [ "${ALLOPTS:0:1}" = ":" ]; then
                echo "Unknown argument: '-${OPTARG}'" >&2
            fi
            ;;
    esac
done


##########################
#                        #
# Prepare dirs and copy  #
@@ -80,6 +114,94 @@ cp ${ROOT}/readme.txt ${OUTDIR}
recode lat1..ibmpc ${OUTDIR}/readme.txt # unix2dos ...


##########################
#                        #
# Strip Split Rendering  #
#                        #
##########################

if [ $STRIP_SPLITREND -ne 0 ]; then

  echo "Stripping Split Rendering"

  # remove complete lc3plus folder
  rm -R $OUTDIR/lc3plus
  
  # remove other split rendering files
  declare -a sr_files=(
      "lib_rend/ivas_CQMFDecoder.c"
      "lib_rend/ivas_CQMFDecoder.h"
      "lib_rend/ivas_CQMFEncoder.c"
      "lib_rend/ivas_CQMFEncoder.h"
      "lib_rend/ivas_MSPred.c"
      "lib_rend/ivas_MSPred.h"
      "lib_rend/ivas_NoiseGen.c"
      "lib_rend/ivas_NoiseGen.h"
      "lib_rend/ivas_PerceptualModel.c"
      "lib_rend/ivas_PerceptualModel.h"
      "lib_rend/ivas_PredDecoder.c"
      "lib_rend/ivas_PredDecoder.h"
      "lib_rend/ivas_PredEncoder.c"
      "lib_rend/ivas_PredEncoder.h"
      "lib_rend/ivas_PredTables.h"
      "lib_rend/ivas_RMSEnvGrouping.c"
      "lib_rend/ivas_RMSEnvGrouping.h"
      "lib_rend/ivas_cldfb_codec_bitstream.c"
      "lib_rend/ivas_cldfb_codec_bitstream.h"
      "lib_rend/ivas_lc3plus_common.c"
      "lib_rend/ivas_lc3plus_common.h"
      "lib_rend/ivas_lc3plus_dec.c"
      "lib_rend/ivas_lc3plus_dec.h"
      "lib_rend/ivas_lc3plus_enc.c"
      "lib_rend/ivas_lc3plus_enc.h"
      "lib_rend/ivas_lc3plus_enc.c"
      "lib_rend/ivas_lcld_tables.h"
      "lib_rend/ivas_splitRend_lcld_dec.c"
      "lib_rend/ivas_splitRend_lcld_enc.c"
      "lib_rend/ivas_splitRendererPLC.c"
      "lib_rend/ivas_splitRendererPost.c"
      "lib_rend/ivas_splitRendererPre.c"
      "lib_rend/ivas_splitRenderer_utils.c"
      "lib_util/split_rend_bfi_file_reader.c"
      "lib_util/split_rend_bfi_file_reader.h"
      "lib_util/split_render_file_read_write.c"
      "lib_util/split_render_file_read_write.h"
  )

  for file in ${sr_files[@]}; do
    rm $OUTDIR/$file
  done


  # strip macros
  declare -a sr_macros=(
      "SPLIT_REND_WITH_HEAD_ROT"
      "SPLIT_REND_PRED_QUANT_63_PNTS"
      "SPLIT_REND_WITH_HEAD_ROT_PARAMBIN"
      "FIX_658_SPLIT_REND_MASA"
      "FIX_658_SPLIT_REND_MASA"
      "OSBA_SPLIT_RENDERING"
  )

  if coan_exists; then

    for macro in ${sr_macros[@]}; do
      coan source --replace --no-transients -K -U${macro} $OUTDIR/lib_{com,dec,enc,util,rend}/*.[hc]
      coan source --replace --no-transients -K -U${macro} $OUTDIR/apps/*.[hc]
      sed -i.bak "/#define\ *$macro/d" $OUTDIR/lib_com/options.h
    done

  else

    echo "Coan required in path; Aborting. Available at https://coan2.sourceforge.net/"
    exit -1

  fi
  

fi


##########################
#                        #
# Stripping              #