Major changes in ColorSpace Definition

Now color space is defined in PlaYUVerFrame
New function to check if a pixel format is RGB or YUV or Gray or ARGB
implemented
This commit is contained in:
jfmcarreira committed 2014-04-05 06:24:54 +01:00
1 parent 3754caa865
commit 518d68483a
5 files changed
+37 -16

No files matched your search

+1 -9
View File
@@ -112,14 +112,6 @@ typedef UChar Pel; ///< 8-bit pixel type
// PlaYUVer definitions
// ====================================================================================================================
enum ColorSpace
{
COLOR_INVALID = -1,
COLOR_YUV = 0,
COLOR_RGB,
};
enum YUVcomponent
{
LUMA = 0,
@@ -136,7 +128,7 @@ enum RGBcomponent
typedef struct __pixel_definition
{
ColorSpace color_space;
Int color_space;
union
{
Pel Luma;
+1 -1
View File
@@ -372,7 +372,7 @@ void ViewArea::paintEvent( QPaintEvent *event )
for(Int j=vr.y() ; j<=vr.bottom() ; j++)
{
QPoint pixelTopLeft(i,j);
sPixelValue = curFrame->getPixelValue( pixelTopLeft, COLOR_YUV );
sPixelValue = curFrame->getPixelValue( pixelTopLeft, PlaYUVerFrame::COLOR_YUV );
QRect pixelRect(viewToWindow(pixelTopLeft), QSize(m_zoomFactor,m_zoomFactor));
if( sPixelValue.Luma < 128 )
+1 -1
View File
@@ -491,7 +491,7 @@ void plaYUVerApp::updatePixelValueStatusBar( const QPoint & pos, InputStream* st
if( ( posX < iWidth ) && ( posX >= 0 ) && ( posY < iHeight ) && ( posY >= 0 ) )
{
sPixelValue = curFrame->getPixelValue( pos, COLOR_YUV );
sPixelValue = curFrame->getPixelValue( pos, PlaYUVerFrame::COLOR_YUV );
strPixel = QString( "Y: %1 U: %2 V: %3" ).arg( sPixelValue.Luma ).arg( sPixelValue.ChromaU ).arg( sPixelValue.ChromaV );
strStatus.append( strPixel );
statusBar()->showMessage( strStatus, 0 );
+3 -3
View File
@@ -430,7 +430,7 @@ UInt64 PlaYUVerFrame::getBytesPerFrame()
return 0;
}
Pixel PlaYUVerFrame::ConvertPixel( Pixel sInputPixel, ColorSpace eOutputSpace )
Pixel PlaYUVerFrame::ConvertPixel( Pixel sInputPixel, Int eOutputSpace )
{
Pixel sOutputPixel =
{
@@ -453,7 +453,7 @@ Pixel PlaYUVerFrame::ConvertPixel( Pixel sInputPixel, ColorSpace eOutputSpace )
return sOutputPixel;
}
Pixel PlaYUVerFrame::getPixelValue( const QPoint &pos, ColorSpace space )
Pixel PlaYUVerFrame::getPixelValue( const QPoint &pos, Int color_space )
{
Pixel pixel_value;
switch( m_iPixelFormat )
@@ -491,7 +491,7 @@ Pixel PlaYUVerFrame::getPixelValue( const QPoint &pos, ColorSpace space )
default:
break;
}
ConvertPixel( pixel_value, space );
ConvertPixel( pixel_value, color_space );
return pixel_value;
}
+31 -2
View File
@@ -56,6 +56,15 @@ public:
PlaYUVerFrame( UInt width = 0, UInt height = 0, Int pel_format = 0 );
~PlaYUVerFrame();
enum ColorSpace
{
COLOR_INVALID = -1,
COLOR_YUV = 0,
COLOR_RGB,
COLOR_ARGB,
COLOR_GRAY,
};
enum PixelFormats
{
NO_FMT = -1,
@@ -68,6 +77,26 @@ public:
NUMBER_FORMATS
};
static Int isRGBorYUVorGray( Int pixel_format )
{
switch( pixel_format )
{
case GRAY:
return COLOR_GRAY;
break;
case YUV420p:
case YUV444p:
case YUV422p:
case YUYV422:
return COLOR_YUV;
break;
case RGB8:
return COLOR_RGB;
break;
}
return COLOR_INVALID;
}
static QStringList supportedPixelFormatList()
{
QStringList formats;
@@ -94,8 +123,8 @@ public:
return m_pppcInputPel;
}
static Pixel ConvertPixel( Pixel sInputPixel, ColorSpace eOutputSpace );
Pixel getPixelValue( const QPoint &pos, ColorSpace color );
static Pixel ConvertPixel( Pixel sInputPixel, Int eOutputSpace );
Pixel getPixelValue( const QPoint &pos, Int color );
UChar* getQImageBuffer() const
{