diff --git a/convert.m b/convert.m index cfa44153ee14c93aeaadf995549c31d7971d645a..9d8f055da202eab48e0f8847426fb09cbdedde3e 100644 --- a/convert.m +++ b/convert.m @@ -2,15 +2,14 @@ function frames = convert(frames,varargin) %CONVERT Summary of this function goes here % Detailed explanation goes here -colSpaces = {'rgb','ycbcr'}; p = inputParser; p.StructExpand = true; p.KeepUnmatched = true; -p.addOptional('outColSpace','ycbcr',@(x) any(validatestring(x,colSpaces))); -p.addOptional( 'inColSpace','rgb' ,@(x) any(validatestring(x,colSpaces))); +p.addOptional('outColSpace' , 'ycbcr' , @ischar); +p.addOptional( 'inColSpace' , 'rgb' , @ischar); p.parse(varargin{:}); - inColSpace = p.Results. inColSpace; -outColSpace = p.Results.outColSpace; +inColSpace = p.Results.inColSpace; +outColSpace = p.Results.outColSpace; imgSize = ndims(frames{1}); switch imgSize diff --git a/read.m b/read.m index 883fb9a2640339244eed475acefae7957f7fb93a..dd6b92374e436be0cd5a46b600752f6bca9b6147 100644 --- a/read.m +++ b/read.m @@ -7,9 +7,7 @@ function frames = read(varargin) % READ(frames,'readPrecision',readPrecision) specify read data type %% Parse input parameters -subSamps = {'400','420','422','444'}; -types = {'bit','ubit','int','uint','float','single','double'}; -validatePrecision = @(prec) any(validatestring(utils.precision(prec),types)); +validateSubSamp = @(x) any(strcmp(x,{'400','420','422','444'})); defRecDir = fullfile(pwd,'Rec'); p = inputParser; p.StructExpand = true; p.KeepUnmatched = true; @@ -23,17 +21,17 @@ yuvParams = p.Results; try m = get_mat(yuvParams.recDir,yuvParams.name,false); defSubSamp = m.subSamp; - defReadPrecision = m.readPrecision; defWritePrecision = m.writePrecision; + defReadPrecision = m.readPrecision; catch - defSubSamp = subSamps{1}; - defReadPrecision = 'uint8'; + defSubSamp = '444'; defWritePrecision = 'uint8'; + defReadPrecision = 'uint8'; end -p.addParameter('subSamp' , defSubSamp , @(x) any(validatestring(x,subSamps) )); -p.addParameter('writePrecision', defWritePrecision, validatePrecision); -p.addParameter('readPrecision' , defReadPrecision , validatePrecision); +p.addParameter('subSamp' , defSubSamp , validateSubSamp); +p.addParameter('writePrecision', defWritePrecision, @ischar); +p.addParameter('readPrecision' , defReadPrecision , @ischar); p.parse(varargin{:}); yuvParams = p.Results; diff --git a/write.m b/write.m index 713463ac34e144964cfe50f562829fbbd45e2889..874615cc686964e1135791957c4efe1979a1c5dc 100644 --- a/write.m +++ b/write.m @@ -7,9 +7,7 @@ function yuvSize = write(frames,varargin) % WRITE(frames,'readPrecision',readPrecision) specify read data type %% Parse input parameters -subSamps = {'400','420','422','444'}; -types = {'bit','ubit','int','uint','float','single','double'}; -validatePrecision = @(prec) any(validatestring(utils.precision(prec),types)); +validateSubSamp = @(x) any(strcmp(x,{'400','420','422','444'})); defRefDir = fullfile(pwd,'Ref'); p = inputParser; p.StructExpand = true; p.KeepUnmatched = true; @@ -26,14 +24,14 @@ try defWritePrecision = m.writePrecision; defReadPrecision = m.readPrecision; catch - defSubSamp = subSamps{1}; + defSubSamp = '444'; defWritePrecision = class(frames{1}); defReadPrecision = class(frames{1}); end -p.addParameter('subSamp' , defSubSamp , @(x) any(validatestring(x,subSamps) )); -p.addParameter('writePrecision', defWritePrecision, validatePrecision); -p.addParameter('readPrecision' , defReadPrecision , validatePrecision); +p.addParameter('subSamp' , defSubSamp , validateSubSamp); +p.addParameter('writePrecision', defWritePrecision, @ischar); +p.addParameter('readPrecision' , defReadPrecision , @ischar); p.parse(varargin{:}); yuvParams = p.Results;