along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+#include <stdlib.h>
+#include <stdio.h>
+#include <memory.h>
#include "../config.h"
-extern "C" {
-#include "../lib/args.h"
-}
-#include "v2swf.h"
-#include "../lib/q.h"
-
#undef HAVE_CONFIG_H
#ifdef HAVE_VERSION_H
#define Bpp bpp
#endif
+#ifdef HAVE_SIGNAL_H
+#ifdef HAVE_PTHREAD_H
+#include <pthread.h>
+#include <signal.h>
+#define DO_SIGNALS
+#endif
+#endif
+
+#include "../lib/q.h"
#include "videoreader.h"
+static int shutdown_avi2swf = 0;
+static int verbose = 0;
+
typedef struct _videoreader_avifile_internal
{
IAviReadFile* player;
int do_audio;
int do_video;
int eof;
+ int flip;
int frame;
int soundbits;
ringbuffer_t audio_buffer;
img = img2;
}
-
- frameno++;
+ v->frame++;
i->frame++;
unsigned char*data = img->Data();
int bpp = img->Bpp();
for(y=0;y<v->height;y++) {
unsigned char*from,*to;
to = &((unsigned char*)buffer)[y*v->width*4];
- if(flip)
+ if(i->flip)
from = img->At(v->height-y-1);
else
from = img->At(y);
}
static void videoreader_avifile_setparameter(videoreader_t*v, char*name, char*value)
{
+ videoreader_avifile_internal*i = (videoreader_avifile_internal*)v->internal;
+ if(!strcmp(name, "verbose")) {
+ verbose = atoi(value);
+ }
+ if(!strcmp(name, "flip")) {
+ i->flip = atoi(value);
+ }
if(verbose) {
printf("videoreader_setparameter(%s, %s)\n", name, value);fflush(stdout);
}
memset(i, 0, sizeof(videoreader_avifile_internal));
memset(v, 0, sizeof(videoreader_t));
v->getsamples = videoreader_avifile_getsamples;
- v->getinfo = videoreader_avifile_getinfo;
v->close = videoreader_avifile_close;
v->eof = videoreader_avifile_eof;
v->getimage = videoreader_avifile_getimage;
v->getsamples = videoreader_avifile_getsamples;
v->setparameter = videoreader_avifile_setparameter;
v->internal = i;
+ v->frame = 0;
i->do_video = 1;
i->do_audio = 1;