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

Issue 1459923003: Fix Bug: Video with Variable Frame Rate plays at incorrect speed. (Closed)

Created:
5 years, 1 month ago by qiangchen
Modified:
5 years ago
Reviewers:
DaleCurtis
CC:
chromium-reviews, feature-media-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix Bug: Video with Variable Frame Rate plays at incorrect speed. The root cause is that Cadence method essentially takes local average of frame durations, and then in Variable Frame Rate case, long frame would be renderered shorter than it should be, and short frame would be renderered longer than it should be. In this CL, we add a variable frame rate detection mechanism, and disable Cadence if variable frame rate gets detected. BUG=555917 Committed: https://crrev.com/501ce040bbd2a213d62b41750dee0749c1f1149c Cr-Commit-Position: refs/heads/master@{#362737}

Patch Set 1 : #

Total comments: 16

Patch Set 2 : Empty Cadence Stylex #

Patch Set 3 : Estimator Test #

Total comments: 2

Patch Set 4 : VideoRendererAlgorithm Test Case #

Total comments: 2

Patch Set 5 : MovingAverage Test Case #

Patch Set 6 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+183 lines, -30 lines) Patch
M media/base/moving_average.h View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M media/base/moving_average.cc View 1 2 3 4 3 chunks +16 lines, -2 lines 0 comments Download
M media/base/moving_average_unittest.cc View 1 2 3 4 2 chunks +13 lines, -1 line 0 comments Download
M media/filters/video_cadence_estimator.h View 2 chunks +3 lines, -0 lines 0 comments Download
M media/filters/video_cadence_estimator.cc View 1 2 3 chunks +28 lines, -1 line 0 comments Download
M media/filters/video_cadence_estimator_unittest.cc View 1 2 8 chunks +70 lines, -24 lines 0 comments Download
M media/filters/video_renderer_algorithm.cc View 2 chunks +3 lines, -1 line 0 comments Download
M media/filters/video_renderer_algorithm_unittest.cc View 1 2 3 2 chunks +46 lines, -1 line 0 comments Download

Messages

Total messages: 31 (11 generated)
qiangchen
My suggested solution to variable FPS issue. I've tested the youtube, the constant FPS video ...
5 years, 1 month ago (2015-11-20 18:54:01 UTC) #6
DaleCurtis
Awesome! What was the deviation for the video in the bug? How does deviation vary ...
5 years, 1 month ago (2015-11-20 19:08:42 UTC) #7
qiangchen
On 2015/11/20 19:08:42, DaleCurtis wrote: > Awesome! What was the deviation for the video in ...
5 years, 1 month ago (2015-11-20 19:12:28 UTC) #8
qiangchen
On 2015/11/20 19:12:28, qiangchenC wrote: > On 2015/11/20 19:08:42, DaleCurtis wrote: > > Awesome! What ...
5 years, 1 month ago (2015-11-20 19:14:02 UTC) #9
qiangchen
On 2015/11/20 19:14:02, qiangchenC wrote: > On 2015/11/20 19:12:28, qiangchenC wrote: > > On 2015/11/20 ...
5 years, 1 month ago (2015-11-20 19:15:01 UTC) #10
DaleCurtis
Sorry, I wasn't clear, I was asking what the deviation looked like on YouTube videos ...
5 years, 1 month ago (2015-11-20 19:19:45 UTC) #11
qiangchen
On 2015/11/20 19:19:45, DaleCurtis wrote: > Sorry, I wasn't clear, I was asking what the ...
5 years, 1 month ago (2015-11-20 20:47:39 UTC) #12
DaleCurtis
Can you add a test for this behavior? https://codereview.chromium.org/1459923003/diff/60001/media/base/moving_average.cc File media/base/moving_average.cc (right): https://codereview.chromium.org/1459923003/diff/60001/media/base/moving_average.cc#newcode22 media/base/moving_average.cc:22: square_sum_ms_ ...
5 years, 1 month ago (2015-11-20 23:50:46 UTC) #13
qiangchen
Fixed one minor issue. Replied about the square unit issue. I'm still trying to figure ...
5 years ago (2015-11-25 18:06:33 UTC) #14
DaleCurtis
https://codereview.chromium.org/1459923003/diff/60001/media/base/moving_average.cc File media/base/moving_average.cc (right): https://codereview.chromium.org/1459923003/diff/60001/media/base/moving_average.cc#newcode22 media/base/moving_average.cc:22: square_sum_ms_ += sample.InMillisecondsF() * sample.InMillisecondsF() - On 2015/11/25 18:06:33, ...
5 years ago (2015-11-25 21:29:24 UTC) #15
qiangchen
Write a Estimator Unittest. Still working on how to write a VideoRendererAlgorithm Unittest. https://codereview.chromium.org/1459923003/diff/60001/media/base/moving_average.cc File ...
5 years ago (2015-12-01 19:37:53 UTC) #17
DaleCurtis
Not sure a VRA test is needed, but can you add a MovingAverage test? lgtm ...
5 years ago (2015-12-01 20:11:28 UTC) #18
qiangchen
Added VRA test case. https://codereview.chromium.org/1459923003/diff/120001/media/base/moving_average.cc File media/base/moving_average.cc (right): https://codereview.chromium.org/1459923003/diff/120001/media/base/moving_average.cc#newcode42 media/base/moving_average.cc:42: square_sum_us_ / size - average_us ...
5 years ago (2015-12-01 22:37:07 UTC) #20
DaleCurtis
https://codereview.chromium.org/1459923003/diff/150001/media/base/moving_average.cc File media/base/moving_average.cc (right): https://codereview.chromium.org/1459923003/diff/150001/media/base/moving_average.cc#newcode42 media/base/moving_average.cc:42: (square_sum_us_ - total_us / size * total_us) / size; ...
5 years ago (2015-12-01 22:42:19 UTC) #21
qiangchen
https://codereview.chromium.org/1459923003/diff/150001/media/base/moving_average.cc File media/base/moving_average.cc (right): https://codereview.chromium.org/1459923003/diff/150001/media/base/moving_average.cc#newcode42 media/base/moving_average.cc:42: (square_sum_us_ - total_us / size * total_us) / size; ...
5 years ago (2015-12-01 23:35:33 UTC) #22
DaleCurtis
lgtm
5 years ago (2015-12-01 23:40:13 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1459923003/190001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1459923003/190001
5 years ago (2015-12-02 17:10:09 UTC) #26
commit-bot: I haz the power
Committed patchset #6 (id:190001)
5 years ago (2015-12-02 17:16:12 UTC) #28
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/501ce040bbd2a213d62b41750dee0749c1f1149c Cr-Commit-Position: refs/heads/master@{#362737}
5 years ago (2015-12-02 17:17:25 UTC) #30
DaleCurtis
5 years ago (2015-12-02 17:20:49 UTC) #31
Message was sent while issue was closed.
Thanks Qiang!

Powered by Google App Engine
This is Rietveld 408576698