gusucode.com > audiovideo工具箱matlab源码程序 > audiovideo/+audiovideo/+internal/+writer/+plugin/GrayscaleAviFilePlugin.m
classdef (Hidden) GrayscaleAviFilePlugin < audiovideo.internal.writer.plugin.AviFilePlugin %GrayscaleAviFilePlugin Extension of the IndexedAviFilePlugin class to write %Grayscale AVI Files. These are Indexed AVI files with a Grayscale %Colormap. % Copyright 2012-2013 The MathWorks, Inc. methods function obj = GrayscaleAviFilePlugin(fileName) %GrayscaleAviFilePlugin Construct a GrayscaleAviFilePlugin object. % % OBJ = GrayscaleAviFilePlugin(FILENAME) constructs a % GrayscaleAviFilePlugin object pointing to the file specified % by FILENAME. The file is not created until % GrayscaleAviFilePlugin.open() is called. % % See also GrayscaleAviFilePlugin/open, GrayscaleAviFilePlugin/close. obj = obj@audiovideo.internal.writer.plugin.AviFilePlugin(fileName); obj.ColorFormat = 'Grayscale'; obj.ColorChannels = 1; obj.BitsPerPixel = 8; % Handle the zero argument constructor. This is needed, for % example, when constructing empty profile objects. if isempty(fileName) obj.Channel = []; return; end obj.FileName = fileName; end function open(obj, options) options.Colormap = audiovideo.internal.writer.convertColormapToUint8(options.Colormap); open@audiovideo.internal.writer.plugin.AviFilePlugin(obj, options) end function [pluginName, mlConverterName, slConverterName, options] = ... getChannelInitOptions(obj) [pluginName, mlConverterName, slConverterName, options] = ... getChannelInitOptions@audiovideo.internal.writer.plugin.AviFilePlugin(obj); options.FileFormat = obj.ColorFormat; end function [filterName, options] = getFilterInitOptions(obj) filterName = 'videotransformfilter'; options.InputFrameType = 'RawPlanarColumn'; if ~isempty(obj.Channel) options.OutputFrameType = obj.Channel.ExpectedFrameType; else options.OutputFrameType = ''; end end end end