[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.0/kdenetwork/kopete
From:       Cláudio da Silveira Pinheiro <taupter () gmail ! com>
Date:       2008-01-08 8:29:28
Message-ID: 1199780968.035626.7411.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 758553 by taupter:

Fixed image saturation problem with uvc devices.
Image controls now update accordingly when loaded.
Added new pixel format detection code.


 M  +8 -20     kopete/config/avdevice/avdeviceconfig.cpp  
 M  +52 -62    libkopete/avdevice/videodevice.cpp  
 M  +1 -0      libkopete/avdevice/videodevice.h  
 M  +3 -1      libkopete/avdevice/videodevicepool.cpp  


--- branches/KDE/4.0/kdenetwork/kopete/kopete/config/avdevice/avdeviceconfig.cpp \
#758552:758553 @@ -49,13 +49,7 @@
  : KCModule( KopeteAVDeviceConfigFactory::componentData(), parent, args )
 {
 	kDebug() << "kopete:config (avdevice): KopeteAVDeviceConfigFactory::componentData() \
                called. ";
-// 	QVBoxLayout *layout = new QVBoxLayout(this);
-
-// 	mAVDeviceTabCtl = new QTabWidget(this);
-// 	layout->addWidget( mAVDeviceTabCtl );
-
 // "Video" TAB ============================================================
-// 	QWidget *w = new QWidget(this);
 	mPrfsVideoDevice = new Ui_AVDeviceConfig_VideoDevice();
 	mPrfsVideoDevice->setupUi(this);
 
@@ -63,8 +57,6 @@
 	mPrfsVideoDevice->mVideoImageLabel->setScaledContents(false);
 	mPrfsVideoDevice->mVideoImageLabel->setPixmap(KIcon("camera-web").pixmap(128,128));
 
-// 	mAVDeviceTabCtl->addTab(w, i18n("Video"));
-//	mPrfsVideoDevice = new Ui_AVDeviceConfig_VideoDevice(mAVDeviceTabCtl);
 	connect(mPrfsVideoDevice->mDeviceKComboBox,              SIGNAL(activated(int)),    \
this, SLOT(slotDeviceKComboBoxChanged(int)));  \
connect(mPrfsVideoDevice->mInputKComboBox,               SIGNAL(activated(int)),    \
this, SLOT(slotInputKComboBoxChanged(int)));  \
connect(mPrfsVideoDevice->mStandardKComboBox,            SIGNAL(activated(int)),    \
this, SLOT(slotStandardKComboBoxChanged(int))); @@ -77,9 +69,6 @@
 	connect(mPrfsVideoDevice->mImageAutoColorCorrection,     SIGNAL(toggled(bool)),     \
this, SLOT(slotImageAutoColorCorrectionChanged(bool)));  \
connect(mPrfsVideoDevice->mImageAsMirror,                SIGNAL(toggled(bool)),     \
this, SLOT(slotImageAsMirrorChanged(bool)));  
-	// why is this here?
-	// mPrfsVideoDevice->mVideoImageLabel->setPixmap(qpixmap);
-//	mAVDeviceTabCtl->addTab(mPrfsVideoDevice,tr2i18n("&Video",0)); // Problematic. \
Need to be uncommented after fixing it.  mVideoDevicePool = \
Kopete::AV::VideoDevicePool::self();  mVideoDevicePool->open();
 	mVideoDevicePool->setSize(320, 240);
@@ -87,6 +76,7 @@
 	mVideoDevicePool->fillDeviceKComboBox(mPrfsVideoDevice->mDeviceKComboBox);
 	mVideoDevicePool->fillInputKComboBox(mPrfsVideoDevice->mInputKComboBox);
 	mVideoDevicePool->fillStandardKComboBox(mPrfsVideoDevice->mStandardKComboBox);
+	setVideoInputParameters();
 
 	mVideoDevicePool->startCapturing();
 
@@ -249,17 +239,15 @@
 
 void AVDeviceConfig::deviceRegistered( const QString & udi )
 {
-	kDebug() << "not updating combo boxes due to bugs in videodevicepool!";
-	//mVideoDevicePool->fillDeviceKComboBox(mPrfsVideoDevice->mDeviceKComboBox);
-	//mVideoDevicePool->fillInputKComboBox(mPrfsVideoDevice->mInputKComboBox);
-	//mVideoDevicePool->fillStandardKComboBox(mPrfsVideoDevice->mStandardKComboBox);
+	mVideoDevicePool->fillDeviceKComboBox(mPrfsVideoDevice->mDeviceKComboBox);
+	mVideoDevicePool->fillInputKComboBox(mPrfsVideoDevice->mInputKComboBox);
+	mVideoDevicePool->fillStandardKComboBox(mPrfsVideoDevice->mStandardKComboBox);
 }
 
 
 void AVDeviceConfig::deviceUnregistered( const QString & udi )
 {
-	kDebug() << "not updating combo boxes due to bugs in videodevicepool!";
-	//mVideoDevicePool->fillDeviceKComboBox(mPrfsVideoDevice->mDeviceKComboBox);
-	//mVideoDevicePool->fillInputKComboBox(mPrfsVideoDevice->mInputKComboBox);
-	//mVideoDevicePool->fillStandardKComboBox(mPrfsVideoDevice->mStandardKComboBox);
-}
+/*	mVideoDevicePool->fillDeviceKComboBox(mPrfsVideoDevice->mDeviceKComboBox);
+	mVideoDevicePool->fillInputKComboBox(mPrfsVideoDevice->mInputKComboBox);
+	mVideoDevicePool->fillStandardKComboBox(mPrfsVideoDevice->mStandardKComboBox);
+*/}
--- branches/KDE/4.0/kdenetwork/kopete/libkopete/avdevice/videodevice.cpp \
#758552:758553 @@ -1403,7 +1403,7 @@
 
 float VideoDevice::setBrightness(float brightness)
 {
-	kDebug() << " called.";
+	kDebug() << "(" << brightness << ") called.";
 	m_input[m_current_input].setBrightness(brightness); // Just to check bounds
 
 	switch(m_driver)
@@ -1473,7 +1473,7 @@
 
 float VideoDevice::setContrast(float contrast)
 {
-	kDebug() << " called.";
+	kDebug() << "(" << contrast << ") called.";
 	m_input[m_current_input].setContrast(contrast); // Just to check bounds
 
 	switch(m_driver)
@@ -1543,7 +1543,7 @@
 
 float VideoDevice::setSaturation(float saturation)
 {
-	kDebug() << " called.";
+	kDebug() << "(" << saturation << ") called.";
 	m_input[m_current_input].setSaturation(saturation); // Just to check bounds
 
 	switch(m_driver)
@@ -1613,7 +1613,7 @@
 
 float VideoDevice::setWhiteness(float whiteness)
 {
-	kDebug() << " called.";
+	kDebug() << "(" << whiteness << ") called.";
 	m_input[m_current_input].setWhiteness(whiteness); // Just to check bounds
 
 	switch(m_driver)
@@ -1683,7 +1683,7 @@
 
 float VideoDevice::setHue(float hue)
 {
-	kDebug() << " called.";
+	kDebug() << "(" << hue << ") called.";
 	m_input[m_current_input].setHue(hue); // Just to check bounds
 
 	switch(m_driver)
@@ -2160,11 +2160,29 @@
 
 int VideoDevice::detectPixelFormats()
 {
+			int err = 0;
 	switch(m_driver)
 	{
 #if defined(__linux__) && defined(ENABLE_AV)
 #ifdef V4L2_CAP_VIDEO_CAPTURE
 		case VIDEODEV_DRIVER_V4L2:
+			fmtdesc.index = 0;
+			fmtdesc.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+
+			while ( err == 0 )
+			{
+				if (-1 == xioctl (VIDIOC_ENUM_FMT, &fmtdesc))
+//				if (ioctl(fd, VIDIOC_ENUM_FMT, &fmtdesc) < 0 )
+				{
+					perror("VIDIOC_ENUM_FMT");
+					err = errno;
+				}
+				else
+				{	
+					kDebug () << pixelFormatName(pixelFormatForPalette(fmtdesc.pixelformat)); // \
Need a cleanup. PixelFormatForPalette is a really bad name +					fmtdesc.index++;
+				}
+			}
 //			break;
 #endif
 		case VIDEODEV_DRIVER_V4L:
@@ -2172,71 +2190,43 @@
 // The correct thing to do is to isolate these calls and do a proper implementation \
for V4L and another for V4L2 when this thing will be migrated to a plugin \
architecture.  
 // Packed RGB formats
-			kDebug() << "checkDevice(): " << "Supported pixel formats:";
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB332))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_RGB332);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB444))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_RGB444);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB555))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_RGB555);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB565))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_RGB565);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB555X))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_RGB555X);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB565X))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_RGB565X);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_BGR24))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_BGR24);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB24))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_RGB24);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_BGR32))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_BGR32);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB32))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_RGB32);
+			kDebug() << "Supported pixel formats:";
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB332))	kDebug() << \
pixelFormatName(PIXELFORMAT_RGB332); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_RGB444))	kDebug() << pixelFormatName(PIXELFORMAT_RGB444); \
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB555))	kDebug() << \
pixelFormatName(PIXELFORMAT_RGB555); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_RGB565))	kDebug() << pixelFormatName(PIXELFORMAT_RGB565); \
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB555X))	kDebug() << \
pixelFormatName(PIXELFORMAT_RGB555X); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_RGB565X))	kDebug() << \
pixelFormatName(PIXELFORMAT_RGB565X); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_BGR24))	kDebug() << pixelFormatName(PIXELFORMAT_BGR24); \
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB24))	kDebug() << \
pixelFormatName(PIXELFORMAT_RGB24); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_BGR32))	kDebug() << pixelFormatName(PIXELFORMAT_BGR32); \
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_RGB32))	kDebug() << \
pixelFormatName(PIXELFORMAT_RGB32);  
 // Bayer RGB format
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_SBGGR8))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_SBGGR8);
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_SBGGR8))	kDebug() << \
pixelFormatName(PIXELFORMAT_SBGGR8);  
 // YUV formats
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_GREY))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_GREY);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_YUYV))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_YUYV);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_UYVY))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_UYVY);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_YUV420P))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_YUV420P);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_YUV422P))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_YUV422P);
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_GREY))	kDebug() << \
pixelFormatName(PIXELFORMAT_GREY); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_YUYV))	kDebug() << pixelFormatName(PIXELFORMAT_YUYV); \
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_UYVY))	kDebug() << \
pixelFormatName(PIXELFORMAT_UYVY); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_YUV420P))	kDebug() << \
pixelFormatName(PIXELFORMAT_YUV420P); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_YUV422P))	kDebug() << \
pixelFormatName(PIXELFORMAT_YUV422P);  
 // Compressed formats
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_JPEG))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_JPEG);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_MPEG))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_MPEG);
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_JPEG))	kDebug() << \
pixelFormatName(PIXELFORMAT_JPEG); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_MPEG))	kDebug() << pixelFormatName(PIXELFORMAT_MPEG);  
 // Reserved formats
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_DV))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_DV);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_ET61X251))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_ET61X251);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_HI240))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_HI240);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_HM12))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_HM12);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_MJPEG))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_MJPEG);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_PWC1))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_PWC1);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_PWC2))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_PWC2);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_SN9C10X))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_SN9C10X);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_WNVA))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_WNVA);
-			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_YYUV))
-				kDebug() << "checkDevice(): " << pixelFormatName(PIXELFORMAT_YYUV);
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_DV))		kDebug() << \
pixelFormatName(PIXELFORMAT_DV); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_ET61X251))	kDebug() << \
pixelFormatName(PIXELFORMAT_ET61X251); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_HI240))	kDebug() << pixelFormatName(PIXELFORMAT_HI240); \
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_HM12))	kDebug() << \
pixelFormatName(PIXELFORMAT_HM12); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_MJPEG))	kDebug() << pixelFormatName(PIXELFORMAT_MJPEG); \
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_PWC1))	kDebug() << \
pixelFormatName(PIXELFORMAT_PWC1); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_PWC2))	kDebug() << pixelFormatName(PIXELFORMAT_PWC2); \
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_SN9C10X))	kDebug() << \
pixelFormatName(PIXELFORMAT_SN9C10X); +			if(PIXELFORMAT_NONE != \
setPixelFormat(PIXELFORMAT_WNVA))	kDebug() << pixelFormatName(PIXELFORMAT_WNVA); \
+			if(PIXELFORMAT_NONE != setPixelFormat(PIXELFORMAT_YYUV))	kDebug() << \
pixelFormatName(PIXELFORMAT_YYUV);  break;
 #endif
 		case VIDEODEV_DRIVER_NONE:
--- branches/KDE/4.0/kdenetwork/kopete/libkopete/avdevice/videodevice.h \
#758552:758553 @@ -280,6 +280,7 @@
 	struct v4l2_cropcap cropcap;
 	struct v4l2_crop crop;
 	struct v4l2_format fmt;
+	struct v4l2_fmtdesc fmtdesc; // Not sure if it must be here or inside \
detectPixelFormats(). Should inve  //	struct v4l2_input m_input;
 	struct v4l2_queryctrl queryctrl;
 	struct v4l2_querymenu querymenu;
--- branches/KDE/4.0/kdenetwork/kopete/libkopete/avdevice/videodevicepool.cpp \
#758552:758553 @@ -854,7 +854,7 @@
 				config.writeEntry( brightness,             \
                (double)(*vditerator).m_input[input].getBrightness());
 				config.writeEntry( contrast,               \
                (double)(*vditerator).m_input[input].getContrast());
 				config.writeEntry( saturation,             \
                (double)(*vditerator).m_input[input].getSaturation());
-				config.writeEntry( saturation,             \
(double)(*vditerator).m_input[input].getWhiteness()); +				config.writeEntry( \
                whiteness,              \
                (double)(*vditerator).m_input[input].getWhiteness());
 				config.writeEntry( hue,                    \
                (double)(*vditerator).m_input[input].getHue());
 				config.writeEntry( autobrightnesscontrast, \
                (*vditerator).m_input[input].getAutoBrightnessContrast());
 				config.writeEntry( autocolorcorrection,    \
(*vditerator).m_input[input].getAutoColorCorrection()); @@ -868,6 +868,7 @@
 
 void VideoDevicePool::deviceAdded( const QString & udi )
 {
+	kDebug() << "("<< udi << ") called";
 	Solid::Device dev( udi );
 	if ( dev.is<Solid::Video>() )
 	{
@@ -878,6 +879,7 @@
 
 void VideoDevicePool::deviceRemoved( const QString & udi )
 {
+	kDebug() << "("<< udi << ") called";
 	int i = 0;
 	foreach ( VideoDevice vd, m_videodevice ) {
 		


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic