Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(508)

Side by Side Diff: webrtc/modules/video_processing/main/test/unit_test/readYUV420file.m

Issue 1410663004: modules/video_processing: refactor interface->include + more. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 function [Y,U,V] = readYUV420file(filename, width, height)
2 % [Y,U,V] = readYUVfile(filename, width, height)
3
4 fid = fopen(filename,'rb');
5 if fid==-1
6 error(['Cannot open file ' filename]);
7 end
8
9 % Number of pixels per image
10 nPx=width*height;
11
12 % nPx bytes luminance, nPx/4 bytes U, nPx/4 bytes V
13 frameSizeBytes = nPx*1.5;
14
15 % calculate number of frames
16 fseek(fid,0,'eof'); % move to end of file
17 fileLen=ftell(fid); % number of bytes
18 fseek(fid,0,'bof'); % rewind to start
19
20 % calculate number of frames
21 numFrames = floor(fileLen/frameSizeBytes);
22
23 Y=uint8(zeros(height,width,numFrames));
24 U=uint8(zeros(height/2,width/2,numFrames));
25 V=uint8(zeros(height/2,width/2,numFrames));
26
27 [X,nBytes]=fread(fid, frameSizeBytes, 'uchar');
28
29 for k=1:numFrames
30
31 % Store luminance
32 Y(:,:,k)=uint8(reshape(X(1:nPx), width, height).');
33
34 % Store U channel
35 U(:,:,k)=uint8(reshape(X(nPx + (1:nPx/4)), width/2, height/2).');
36
37 % Store V channel
38 V(:,:,k)=uint8(reshape(X(nPx + nPx/4 + (1:nPx/4)), width/2, height/2).');
39
40 % Read next frame
41 [X,nBytes]=fread(fid, frameSizeBytes, 'uchar');
42 end
43
44
45 fclose(fid);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698