clear all;
p=1; %loss parameter

%Pick the Q you want
Q=p*8./hilb(8); %linear quantization
%JPEG suggested matrix
%Q = p*[16,11,10,16,24,40,51,61; 12,12,14,19,26,58,60,55; 14,13,16,24,40,57,69,56;
   % 14,17,22,29,51,87,80,62; 18,22,37,56,68,109,103,77; 24,35,55,64,81,104,113,92;
   % 49,64,78,87,103,121,120,101; 72,92,95,98,112,100,103,99];
    
    
X=imread('StormLiam.jpg');
[S,T,R] = size(X);
XF=zeros(S,T,R);
for k = 1:3;
    i=0;
j=0;
    X2 = X(:,:,k);
Xd=double(X2);
xe2=zeros(S,T);
for i = 1:8:S;
   
    for j = 1:8:T;
        
x=Xd(i:i+7,j:j+7); 
xc=x-128;
y=dct2(xc);

yq = round(y./Q);

ydq = yq.*Q;
xdq = idct2(ydq);
xe = xdq +128;
XF(i:i+7,j:j+7,k)=xe;

    end
    
end
end
figure(1); imagesc(uint8(X));
figure(2); imagesc(uint8(XF));
