X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=vq%2Fmake_residue_books.pl;h=b37d0dcd20f5ca6a8fbe5f4ca3dd85fdfd1366ab;hb=8a8f8589e19c5016f6548d877a8fda231fce4f93;hp=60b5ed299731c8439281e288ecbcfc17e5c29ff6;hpb=8d96e574de435ef69c82a34be48f257606f0a2e6;p=platform%2Fupstream%2Flibvorbis.git diff --git a/vq/make_residue_books.pl b/vq/make_residue_books.pl index 60b5ed2..b37d0dc 100755 --- a/vq/make_residue_books.pl +++ b/vq/make_residue_books.pl @@ -7,14 +7,12 @@ #eg: # >res0_128_128 interleaved -# haux res0_96_128aux.vqd 0,4,2 +# haux 44c0_s/resaux_0.vqd res0_96_128aux 0,4,2 9 # :1 res0_128_128_1.vqd, 4, nonseq cull, 0 +- 1 -# +1a, 4, nonseq, 0 +- .25 .5 -# :2 res0_128_128_2.vqd, 4, nonseq, 0 +- 1 2 -# :3 res0_128_128_3.vqd, 4, nonseq, 0 +- 1 3 5 -# :4 res0_128_128_4.vqd, 2, nonseq, 0 +- 1 3 5 8 11 +# :2 res0_128_128_2.vqd, 4, nonseq, 0 +- 1(.7) 2 +# :3 res0_128_128_3.vqd, 4, nonseq, 0 +- 1(.7) 3 5 +# :4 res0_128_128_4.vqd, 2, nonseq, 0 +- 1(.7) 3 5 8 11 # :5 res0_128_128_5.vqd, 1, nonseq, 0 +- 1 3 5 8 11 14 17 20 24 28 31 35 39 -# +1a, 4, nonseq, 0 +- .5 1 die "Could not open $ARGV[0]: $!" unless open (F,$ARGV[0]); @@ -22,7 +20,7 @@ die "Could not open $ARGV[0]: $!" unless open (F,$ARGV[0]); $goflag=0; while($line=){ - print "\n#### $line\n\n"; + print "#### $line"; if($line=~m/^GO/){ $goflag=1; next; @@ -31,7 +29,7 @@ while($line=){ if($goflag==0){ if($line=~m/\S+/ && !($line=~m/^\#/) ){ my $command=$line; - print ">>> $command\n"; + print ">>> $command"; die "Couldn't shell command.\n\tcommand:$command\n" if syst($command); } @@ -46,131 +44,78 @@ while($line=){ next; } - # haux res0_96_128aux.vqd 0,4,2 + # haux 44c0_s/resaux_0.vqd res0_96_128aux 0,4,2 9 if($line=~m/^h(.*)/){ # build a huffman book (no mapping) - my($name,$datafile,$arg)=split(' ',$1); - my $command="huffbuild $datafile $arg > $globalname$name.vqh"; - print ">>> $command\n"; - die "Couldn't build huffbook.\n\tcommand:$command\n" - if syst($command); - next; - } - - # :1 res0_128_128_1.vqd, 4, nonseq, 0 +- 1 - if($line=~m/^:(.*)/){ - my($namedata,$dim,$seqp,$vals)=split(',',$1); - my($name,$datafile)=split(' ',$namedata); - # build value list - my$plusminus="+"; - my$list; - my$count=0; - foreach my$val (split(' ',$vals)){ - if($val=~/\-?\+?\d+/){ - if($plusminus=~/-/){ - $list.="-$val "; - $count++; - } - if($plusminus=~/\+/){ - $list.="$val "; - $count++; - } - }else{ - $plusminus=$val; - } - } - die "Couldn't open temp file temp$$.vql: $!" unless - open(G,">temp$$.vql"); - print G "$count $dim 0 "; - if($seqp=~/non/){ - print G "0\n$list\n"; - }else{ - print G "1\n$list\n"; - } - close(G); - - my $command="latticebuild temp$$.vql > $globalname$name.vqh"; - print ">>> $command\n"; - die "Couldn't build latticebook.\n\tcommand:$command\n" - if syst($command); + my($name,$datafile,$bookname,$interval,$range)=split(' ',$1); + + # check the desired subdir to see if the data file exists + if(-e $datafile){ + my $command="cp $datafile $bookname.tmp"; + print ">>> $command\n"; + die "Couldn't access partition data file.\n\tcommand:$command\n" + if syst($command); - my $command="latticehint $globalname$name.vqh > temp$$.vqh"; - print ">>> $command\n"; - die "Couldn't pre-hint latticebook.\n\tcommand:$command\n" - if syst($command); - - if($interleave=~/non/){ - $restune="res1tune"; - }else{ - $restune="res0tune"; - } + my $command="huffbuild $bookname.tmp $interval"; + print ">>> $command\n"; + die "Couldn't build huffbook.\n\tcommand:$command\n" + if syst($command); - if($seqp=~/cull/){ - my $command="$restune temp$$.vqh $datafile 1 > $globalname$name.vqh"; + my $command="rm $bookname.tmp"; print ">>> $command\n"; - die "Couldn't tune latticebook.\n\tcommand:$command\n" + die "Couldn't remove temporary file.\n\tcommand:$command\n" if syst($command); }else{ - my $command="$restune temp$$.vqh $datafile > $globalname$name.vqh"; + my $command="huffbuild $bookname.tmp 0-$range"; print ">>> $command\n"; - die "Couldn't tune latticebook.\n\tcommand:$command\n" + die "Couldn't build huffbook.\n\tcommand:$command\n" if syst($command); - } - my $command="latticehint $globalname$name.vqh > temp$$.vqh"; - print ">>> $command\n"; - die "Couldn't post-hint latticebook.\n\tcommand:$command\n" - if syst($command); - - my $command="mv temp$$.vqh $globalname$name.vqh"; - print ">>> $command\n"; - die "Couldn't rename latticebook.\n\tcommand:$command\n" - if syst($command); - - # run the training data through book to cascade - if($interleave=~/non/){ - $vqcascade="vqcascade"; - }else{ - $vqcascade="vqcascade -i"; } - - my $command="$vqcascade +$globalname$name.vqh $datafile > temp$$.vqd"; - print ">>> $command\n"; - die "Couldn't cascade latticebook.\n\tcommand:$command\n" - if syst($command); - - - my $command="rm temp$$.vql"; - print ">>> $command\n"; - die "Couldn't remove temp files.\n\tcommand:$command\n" - if syst($command); - next; } - # +a 4, nonseq, 0 +- 1 - if($line=~m/^\+(.*)/){ - my($name,$dim,$seqp,$vals)=split(',',$1); + # :1 res0_128_128_1.vqd, 4, nonseq, 0 +- 1 + if($line=~m/^:(.*)/){ + my($namedata,$dim,$seqp,$vals)=split(',',$1); + my($name,$datafile)=split(' ',$namedata); # build value list my$plusminus="+"; my$list; + my$thlist; my$count=0; foreach my$val (split(' ',$vals)){ if($val=~/\-?\+?\d+/){ + my$th; + + # got an explicit threshhint? + if($val=~/([0-9\.]+)\(([^\)]+)/){ + $val=$1; + $th=$2; + } + if($plusminus=~/-/){ $list.="-$val "; + if(defined($th)){ + $thlist.="," if(defined($thlist)); + $thlist.="-$th"; + } $count++; } if($plusminus=~/\+/){ $list.="$val "; + if(defined($th)){ + $thlist.="," if(defined($thlist)); + $thlist.="$th"; + } $count++; } }else{ $plusminus=$val; } } - die "Couldn't open temp file temp$$.vql: $!" unless - open(G,">temp$$.vql"); + die "Couldn't open temp file $globalname$name.vql: $!" unless + open(G,">$globalname$name.vql"); print G "$count $dim 0 "; if($seqp=~/non/){ print G "0\n$list\n"; @@ -179,72 +124,50 @@ while($line=){ } close(G); - my $command="latticebuild temp$$.vql > $globalname$name.vqh"; + my $command="latticebuild $globalname$name.vql > $globalname$name.vqh"; print ">>> $command\n"; die "Couldn't build latticebook.\n\tcommand:$command\n" if syst($command); - my $command="latticehint $globalname$name.vqh > temp$$.vqh"; - print ">>> $command\n"; - die "Couldn't pre-hint latticebook.\n\tcommand:$command\n" - if syst($command); + if(-e $datafile){ - if($interleave=~/non/){ - $restune="res1tune"; - }else{ - $restune="res0tune"; - } + if($interleave=~/non/){ + $restune="res1tune"; + }else{ + $restune="res0tune"; + } + + if($seqp=~/cull/){ + my $command="$restune $globalname$name.vqh $datafile 1 > temp$$.vqh"; + print ">>> $command\n"; + die "Couldn't tune latticebook.\n\tcommand:$command\n" + if syst($command); + }else{ + my $command="$restune $globalname$name.vqh $datafile > temp$$.vqh"; + print ">>> $command\n"; + die "Couldn't tune latticebook.\n\tcommand:$command\n" + if syst($command); + } - if($seqp=~/cull/){ - my $command="$restune temp$$.vqh temp$$.vqd 1 > $globalname$name.vqh"; - print ">>> $command\n"; - die "Couldn't tune latticebook.\n\tcommand:$command\n" - if syst($command); - }else{ - my $command="$restune temp$$.vqh temp$$.vqd > $globalname$name.vqh"; + my $command="mv temp$$.vqh $globalname$name.vqh"; print ">>> $command\n"; - die "Couldn't tune latticebook.\n\tcommand:$command\n" + die "Couldn't rename latticebook.\n\tcommand:$command\n" if syst($command); - } - - my $command="latticehint $globalname$name.vqh > temp$$.vqh"; - print ">>> $command\n"; - die "Couldn't post-hint latticebook.\n\tcommand:$command\n" - if syst($command); - - my $command="mv temp$$.vqh $globalname$name.vqh"; - print ">>> $command\n"; - die "Couldn't rename latticebook.\n\tcommand:$command\n" - if syst($command); - # run the training data through book to cascade - if($interleave=~/non/){ - $vqcascade="vqcascade"; }else{ - $vqcascade="vqcascade -i"; + print "No matching training file; leaving this codebook untrained.\n"; } - my $command="$vqcascade +$globalname$name.vqh temp$$.vqd > tempa$$.vqd"; - print ">>> $command\n"; - die "Couldn't cascade latticebook.\n\tcommand:$command\n" - if syst($command); - - - my $command="rm temp$$.vql"; + my $command="rm $globalname$name.vql"; print ">>> $command\n"; die "Couldn't remove temp files.\n\tcommand:$command\n" if syst($command); - my $command="mv tempa$$.vqd temp$$.vqd"; - print ">>> $command\n"; - die "Couldn't rename temp file.\n\tcommand:$command\n" - if syst($command); - next; } } -$command="rm temp$$.vqd"; +$command="rm -f temp$$.vqd"; print ">>> $command\n"; die "Couldn't remove temp files.\n\tcommand:$command\n" if syst($command);