Skip to content

Commit f79f59b

Browse files
author
Clement Champetier
committed
DummyVideo: get a black image
* Get a black image as dummy video, whatever the pixel format. * Use the color conversion at each new frame.
1 parent 8ad7ce8 commit f79f59b

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

src/AvTranscoder/EssenceStream/DummyVideo.cpp

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#include "DummyVideo.hpp"
22

3+
#include <AvTranscoder/EssenceTransform/VideoEssenceTransform.hpp>
4+
35
namespace avtranscoder
46
{
57

@@ -36,11 +38,25 @@ bool DummyVideo::readNextFrame( Frame& frameBuffer )
3638
{
3739
if( ! _inputFrame )
3840
{
39-
int fillChar = 0; // fill images with black
40-
41+
// @todo support PAL (0 to 255) and NTFC (16 to 235)
42+
int fillChar = 0;
43+
4144
if( frameBuffer.getSize() != _videoFrameDesc.getDataSize() )
4245
frameBuffer.getBuffer().resize( _videoFrameDesc.getDataSize() );
43-
memset( frameBuffer.getPtr(), fillChar, _videoFrameDesc.getDataSize() );
46+
47+
VideoFrameDesc desc( _videoDesc.getVideoFrameDesc() );
48+
Pixel rgbPixel;
49+
rgbPixel.setColorComponents( eComponentRgb );
50+
rgbPixel.setPlanar( false );
51+
desc.setPixel( rgbPixel );
52+
53+
VideoFrame intermediateBuffer( desc );
54+
intermediateBuffer.getBuffer().resize( _videoFrameDesc.getDataSize() );
55+
memset( intermediateBuffer.getPtr(), fillChar, _videoFrameDesc.getDataSize() );
56+
57+
VideoEssenceTransform videoEssenceTransform;
58+
videoEssenceTransform.convert( intermediateBuffer, frameBuffer );
59+
4460
return true;
4561
}
4662

0 commit comments

Comments
 (0)