diff --git a/source/InputStream.cpp b/source/InputStream.cpp index 9e7c478..be94925 100755 --- a/source/InputStream.cpp +++ b/source/InputStream.cpp @@ -249,7 +249,7 @@ Bool InputStream::writeFrame( const QString& filename ) return true; } -Void InputStream::getFrame( QImage *qimage ) +QImage* InputStream::getFrame( QImage *qimage ) { Pel*** bufferRGB = m_cCurrFrame->getPelBufferRGB(); @@ -267,6 +267,18 @@ Void InputStream::getFrame( QImage *qimage ) { Q_ASSERT( 0 ); } + return qimage; +} + +PlaYUVerFrame* InputStream::getFrame( PlaYUVerFrame *pyuv_image ) +{ + Pel*** bufferRGB = m_cCurrFrame->getPelBufferRGB(); + + if( pyuv_image == NULL ) + pyuv_image = new PlaYUVerFrame( m_cCurrFrame->getWidth(), m_cCurrFrame->getHeight(), m_cCurrFrame->getPelFormat() ); + + pyuv_image->CopyFrom(m_cCurrFrame); + return pyuv_image; } #ifdef USE_OPENCV diff --git a/source/InputStream.h b/source/InputStream.h index 7935d41..cda8c39 100755 --- a/source/InputStream.h +++ b/source/InputStream.h @@ -103,7 +103,8 @@ public: Bool writeFrame( const QString& filename ); - Void getFrame( QImage *qimage ); + QImage* getFrame( QImage *qimage ); + PlaYUVerFrame* getFrame( PlaYUVerFrame *qimage ); #ifdef USE_OPENCV cv::Mat getFrameCvMat(); #endif