Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Odd export problem via QTPro 7.0.3 and greater



QuickTime Gurus,

I've been experiencing strange behavior while exporting a movie in QuickTime Pro versions 7.0.3 and greater where exported movies with the exact same settings are not binary identical export after export. I first thought this was a glitch in my Movie Export Component, but ran some sanity checks using QuickTime's own MOV exporter with various image compressors (h.263, h.264) giving different results on each encode also noticing that the last frame of an encoded sequence appears to be garbled. This happens on both PowerPC and Intel Macs with QuickTime 7.0.3 and greater but is spared on QuickTime Pro versions 7.0.2 and lower. Has anything changed regarding QTPlayerHelper and movie export components that effects the movie export process or anything else I should keep in mind?

More details:

I first noticed this when I was optimizing my component with AltiVec routines. Other than specific test cases , I would run an md5 hash on the resulting encoded video and comparing it to an encode result where only scalar routines are used. Generally, export after export these would give an identical md5 hash until I upgraded to 7.0.3. At this point, running a second export of a file with the same component, same settings, same everything, the md5 would change each time. I rechecked on a co-workers PowerPC Mac with 7.0.2 installed and found these issues were specific to 7.0.3 on my Macs.

Recently I ran a few quality tests (PSNR) and found erratic behavior frame by frame between clips encoded with the same source, same settings, just at a different time. I went as far as to run a PSNR test between encoded clips and found that each encoded frame becomes different after about the fifth or sixth encoded frame. I attributed this to QuickTime delivering frames that were slightly off from each export process.

So the real trouble begins - I've been experiencing some odd behavior resulting in an assertion statement within the code. Stopping the debugger (attached to QTPlayerHelper) at that point shows there are variables that are way, WAY off of what they should be. I tried on different machines, both PowerPC and Intel and reproducing this bug to say the least is erratic. One machine it works flawlessly, one machine it does not, an other machine it works intermittently and finally a machine only works when certain 3rd party import components are uninstalled.

Thinking this could mean some of the memory was clobbered, I stuggled to think of a way to run QTPlayerHelper within MallocDebug - I never figured out how to, so I used small export app and wasn't able to reproduce this error at all. I then tried a second export application (QTAmateur by Mike Ash- http://www.mikeash.com/software/qtamateur/) and was not able to reproduce this error on two computers I have tested with.

Now it dawned on me to recheck md5 hashes of the resulting encoded movies - each time, after each export, the md5 hashes of the resulting movies are IDENTICAL using QTAmateur. I cannot help but suspect that all these issues are somehow related. Can it be possible that QTPlayerHelper is trashing source frames or corrupting information within my encoder + movie export component? Have there been API changes for Movie Export Components that would lead to the problems above?

I unfortunately don't have access to QTPro 7.0.2 and lower anymore. I would have checked otherwise...

Thanks in advance for any help or information (and, of course, for reading my lengthy post).

- David

_______________________________________________
Do not post admin requests to the list. They will be ignored.
QuickTime-API mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quicktime-api/email@hidden

This email sent to email@hidden


Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.