fclose all; clear all; close all;

nframes = 50;

%qps = [22 27 32 37];
qps = 27;
camera = [39 41];
prob = 1-[0.02 0.03 0.05];
%prob2 = [1 6 10]; % Corresponde a porcentagem fixa de erros com rand(1) para 12 pacotes;
prob2D = [1 3 7]; 
%prob2C = [2 4 7];
prob2C = [3 5 8];
ilambda = 6:0.5:18; %antes desde 1.5
lambda = 2.^ilambda;
npacotesPorFrameD = 3;
npacotesPorFrameC = 12;
ACK_frame = 4;
w_fileA='Results\weight_cam';
%w_fileA='none';
w = 1280;
h = 960;
raw_size = h*w*nframes*1.5;

%so gera erros e decodifica (a codificação deve ser feita manualmente)
  

for ncam = 1:1:length(camera)
    dep_orig1 = ['Results\Nopt\depth-cam' num2str(camera(ncam)) '.yuv'];
    cor_orig1 = ['Results\Nopt\color-cam' num2str(camera(ncam)) '.yuv'];
    
    for nqps = 1:1:length(qps)
        
        dep_nom1 = [dep_orig1(1:end-4) '_QP' num2str(qps(nqps)) '_Nopt.264'];
        cor_nom1 = [cor_orig1(1:end-4) '_QP' num2str(qps(nqps)) '_Nopt.264'];
        
        
        for nprob = 1:1:length(prob)
            dep_nom1Err = [dep_nom1(1:end-4) '_pckErr' num2str(nprob) '.264'];
            cor_nom1Err = [cor_nom1(1:end-4) '_pckErr' num2str(nprob) '.264'];
            
            system(['ErrorGen\Release\NalTools'  num2str(ncam) ' -o' dep_nom1Err ' ' dep_nom1 ':0:' num2str(npacotesPorFrameD-1) ' ' dep_nom1 ':'  num2str((prob2D(nprob))) ':' num2str(npacotesPorFrameD) ':' num2str(npacotesPorFrameD*ACK_frame) ':' num2str(npacotesPorFrameD*nframes)]);
            system(['ErrorGen\Release\NalTools'  num2str(ncam) ' -o' cor_nom1Err ' ' cor_nom1 ':0:' num2str(npacotesPorFrameC-1) ' ' cor_nom1 ':'  num2str((prob2C(nprob))) ':' num2str(npacotesPorFrameC) ':' num2str(npacotesPorFrameC*ACK_frame) ':' num2str(npacotesPorFrameC*nframes)]);
            
            system(['H264_Decodificar\bin\ldecod -i ' dep_nom1Err ' -o ' dep_nom1Err(1:end-4) '.yuv']);
            system(['H264_Decodificar\bin\ldecod -i ' cor_nom1Err ' -o ' cor_nom1Err(1:end-4) '.yuv']);
            
        end
        
    end
end



