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

Issue 1726015: Use FFmpeg's reordered_opaque for presentation timestamp reordering. (Closed)

Created:
10 years, 8 months ago by scherkus (not reviewing)
Modified:
9 years, 7 months ago
Reviewers:
fbarchard, awong, jiesun
CC:
chromium-reviews, Paweł Hajdan Jr., scherkus (not reviewing), awong, Alpha Left Google
Visibility:
Public.

Description

Use FFmpeg's reordered_opaque for presentation timestamp reordering. This fixes numerous audio/video synchronization issues caused by PtsHeap getting out of sync due to the decoder silently dropping/reordering frames. Most decoder libraries (including FFmpeg and OpenMAX) feature some form of presentation timestamp reordering. This is the first step in moving away from using PtsHeap and instead requireing VideoDecodeEngines + their libraries to handle presentation timestamp reordering. This change also removes VideoFrame::GetRepeatCount() as it is an FFmpeg-specific detail. The duration is now properly calculated inside FFmpegVideoDecodeEngine. BUG=26036 TEST=videos linked in bugs remain in sync, as do all other videos

Patch Set 1 #

Patch Set 2 : Rebase #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+88 lines, -43 lines) Patch
M media/base/video_frame.h View 2 chunks +0 lines, -11 lines 0 comments Download
M media/base/video_frame.cc View 1 chunk +0 lines, -1 line 0 comments Download
M media/filters/ffmpeg_video_decode_engine.cc View 1 3 chunks +18 lines, -5 lines 2 comments Download
M media/filters/ffmpeg_video_decode_engine_unittest.cc View 4 chunks +16 lines, -0 lines 0 comments Download
M media/filters/video_decoder_impl.cc View 1 chunk +22 lines, -13 lines 0 comments Download
M media/filters/video_decoder_impl_unittest.cc View 4 chunks +32 lines, -13 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
scherkus (not reviewing)
10 years, 8 months ago (2010-04-28 05:48:32 UTC) #1
jiesun
LGTM with comments for future improvement http://codereview.chromium.org/1726015/diff/2001/3003 File media/filters/ffmpeg_video_decode_engine.cc (right): http://codereview.chromium.org/1726015/diff/2001/3003#newcode151 media/filters/ffmpeg_video_decode_engine.cc:151: // duration = ...
10 years, 8 months ago (2010-04-28 16:42:35 UTC) #2
scherkus (not reviewing)
thanks for the review1 http://codereview.chromium.org/1726015/diff/2001/3003 File media/filters/ffmpeg_video_decode_engine.cc (right): http://codereview.chromium.org/1726015/diff/2001/3003#newcode151 media/filters/ffmpeg_video_decode_engine.cc:151: // duration = (1 / ...
10 years, 8 months ago (2010-04-28 17:00:23 UTC) #3
fbarchard
10 years, 8 months ago (2010-04-28 17:07:24 UTC) #4
if interlaced content comes up, it will be 1080i cameras for media player.  I
have example content, if you want it.

The description of your change sounds like a step in the right direction.

Powered by Google App Engine
This is Rietveld 408576698