1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: vtkMPEG2Writer.h,v $
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.
=========================================================================*/
// .NAME vtkMPEG2Writer - Writes MPEG2 Movie files.
//
// .SECTION Description
// 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.
//
// .SECTION See Also
// vtkGenericMovieWriter vtkAVIWriter vtkFFMPEGWriter
#ifndef __vtkMPEG2Writer_h
#define __vtkMPEG2Writer_h
#include "vtkGenericMovieWriter.h"
class vtkMPEG2WriterInternal;
class vtkImageData;
struct MPEG2_structure;
class VTK_IO_EXPORT vtkMPEG2Writer : public vtkGenericMovieWriter
{
public:
static vtkMPEG2Writer *New();
vtkTypeRevisionMacro(vtkMPEG2Writer,vtkGenericMovieWriter);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// 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&); // Not implemented
void operator=(const vtkMPEG2Writer&); // Not implemented
};
#endif
|