Ticket #308 (new defect)

Opened 7 years ago

Last modified 5 years ago

Intermittent H.264 frame rate drop after installing 1.1

Reported by: Moolicious Owned by:
Priority: normal Milestone:
Component: Perian-Main Version:
Severity: normal Keywords:
Cc:

Description

After installing Perian 1.1, I am now seeing intermittent drops in playback frame rate while watching H.264 content in QuickTime Player. This is very noticeable with 1080p movie trailers from apple.com. During scenes with a lot of motion, the playback rate will drop from 24fps down to 16 or 12 FPS for several seconds at a time. If I uninstall the Perian components from the preference panel, or go back to 1.0 this problem goes away completely. I do not see any noticeable spikes in CPU usage during the periods where the frame rate drops. Playing back the movie at half size does not make a difference.

My system is a 2.2Ghz Santa Rosa MacBook? Pro with 4GB RAM running 10.5.1. I saw this problem with both QuickTime 7.4 and 7.4.1. I've trashed my Perian preferences, removed all QuickTime components and rebooted with no effect. I've attached my system profile to this ticket.

Let me know if I can provide any additional details.

Thanks.

Attachments

System Profile.zip Download (174.7 KB) - added by Moolicious 7 years ago.

Change History

Changed 7 years ago by Moolicious

comment:1 Changed 7 years ago by astrange

Well, QT's frame dropping isn't really easy to control.

I noticed changing subCodecSupportsDrawInDecodeOrder affects this, though.

comment:2 in reply to: ↑ description Changed 7 years ago by tenton

I've also noticed frame rate drops in Perian 1.1 (with QT 7.4 and 7.4.1) in h264 video. The videos I've see this with are self created (with Handbrake); high motion scenes cause a drastic drop in frame rates. Powerbook G4 (1.5 Ghz, 1.5GB RAM), 10.5.1 and 10.5.2 (videos were 640x480 and 640x368). Plays fine when I remove Perian 1.1; didn't have an issue with Perian 1.0. I, however, do see a noticeable spike in CPU usage (it goes up to 100%, instead of hovering in the ~70% usage). I'm trying to find my old Perian 1.0 installer to retest that, though.

comment:3 Changed 7 years ago by fanboy

I am experiencing this problem as well with my Mac Mini 1.66GhZ Core Duo 2GB RAM. I get intermittent poor performance (i.e. frame dropping) when playing high bitrate H264 content, such as my collection of 720p movies. This is very unfortunate, as Perian 1.0 played them all perfectly, with no frame dropping. I have switched back to Perian 1.0 and confirmed this.

This seems strange considering that Perian 1.1 supposedly comes with "Major performance improvements". To the contrary, the performance appears to have degraded significantly.

comment:4 follow-up: ↓ 5 Changed 6 years ago by astrange

I did some testing just now and confirmed that QT's # of dropped frames is about the same as the # we can't decode without running out of time. That means that degradation from 1.1 comes from two parts, which I'm going to unfairly blame on Apple:

  • PIC (fixed)
  • frames can now be reported as droppable; QT always prioritizes accurate audio sync over "smoothness", so in that context the frame dropping seems fair.

There is no API that can control #2, although I added a debug hook to disable frame dropping entirely. So we can only get smoother decoding by speeding up the decoder. Patches welcome.

comment:5 in reply to: ↑ 4 Changed 6 years ago by fanboy

Replying to astrange:

I did some testing just now and confirmed that QT's # of dropped frames is about the same as the # we can't decode without running out of time. That means that degradation from 1.1 comes from two parts, which I'm going to unfairly blame on Apple:

  • PIC (fixed)
  • frames can now be reported as droppable; QT always prioritizes accurate audio sync over "smoothness", so in that context the frame dropping seems fair.

There is no API that can control #2, although I added a debug hook to disable frame dropping entirely. So we can only get smoother decoding by speeding up the decoder. Patches welcome.

I remember hearing about somebody working on gettng better multi-core support for the H.264 codec in order to speed it up. Have you heard about this work? Could it be integrated into Perian?

Note: See TracTickets for help on using tickets.