[GEM-dev] pixfilm frame behaviour different depending on quicktime vs directx

Matteo Sisti Sette matteosistisette at gmail.com
Sat May 10 13:32:54 CEST 2008


Hi again,

You can test this with Homer.avi and with the attached patch.

I'm testing it on Windows XP with PD Vanilla 0.41-2 and gem snapshot of 22 
april 2008.
I have DirectX 9.0c and QuickTime 7.4.5 installed.

This is not a difference among gem versions: this is a difference of 
behaviour of pix_film on the same (almost current) version of gem depending 
on whether you use quicktime or directx to handle videos.


The patch is a slightly modified version of the help patch for pix_film.
There's a radio button to choose whether to load the file with quicktime or 
directx.
And there's a toggle to turn the gemhead on/off.

Here's how to test it.

1) Turn on the gemhead toggle
2) Choose "directx" on the radio button
3) Bang the openpanel and load homer.avi
4) Create the gemwin. Note that you're actually seeing the last frame, which 
is quite questionable.
5) With the gemhead turned on, move the frame number forth and back and 
leave it at 0.
You're now seing the first frame. That's OK
6) Turn off the gemhead toggle
7) Move the frame number up to frame 77 or so (do not exceed the length of 
the file)
8) Now turn on the gemhead toggle. You're still seing frame 0. Not good.
9) With the gemhead turned on, move the frame number back and forth again to 
frame 77.
You're now seing frame 77. That's ok
10) Turn off the gemhead toggle.
11) Move the frame number to 0.
12) Turn on the gemhead. You're still seing frame 77. Not good.

Conclusion: when pix_film receives a frame number while its chain's gemhead 
is off, it won't change the frame number, and when you turn the chain on, it 
will be still displaying the old frame untill it receives a frame number 
again.

In my opinion this is the WRONG behaviour; however this may even possibly be 
questionable.

Now close PD, reopen it and the patch, and
repeat the whole experiment, but choose "quicktime" at point (2).

You will observe the following differences:
- at point (4) you'll be seing the first frame, which is more reasonable
- at point (8) you'll be seing frame 77. Kinda what I would expect
- at point (12) you'll be seing frame 0. Kinda what I would expect

conclusion: when pix_film receive a frame number, it accepts and remembers 
it even if the gemchain is off. When the chain will be turned on, it will 
display the frame corresponding to the last number he has received.

You may question which one is the correct behaviour (quicktime behaviour in 
my opinion) but what's certainly too bad is that it behaves differently 
depending on whether you're using DirectX or QuickTime.

All this obliges me to patch things in a  COMPLETELY DIFFERENT way depending 
on the platform I use; I used to use quicktime. If I now switch to DirectX 
I'll have to change all my patches.

Can anyone confirm the same results on other platforms? (err... does DirectX 
exist at all on other platform than windows?) 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pix_film-help-quicktime_vs_directx.pd
URL: <http://lists.puredata.info/pipermail/gem-dev/attachments/20080510/5aac04af/attachment.asc>


More information about the GEM-dev mailing list