function y = filtre(h,x)
%        y = filtre(h,x)
%-----------------------------------------------------------
% filtrage des colonnes de x 
% avec extension symetrique pour filtres de longueur impaire
% on suppose nl >= 2k+1, k = retard de h, nl = nb de lignes
%-----------------------------------------------------------

nh = length(h);
if mod(nh,2) == 0
  error('filtre non conforme : longueur paire');
end

[nl,nc] = size(x);

k = round((length(h)-1)/2);
if (nl < 2*k+1) 
  y = x;
  warning('l''image n''a pas assez de lignes, pas de filtrage');
end

xl = flipud(x(2:k+1,:));
xr = flipud(x(nl-k:nl-1,:));
x = [xl;x;xr];
y = filter(h,1,x);
y = y(2*k+1:2*k+nl,:);
