author | mickeyl <mickeyl> | 2003-04-21 00:36:04 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-04-21 00:36:04 (UTC) |
commit | 74b6398e9b2e8d206310b3d61e6db4f1fa5e51a6 (patch) (side-by-side diff) | |
tree | b9073d7b7deb36ff6572c9462fdcc047c1087cd0 | |
parent | 9163bfcc25b78477a75a153f2a75be30ad297c6a (diff) | |
download | opie-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
-rw-r--r-- | noncore/multimedia/camera/avi.c | 3 | ||||
-rw-r--r-- | noncore/multimedia/camera/mainwindow.cpp | 10 |
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 |