summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-04-21 00:36:04 (UTC)
committer mickeyl <mickeyl>2003-04-21 00:36:04 (UTC)
commit74b6398e9b2e8d206310b3d61e6db4f1fa5e51a6 (patch) (side-by-side diff)
treeb9073d7b7deb36ff6572c9462fdcc047c1087cd0
parent9163bfcc25b78477a75a153f2a75be30ad297c6a (diff)
downloadopie-74b6398e9b2e8d206310b3d61e6db4f1fa5e51a6.zip
opie-74b6398e9b2e8d206310b3d61e6db4f1fa5e51a6.tar.gz
opie-74b6398e9b2e8d206310b3d61e6db4f1fa5e51a6.tar.bz2
Yahoo! Found the last three bugs in writing the avi stream. It now works :-D
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/camera/avi.c3
-rw-r--r--noncore/multimedia/camera/mainwindow.cpp10
2 files changed, 9 insertions, 4 deletions
diff --git a/noncore/multimedia/camera/avi.c b/noncore/multimedia/camera/avi.c
index 0c757c9..77aba33 100644
--- a/noncore/multimedia/camera/avi.c
+++ b/noncore/multimedia/camera/avi.c
@@ -113,21 +113,22 @@ void avi_end(int fd, int width, int height, int fps)
for ( i = 0; i < nframes; i++ )
{
write(fd, &db, 4 ); // only need the 00db
fprint_quartet( fd, 18 ); // ???
fprint_quartet( fd, offset );
fprint_quartet( fd, sizes[i] );
- offset += sizes[i];
+ offset += sizes[i] + 8; //+8 (for the additional header)
}
free( sizes );
bzero( &ah, sizeof(ah) );
strcpy(ah.avih, "avih");
ah.time = 1000000 / fps;
ah.maxbytespersec = 1000000.0*(totalsize/nframes)/ah.time;
+ ah.nframes = nframes;
ah.numstreams = 1;
ah.flags = AVIF_HASINDEX;
ah.width = width;
ah.height = height;
bzero(&sh, sizeof(sh));
diff --git a/noncore/multimedia/camera/mainwindow.cpp b/noncore/multimedia/camera/mainwindow.cpp
index e27a50e..7e60e16 100644
--- a/noncore/multimedia/camera/mainwindow.cpp
+++ b/noncore/multimedia/camera/mainwindow.cpp
@@ -493,14 +493,18 @@ void CameraMainWindow::postProcessVideo( const QString& infile, const QString& o
QPixmap p;
p.convertFromImage( image );
preview->setPixmap( p );
preview->repaint();
qApp->processEvents();
+ #ifndef QT_NO_DEBUG
+ QString tmpfilename;
+ tmpfilename.sprintf( "/tmp/test/%04d.jpg", i );
+ #else
QString tmpfilename( "/tmp/tempfile" );
- //tmpfilename.sprintf( "/tmp/test/%d.jpg", i );
+ #endif
imageToFile( &image, tmpfilename, "JPEG", quality );
QFile framefile( tmpfilename );
if ( !framefile.open( IO_ReadOnly ) )
{
@@ -539,13 +543,13 @@ void CameraMainWindow::updateCaption()
#ifndef QT_NO_DEBUG
void CameraMainWindow::doSomething()
{
captureX = 240;
captureY = 320;
- _videopics = 176;
+ _videopics = 50;
_framerate = 5;
- postProcessVideo( "/var/compile/opie/noncore/multimedia/camera/capture-320x240.dat",
+ postProcessVideo( "/var/compile/opie/noncore/multimedia/camera/capture.dat",
"/tmp/output.avi" );
}
#endif