123 lines · 3.8 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