|  | function plotTimingTest(filename) | 
|  | fid=fopen(filename); | 
|  |  | 
|  | %DEBUG     ; ( 9:53:33:859 |    0)        VIDEO:-1         ;      7132; Stochastic test 1 | 
|  | %DEBUG     ; ( 9:53:33:859 |    0) VIDEO CODING:-1         ;      7132; Frame decoded: timeStamp=3000 decTime=10 at 10012 | 
|  | %DEBUG     ; ( 9:53:33:859 |    0)        VIDEO:-1         ;      7132; timeStamp=3000 clock=10037 maxWaitTime=0 | 
|  | %DEBUG     ; ( 9:53:33:859 |    0)        VIDEO:-1         ;      7132; timeStampMs=33 renderTime=54 | 
|  | line = fgetl(fid); | 
|  | decTime = []; | 
|  | waitTime = []; | 
|  | renderTime = []; | 
|  | foundStart = 0; | 
|  | testName = 'Stochastic test 1'; | 
|  | while ischar(line) | 
|  | if length(line) == 0 | 
|  | line = fgetl(fid); | 
|  | continue; | 
|  | end | 
|  | lineOrig = line; | 
|  | line = line(72:end); | 
|  | if ~foundStart | 
|  | if strncmp(line, testName, length(testName)) | 
|  | foundStart = 1; | 
|  | end | 
|  | line = fgetl(fid); | 
|  | continue; | 
|  | end | 
|  | [p, count] = sscanf(line, 'Frame decoded: timeStamp=%lu decTime=%d maxDecTime=%d, at %lu'); | 
|  | if count == 4 | 
|  | decTime = [decTime; p']; | 
|  | line = fgetl(fid); | 
|  | continue; | 
|  | end | 
|  | [p, count] = sscanf(line, 'timeStamp=%u clock=%u maxWaitTime=%u'); | 
|  | if count == 3 | 
|  | waitTime = [waitTime; p']; | 
|  | line = fgetl(fid); | 
|  | continue; | 
|  | end | 
|  | [p, count] = sscanf(line, 'timeStamp=%u renderTime=%u'); | 
|  | if count == 2 | 
|  | renderTime = [renderTime; p']; | 
|  | line = fgetl(fid); | 
|  | continue; | 
|  | end | 
|  | line = fgetl(fid); | 
|  | end | 
|  | fclose(fid); | 
|  |  | 
|  | % Compensate for wrap arounds and start counting from zero. | 
|  | timeStamps = waitTime(:, 1); | 
|  | tsDiff = diff(timeStamps); | 
|  | wrapIdx = find(tsDiff < 0); | 
|  | timeStamps(wrapIdx+1:end) = hex2dec('ffffffff') + timeStamps(wrapIdx+1:end); | 
|  | timeStamps = timeStamps - timeStamps(1); | 
|  |  | 
|  | figure; | 
|  | hold on; | 
|  | plot(timeStamps, decTime(:, 2), 'r'); | 
|  | plot(timeStamps, waitTime(:, 3), 'g'); | 
|  | plot(timeStamps(2:end), diff(renderTime(:, 2)), 'b'); | 
|  | legend('Decode time', 'Max wait time', 'Render time diff'); |