You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/3rd/VTK7.1/source/VTK-7.1.1/IO/Movie/vtkMPEG2Writer.h

92 lines
2.6 KiB
C

/*=========================================================================
Program: Visualization Toolkit
Module: vtkMPEG2Writer.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkMPEG2Writer
* @brief Writes MPEG2 Movie files.
*
*
* vtkMPEG2Writer writes Movie files. The data type
* of the file is unsigned char regardless of the input type.
*
* This class is conditionally compiled into VTK only if VTK's CMake
* option VTK_USE_MPEG2_ENCODER is ON. It is OFF by default.
*
* Portions of the mpeg2 library are patented. VTK does not enable linking to
* this library by default so VTK can remain "patent free". Users who wish to
* link in mpeg2 functionality must build that library separately and then
* turn on VTK_USE_MPEG2_ENCODER when configuring VTK. After turning on
* VTK_USE_MPEG2_ENCODER, you must also set the CMake variables
* vtkMPEG2Encode_INCLUDE_PATH and vtkMPEG2Encode_LIBRARIES.
*
* You are solely responsible for any legal issues associated with using
* patented code in your software.
*
* You can download a "CMake-ified" source tree of the MPEG2 library by
* visiting the download page at http://www.vtk.org and scrolling down to
* the "Download Additional Components" section.
*
* @sa
* vtkGenericMovieWriter vtkAVIWriter vtkFFMPEGWriter
*/
#ifndef vtkMPEG2Writer_h
#define vtkMPEG2Writer_h
#include "vtkIOMovieModule.h" // For export macro
#include "vtkGenericMovieWriter.h"
class vtkMPEG2WriterInternal;
class vtkImageData;
struct MPEG2_structure;
class VTKIOMOVIE_EXPORT vtkMPEG2Writer : public vtkGenericMovieWriter
{
public:
static vtkMPEG2Writer *New();
vtkTypeMacro(vtkMPEG2Writer,vtkGenericMovieWriter);
void PrintSelf(ostream& os, vtkIndent indent);
//@{
/**
* These methods start writing an Movie file, write a frame to the file
* and then end the writing process.
*/
void Start();
void Write();
void End();
//@}
protected:
vtkMPEG2Writer();
~vtkMPEG2Writer();
vtkMPEG2WriterInternal *Internals;
long Time;
int ActualWrittenTime;
void Initialize();
int Initialized;
MPEG2_structure* MPEGStructure;
private:
vtkMPEG2Writer(const vtkMPEG2Writer&) VTK_DELETE_FUNCTION;
void operator=(const vtkMPEG2Writer&) VTK_DELETE_FUNCTION;
};
#endif