diff --git a/codec.m b/codec.m index e4104ebd7b03bd6b6277848d8bdb4f838bfef029..486d82842274a6507a46a857fcfbe974ebe70b77 100644 --- a/codec.m +++ b/codec.m @@ -65,24 +65,31 @@ end % Do padding LFSize = size(LFRef); -LFSizePad = ceil(LFSize./LFParams.padding).*LFParams.padding-LFSize; -LFSizePad(3:end) = 0; -LFRef = padarray(LFRef,LFSizePad,'replicate','post'); +padSize = ceil(LFSize./LFParams.padding).*LFParams.padding-LFSize; +padSize(3:end) = 0; +LFSizePad = LFSize + padSize; +imgSizePad = LFSizePad(1:3); +imgResPad = LFSizePad(4:end); +imgResPad(end+1:2) = 1; +LFRef = padarray(LFRef,padSize,'replicate','post'); + +% Convert inputs for HEVC +LFHEVCParams = LF.LFtoHEVC(imgSizePad,imgResPad,LFParams,HEVCParams); + +LFParams.refFilename = LFHEVCParams.InputFile; +LFParams.recFilename = LFHEVCParams.ReconFile; % Write input yuv file if LFParams.encode - [imgSizePad,imgRes] = LF.write(LFRef,LFParams,'filename',LFParams.refFilename); + LF.write(LFRef,'filename',LFParams.refFilename,'addInfo',false); end -% Convert inputs for HEVC -LFHEVCParams = LF.LFtoHEVC(imgSizePad,imgRes,LFParams,HEVCParams); - % Encode frames using HEVC [nbBits,peaksnr] = HEVC.codec(LFHEVCParams,HEVCParams); % Read output yuv file if LFParams.decode - LFRec = LF.read(imgSizePad,imgRes,LFParams,'filename',LFParams.recFilename); + LFRec = LF.read('filename',LFParams.recFilename); end % Undo padding