Mercurial > hg > aimc
comparison src/Modules/Output/Graphics/Devices/GraphicsOutputDeviceMovieDirect.cc @ 117:c5ac2f0c7fc5
- All \t to two spaces (style guide compliance)
author | tomwalters |
---|---|
date | Fri, 15 Oct 2010 05:46:53 +0000 |
parents | 47b009f2c936 |
children | 9d880fb93c39 |
comparison
equal
deleted
inserted
replaced
116:47b009f2c936 | 117:c5ac2f0c7fc5 |
---|---|
33 | 33 |
34 #include "Support/util.h" | 34 #include "Support/util.h" |
35 #include "Output/GraphicsOutputDeviceMovieDirect.h" | 35 #include "Output/GraphicsOutputDeviceMovieDirect.h" |
36 | 36 |
37 GraphicsOutputDeviceMovieDirect::GraphicsOutputDeviceMovieDirect(Parameters *params) | 37 GraphicsOutputDeviceMovieDirect::GraphicsOutputDeviceMovieDirect(Parameters *params) |
38 : GraphicsOutputDeviceMovie(params) { | 38 : GraphicsOutputDeviceMovie(params) { |
39 m_sMovieFile[0] = '\0'; | 39 m_sMovieFile[0] = '\0'; |
40 m_sSoundFile[0] = '\0'; | 40 m_sSoundFile[0] = '\0'; |
41 } | 41 } |
42 | 42 |
43 bool GraphicsOutputDeviceMovieDirect::Initialize(const char *sSoundFile, | 43 bool GraphicsOutputDeviceMovieDirect::Initialize(const char *sSoundFile, |
44 const char *sMovieFile) { | 44 const char *sMovieFile) { |
45 // We want pnm for direct movie conversion as the data format is nice and simple | 45 // We want pnm for direct movie conversion as the data format is nice and simple |
46 //! \bug This may change the user preference in GUI, hmm what to do? See TODO.txt | 46 //! \bug This may change the user preference in GUI, hmm what to do? See TODO.txt |
47 //m_pParam->SetString("output.img.format", "pnm"); | 47 //m_pParam->SetString("output.img.format", "pnm"); |
48 | 48 |
49 // Initialise GraphicsOutputDevicePlotutils for memory buffer use | 49 // Initialise GraphicsOutputDevicePlotutils for memory buffer use |
50 if(!GraphicsOutputDeviceCairo::Initialize()) | 50 if(!GraphicsOutputDeviceCairo::Initialize()) |
51 return false; | 51 return false; |
52 | 52 |
53 int width = m_pParam->GetUInt("output.img.width"); | 53 int width = m_pParam->GetUInt("output.img.width"); |
54 int height = m_pParam->GetUInt("output.img.height"); | 54 int height = m_pParam->GetUInt("output.img.height"); |
55 //float framerate = 1000.0f/m_pParam->GetFloat("output.frameperiod"); | 55 //float framerate = 1000.0f/m_pParam->GetFloat("output.frameperiod"); |
56 float framerate=1000.0f/20.0f; | 56 float framerate=1000.0f/20.0f; |
57 | 57 |
58 m_pOutputMovie = new LibavformatWriter; | 58 m_pOutputMovie = new LibavformatWriter; |
59 m_pOutputMovie->Init(sMovieFile, width, height, framerate); | 59 m_pOutputMovie->Init(sMovieFile, width, height, framerate); |
60 | 60 |
61 return true; | 61 return true; |
62 } | 62 } |
63 | 63 |
64 void GraphicsOutputDeviceMovieDirect::Stop() { | 64 void GraphicsOutputDeviceMovieDirect::Stop() { |
65 // Make sure Plotutils is really done writing. | 65 // Make sure Plotutils is really done writing. |
66 GraphicsOutputDeviceCairo::Stop(); | 66 GraphicsOutputDeviceCairo::Stop(); |
67 m_pOutputMovie->End(); | 67 m_pOutputMovie->End(); |
68 delete m_pOutputMovie; | 68 delete m_pOutputMovie; |
69 | 69 |
70 } | 70 } |
71 | 71 |
72 void GraphicsOutputDeviceMovieDirect::gRelease() { | 72 void GraphicsOutputDeviceMovieDirect::gRelease() { |
73 // write the buffer | 73 // write the buffer |
390 | 390 |
391 void LibavformatWriter::fill_image(AVFrame *pict, | 391 void LibavformatWriter::fill_image(AVFrame *pict, |
392 unsigned char *pFrameBuffer, | 392 unsigned char *pFrameBuffer, |
393 int width, | 393 int width, |
394 int height) { | 394 int height) { |
395 memcpy((void*)&(pict->data[0][0]), (void*)pFrameBuffer, width*height*4); | 395 memcpy((void*)&(pict->data[0][0]), (void*)pFrameBuffer, width*height*4); |
396 } | 396 } |