131 lines · 3.5 KB · Shell
RawDownload
#!/bin/bash#*******************************************************************************# Encoder binary comparison test model#       -- Compared with benchmark version using SHA-1 string#       -- Test bit stream under folder  openh264/res#       -- SHA-1 string of benchmark version for  all cases  of all bit streams#           under folder  openh264/test/encoder_binary_comparion/SHA1Table#       -- For more detail,please refer to file AboutTest.##brief:#       -- Transform test bit stream into YUV as  test sequence,#          1) Called by run_OneBitStream.sh  before testing  all cases#          2) eg:#              -- input:    ./run_BitStreamToYUV.sh   TestABC.264#              -- output:   TestABC.264_382X288.yuv#       -- Usage:  run_BitStreamToYUV.sh   ${BitStreamFile}### date:  10/06/2014 Created#*******************************************************************************#usage:  run_ParseDecoderLog   $Decoder_LogFile#eg:     input:    run_ParseDecoderLog   test.264.log#        output    1024  720run_ParseDecoderLog(){  if [ ! $# -eq 1 ]  then    echo "usage:  run_ParseDecoderLog  \$Decoder_LogFile"    return 1  fi  local LogFile=$1  local Width=""  local Height=""  while read line  do    if [[  $line =~  "iWidth"   ]]    then      Width=`echo $line | awk 'BEGIN  {FS="[:\n]"} {print $2}'`    fi    if [[  $line =~  "height"   ]]    then       Height=`echo $line | awk 'BEGIN  {FS="[:\n]"} {print $2}'`    fi  done < ${LogFile}  echo "${Width}  ${Height}"}#usage: run_BitStream2YUV  $BitstreamName  $OutputYUVName $LogFilerun_BitStream2YUV(){  if [ ! $# -eq 3 ]  then    echo "usage: run_BitStream2YUV  \$BitstreamName \$OutputYUVName \$LogFile   "    return 1  fi  local BitStreamName=$1  local OutputYUVNAMe=$2  local LogFile=$3   if [ ! -f ${BitStreamName}  ]  then    echo "bit stream file does not exist!"    echo "detected by run_BitStreamToYUV.sh"    return 1  fi  #decode bitstream  ./h264dec  ${BitStreamName}  ${OutputYUVNAMe} 2> ${LogFile}   return 0}#usage: run_RegularizeYUVName $BitstreamName $OutputYUVName $LogFilerun_RegularizeYUVName(){  if [ ! $# -eq 3 ]  then    echo "usage: run_RegularizeYUVName  \$BitstreamName  \$OutputYUVName \$LogFile "    return 1  fi  local BitStreamName=$1  local OrignName=$2  local LogFile=$3  local RegularizedYUVName=""   declare -a aDecodedYUVInfo   aDecodedYUVInfo=(`run_ParseDecoderLog  ${LogFile}`)   BitStreamName=`echo ${BitStreamName} | awk 'BEGIN {FS="/"} {print $NF}'`  RegularizedYUVName="${BitStreamName}_${aDecodedYUVInfo[0]}x${aDecodedYUVInfo[1]}.yuv"  mv -f  ${OrignName}   ${RegularizedYUVName}  echo ""  echo "file :  ${OrignName}   has been renamed as :${RegularizedYUVName}"  echo ""   return 0}#usage: runMain  ${BitStreamName}runMain(){  if [ ! $# -eq 1 ]  then    echo "usage: runMain  ${BitStreamName} "    return 1  fi   local BitStreameFile=$1  local BitSteamName=`echo ${BitStreameFile} | awk 'BEGIN {FS="/"} {print $NF}'`  local DecoderLogFile="${BitSteamName}_h264dec.log"  local DecodedYUVName="${BitSteamName}_dec.yuv"  local RegularizedName=""   #**********************  #decoded test bit stream  run_BitStream2YUV  ${BitStreameFile}  ${DecodedYUVName}  ${DecoderLogFile}  if [  ! $?  -eq 0  ]  then      echo "bit stream decoded  failed!"    return 1  fi    #*********************  #regularized  YUV name  run_RegularizeYUVName  ${BitStreameFile}  ${DecodedYUVName}  ${DecoderLogFile}   return 0}BitStreamFile=$1runMain  ${BitStreamFile}   

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t