| % % Copyright(c) 2011 The WebRTC project authors.All Rights Reserved.% | |
| % Use of this source code is governed by a BSD | |
| - | |
| style license % that can be found in the LICENSE file in the root of the source | |
| % tree.An additional intellectual property rights grant can be found | |
| % in the file PATENTS.All contributing project authors may | |
| % be found in the AUTHORS file in the root of the source tree.% | |
| clear; | |
| pack; | |
| % | |
| % Enter the path to YOUR executable and remember to define the perprocessor | |
| % variable PRINT_MIPS te get the instructions printed to the screen. | |
| % | |
| command = '!iLBCtest.exe 30 speechAndBGnoise.pcm out1.bit out1.pcm tlm10_30ms.dat'; | |
| cout=' > st.txt'; %saves to matlab variable 'st' | |
| eval(strcat(command,cout)); | |
| if(length(cout)>3) | |
| load st.txt | |
| else | |
| disp('No cout file to load') | |
| end | |
| % initialize vector to zero | |
| index = find(st(1:end,1)==-1); | |
| indexnonzero = find(st(1:end,1)>0); | |
| frames = length(index)-indexnonzero(1)+1; | |
| start = indexnonzero(1) - 1; | |
| functionOrder=max(st(:,2)); | |
| new=zeros(frames,functionOrder); | |
| for i = 1:frames, | |
| for j = index(start-1+i)+1:(index(start+i)-1), | |
| new(i,st(j,2)) = new(i,st(j,2)) + st(j,1); | |
| end | |
| end | |
| result=zeros(functionOrder,3); | |
| for i=1:functionOrder | |
| nonzeroelements = find(new(1:end,i)>0); | |
| result(i,1)=i; | |
| % Compute each function's mean complexity | |
| % result(i,2)=(sum(new(nonzeroelements,i))/(length(nonzeroelements)*0.03))/1000000; | |
| % Compute each function's maximum complexity in encoding | |
| % and decoding respectively and then add it together: | |
| % result(i,3)=(max(new(1:end,i))/0.03)/1000000; | |
| result(i,3)=(max(new(1:size(new,1)/2,i))/0.03)/1000000 + (max(new(size(new,1)/2+1:end,i))/0.03)/1000000; | |
| end | |
| result | |
| % Compute maximum complexity for a single frame (enc/dec separately and together) | |
| maxEncComplexityInAFrame = (max(sum(new(1:size(new,1)/2,:),2))/0.03)/1000000 | |
| maxDecComplexityInAFrame = (max(sum(new(size(new,1)/2+1:end,:),2))/0.03)/1000000 | |
| totalComplexity = maxEncComplexityInAFrame + maxDecComplexityInAFrame |