Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Issue 3086009: Fix av sync for webm files with altref video frames. Altref frames... (Closed)

Created:
10 years, 4 months ago by fgalligan1
Modified:
9 years, 7 months ago
CC:
chromium-reviews, awong
Visibility:
Public.

Description

Fix av sync for webm files with altref video frames. Altref frames need to be decoded but they do not produce a valid output frame. The pts_heap_ was not getting popped for altref frames. BUG=51014 TEST=Play content form sync test and make sure the content plays back in sync. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=55596

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+8 lines, -2 lines) Patch
M media/filters/ffmpeg_video_decode_engine.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M media/filters/ffmpeg_video_decode_engine_unittest.cc View 3 1 chunk +4 lines, -2 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
fgalligan1
10 years, 4 months ago (2010-08-03 13:49:46 UTC) #1
fbarchard
LGTM As you say it has to do with altref frames 1. I confirmed that ...
10 years, 4 months ago (2010-08-03 17:35:38 UTC) #2
scherkus (not reviewing)
Hold on -- this code path technically affects all formats are we sure there are ...
10 years, 4 months ago (2010-08-03 18:08:23 UTC) #3
fgalligan
I put the pop in wrong place. Let me fix that. On Tue, Aug 3, ...
10 years, 4 months ago (2010-08-03 19:03:38 UTC) #4
fgalligan1
Moved the pop tot the proper place. I ran through the media layout tests and ...
10 years, 4 months ago (2010-08-03 19:27:33 UTC) #5
scherkus (not reviewing)
ah this looks like it makes more sense.. however media_unittests are failing :) You should ...
10 years, 4 months ago (2010-08-03 19:37:08 UTC) #6
fgalligan
Sorry I had to go through and read the gtest and gmock documentation. I should ...
10 years, 4 months ago (2010-08-04 16:01:29 UTC) #7
fgalligan1
I changed the behavior so we do not pop the pts_heap anymore. This change should ...
10 years, 4 months ago (2010-08-04 23:26:30 UTC) #8
fgalligan1
Looks like there is some precedence for doing it this way already. http://mailman.videolan.org/pipermail/vlc-commits/2010-May/001451.html
10 years, 4 months ago (2010-08-09 20:17:53 UTC) #9
Alpha Left Google
LGTM given this doesn't break h264 and theora.
10 years, 4 months ago (2010-08-10 01:45:01 UTC) #10
scherkus (not reviewing)
ahh nice find! so does this make vp8/webm use reordered_opaque as expected and not the ...
10 years, 4 months ago (2010-08-17 01:45:17 UTC) #11
fgalligan1
10 years, 4 months ago (2010-08-17 13:14:49 UTC) #12
On 2010/08/17 01:45:17, scherkus wrote:
> ahh nice find!
> 
> so does this make vp8/webm use reordered_opaque as expected and not the pts
> heap?
> 
> I have a dream of hopefully one day removing the pts heap codepath completely
as
> its very error prone
> 
> also does this obselete issue 50457 or should we expect a fix inside
> FFmpeg/libvpx to properly use reordered_opaque?

Yes this should make it so vp8 will only use the pts_heap for a frame that has
an actual pts of 0, just like the other codecs. 

Over the weekend I thinking of a better solution for handling pts_heap and
altref, but if vp8 is the only codec that chrome supports that used to pass back
0 in rendered_opaque than a better solution would be to get rid of the pts_heap
and treat 0 pts as 0 and not av_no_pts.

Issue 50457 is still open. We should wait until we have proper support in libvpx
for direct rendering before we change the code in FFmpeg.

Powered by Google App Engine
This is Rietveld 408576698