diff --git a/schroedinger/schroasync-win32.c b/schroedinger/schroasync-win32.c index 0912e81..3bf2fb0 100644 --- a/schroedinger/schroasync-win32.c +++ b/schroedinger/schroasync-win32.c @@ -166,8 +166,8 @@ void schro_async_start (SchroAsync *async) { int i; - for(i=0;in_threads) { - SetEvent (async->thread_event); + for(i=0;in_threads;i++) { + SetEvent (async->threads[i].event); } } @@ -332,7 +332,7 @@ schro_thread_main (void *ptr) * a lot of unnecessary wakeups in some cases. */ { int i; - for(i=0;in_threads) { + for(i=0;in_threads;i++) { SetEvent (async->thread_event); } } diff --git a/schroedinger/schrodecoder.c b/schroedinger/schrodecoder.c index d915c34..1ca348e 100644 --- a/schroedinger/schrodecoder.c +++ b/schroedinger/schrodecoder.c @@ -683,6 +683,7 @@ schro_decoder_pull (SchroDecoder *decoder) { SchroDecoderInstance *instance = decoder->instance; SchroPicture *picture = NULL; + SchroPictureNumber picture_number; SchroFrame *frame; schro_async_lock (decoder->async); @@ -697,12 +698,12 @@ schro_decoder_pull (SchroDecoder *decoder) /* XXX would be nice to warn if expected picture not present */ frame = schro_frame_ref (picture->output_picture); + picture_number = picture->picture_number; schro_picture_unref (picture); if (schro_decoder_frame_is_twofield (instance, frame)) do { /* only consider the 2nd field if it can reference * picture->output_picture, ie frame is twofields */ - SchroPictureNumber picture_number = picture->picture_number; if (picture_number&1) { /* The following is voilated: * - 10.4p3 earliest field in each frame shall have an even picture number diff --git a/testsuite/motion.c b/testsuite/motion.c index 9c52683..60e5739 100644 --- a/testsuite/motion.c +++ b/testsuite/motion.c @@ -13,24 +13,6 @@ #define OIL_ENABLE_UNSTABLE_API #include -void -schro_frame_data_clear (SchroFrameData *fd) -{ - int i; - for(i=0;iheight;i++){ - memset (SCHRO_FRAME_DATA_GET_LINE (fd, i), 0, fd->width); - } - -} - -void -schro_frame_clear (SchroFrame *frame) -{ - schro_frame_data_clear (frame->components + 0); - schro_frame_data_clear (frame->components + 1); - schro_frame_data_clear (frame->components + 2); -} - int main (int argc, char *argv[]) { diff --git a/testsuite/motion2.c b/testsuite/motion2.c index e90ff70..c6f4cc7 100644 --- a/testsuite/motion2.c +++ b/testsuite/motion2.c @@ -15,14 +15,6 @@ #include void -schro_frame_clear (SchroFrame *frame) -{ - memset(frame->components[0].data, 0, frame->components[0].length); - memset(frame->components[1].data, 0, frame->components[1].length); - memset(frame->components[2].data, 0, frame->components[2].length); -} - -void schro_frame_create_pattern (SchroFrame *frame, int type) { int i,j,k;