Opening video with flip transform takes minutes, compared to menu flip
| Originator: | chris | ||
| Number: | rdar://15557270 | Date Originated: | 11/28/2013 |
| Status: | Resolved: | ||
| Product: | QuickTime | Product Version: | 10.9.0 GM |
| Classification: | Performance | Reproducible: | Always |
Summary:
When I open a video file with flip with an flip transform applied to it, it takes minutes to open even short videos as QuickTime shows the "Converting" window and converts the file each time you open it. (These are files are written with AVAssertWriterInput setTransform:] to have horizontal and vertical flips).
I would expect that this be more performant since opening a video WITHOUT a transform, and Edit...Flip Horizontal (and Flip Vertical) is instantaneous!
Can the setTransform: flipped videos be special cased to use the same instantaneous mechanism Flip Horizontal and Flip Vertical (or both)? Thanks!
Steps to Reproduce:
1. Write out a video or open the attached video VideoWithFlipApplied-Slow.mp4.
2. Wait minutes while quicktime "Converts".
compared to.
1. Open VideoNeedsMenuFlip.mp4
2. Choose Edit...Flip Horizontal and Edit...Flip Vertical
3. Observe same result with no performance delays.
4. Be sad that customers are unhappy :(
Expected Results:
These three special cases should be as fast as their Edit...Flip Horizontal, Edit...Flip Vertical (or both), given that the result is the same.
These are the special cases that can be achieved equivalent with an untransformed video with the Edit menu:
+CGAffineTransform TransformForPlateOrientation(PlateOrientation plateOrientation)
+{
+ CGAffineTransform transform;
+ switch (plateOrientation) {
+ case PlateOrientationTopRead:
+ case PlateOrientationNoWells:
+ transform = CGAffineTransformIdentity;
+ break;
+ case PlateOrientationTopRead180DegreeRotated:
+ transform = CGAffineTransformMakeScale(-1.0, -1.0); // horizontal and vertical flip
+ break;
+ case PlateOrientationBottomRead:
+ transform = CGAffineTransformMakeScale(-1.0, 1.0); // horizontal flip
+ break;
+ case PlateOrientationBottomRead180DegreeRotated:
+ transform = CGAffineTransformMakeScale(1.0, -1.0); // vertical flip
+ break;
+ }
+ return transform;
+}
Actual Results:
Multiple minute delays, that lead to the same results as already implemented super fast menu items.
Version:
Mac OS X 10.9.0 (12A603), MacBook Retina, 2.6 ghz 8GB
Notes:
Configuration:
Attachments:
'VideoNeedsMenuFlip.mp4' and 'VideoWithFlipApplied-Slow.mp4' were successfully uploaded.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!