function out = yuvjpeg(file,p)
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]
Q2 = p*[17 18 24 47 99 99 99 99  
    18 21 26 66 99 99 99 99      
    24 26 56 99 99 99 99 99
    47 66 99 99 99 99 99 99
    99 99 99 99 99 99 99 99
    99 99 99 99 99 99 99 99
    99 99 99 99 99 99 99 99
    99 99 99 99 99 99 99 99]
X = imread(file);
X = double(X);
r = X(:,:,1);
g = X(:,:,2);
b = X(:,:,3);
Y = 0.299*r + 0.587*g + 0.114*b;
U = b - Y;
V = r - Y;
[m,n] = size(r);
for i = 1:8:m
    for j = 1:8:n
        block = Y(i:i+7,j:j+7);
        comp = imagecomp(block,Q);
        Y(i:i+7,j:j+7) = comp;
    end
end
for i = 1:8:m
    for j = 1:8:n
        block = U(i:i+7,j:j+7);
        comp = imagecomp(block,Q2);
        U(i:i+7,j:j+7) = comp;
    end
end
for i = 1:8:m
    for j = 1:8:n
        block = V(i:i+7,j:j+7);
        comp = imagecomp(block,Q2);
        V(i:i+7,j:j+7) = comp;
    end
end
r = V + Y;
b = U + Y;
g = (Y - 0.299*r - 0.114*b)/(0.587);
X(:,:,1) = r;
X(:,:,2) = g;
X(:,:,3) = b;
imagesc(uint8(X));
title(['P = ', num2str(p)])
out = X;
Not enough input arguments.
Error in yuvjpeg (line 6)
Q = p*[16 11 10 16 24 40 51 61