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');