*** empty log message ***

This commit is contained in:
Martin Mueller
2007-12-16 22:33:14 +00:00
parent efa9eb645b
commit 24ce6b1b5f
2 changed files with 38 additions and 6 deletions
+14 -6
View File
@@ -19,17 +19,25 @@ with (maybe adjust the NORM)
mplayer tv:// -tv driver=v4l2:width=320:height=240:norm=NTSC:input=0:device=/dev/video0:noaudio -ao noalsa -nolirc -nomouseinput -really-quiet
or build spook and use it to distribute through rtsp
or build spook and use it to distribute through rtsp, get Debian package
libxvidcore4-dev before configuring it
apt-get install libxvidcore4-dev
cd spook
./configure
make
as the v4l-dvb-kernel updates some parts of the video4linux interface, just
building wis does not work. if you want to use the Plextor M402U you have to
use a patched (this is evil) Module.symvers. Either use the one provided or
copy the symbol hashes over from the *.mod.c files. generate the headers
start spook and watch video through vlc (mplayer) from it
vlc rtsp://localhost:7070/webcam
for the Plextor, it can NOT be used at the same time as the Pollin,
v4l changes the kernel symbols and wis can not work with that
re-install the kernel if you want to use it
changing the kernel symvers somehow does not work
cd v4l-dvb-kernel
sudo make kernel-headers
then build wis-go7007
build wis-go7007
@@ -1,3 +1,4 @@
#define SPOOK_DEINTERLACE 1
/*
* Copyright (C) 2004 Nathan Lutchansky <lutchann@litech.org>
*
@@ -67,7 +68,11 @@ static void mpeg4_start( struct mpeg4_encoder *en, struct frame *f )
en->reset_pending = 0;
en->width = f->width;
#ifdef SPOOK_DEINTERLACE
en->height = f->height/2;
#else
en->height = f->height;
#endif
memset( &xvid_enc_create, 0, sizeof( xvid_enc_create ) );
xvid_enc_create.version = XVID_VERSION;
@@ -128,6 +133,24 @@ static void *mpeg4_loop( void *d )
if( en->reset_pending && en->xvid_handle ) mpeg4_stop( en );
if( ! en->xvid_handle ) mpeg4_start( en, input );
#ifdef SPOOK_DEINTERLACE
if( input->width != en->width || input->height != en->height*2 )
{
spook_log( SL_WARN,
"mpeg4: image size changed midstream!" );
unref_frame( input );
continue;
}
{
int lines;
char *YUY2 = input->d;
for (lines = 0; lines < en->height; lines++)
{
memcpy(YUY2 + (lines * en->width * 2), YUY2 + (lines * en->width * 2 * 2), en->width*2);
}
}
#else
if( input->width != en->width || input->height != en->height )
{
spook_log( SL_WARN,
@@ -135,6 +158,7 @@ static void *mpeg4_loop( void *d )
unref_frame( input );
continue;
}
#endif
mpeg = new_frame();