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

Issue 1645543003: H264: Improve FFmpeg decoder performance by using I420BufferPool. (Closed)

Created:
4 years, 11 months ago by hbos
Modified:
4 years, 10 months ago
Reviewers:
stefan-webrtc
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhengzhonghou_agora.io, video-team_agora.io, stefan-webrtc, mflodman
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

H264: Improve FFmpeg decoder performance by using I420BufferPool. Had to update I420BufferPool to allow zero-initializing buffers. BUG=chromium:500605, chromium:468365, webrtc:5428 Committed: https://crrev.com/900f97534b8ce5de579f80f332cf674d78ac1679 Cr-Commit-Position: refs/heads/master@{#11505}

Patch Set 1 #

Patch Set 2 : Move size calculation to I420Buffer, DCHECK buffer continuity again #

Patch Set 3 : Added comments about why we zero-initialize #

Total comments: 16

Patch Set 4 : Addressed comments #

Total comments: 2

Patch Set 5 : Merge with master #

Patch Set 6 : InitializeData() #

Patch Set 7 : Make compile (data_.get()), GN deps same as GYP #

Patch Set 8 : common_video not unnecessarily depending on webrtc_h264, fixed circular dependency #

Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -41 lines) Patch
M webrtc/common_video/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/common_video/common_video.gyp View 1 2 3 4 5 6 7 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/common_video/i420_buffer_pool.cc View 1 2 3 4 5 2 chunks +7 lines, -2 lines 0 comments Download
M webrtc/common_video/include/i420_buffer_pool.h View 1 2 3 2 chunks +9 lines, -1 line 0 comments Download
M webrtc/common_video/include/video_frame_buffer.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/common_video/video_frame_buffer.cc View 1 2 3 4 5 6 3 chunks +14 lines, -1 line 0 comments Download
M webrtc/modules/video_coding/BUILD.gn View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/video_coding/codecs/h264/h264.gypi View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h View 1 2 3 2 chunks +10 lines, -0 lines 0 comments Download
M webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc View 1 2 3 4 4 chunks +31 lines, -35 lines 0 comments Download

Messages

Total messages: 29 (13 generated)
hbos
Please take a look, Stefan
4 years, 11 months ago (2016-01-27 16:36:30 UTC) #2
hbos
Bump :) https://codereview.webrtc.org/1645543003/diff/40001/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc File webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc (right): https://codereview.webrtc.org/1645543003/diff/40001/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc#newcode92 webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc:92: reinterpret_cast<H264DecoderImpl*>(context->opaque); To reinterpret_cast or static_cast, that is ...
4 years, 10 months ago (2016-01-29 10:16:57 UTC) #4
stefan-webrtc
https://codereview.webrtc.org/1645543003/diff/40001/webrtc/common_video/i420_buffer_pool.cc File webrtc/common_video/i420_buffer_pool.cc (right): https://codereview.webrtc.org/1645543003/diff/40001/webrtc/common_video/i420_buffer_pool.cc#newcode90 webrtc/common_video/i420_buffer_pool.cc:90: memset(buffer->MutableData(kYPlane), 0, buffer->DataSize()); Is it safe to assume continuous ...
4 years, 10 months ago (2016-02-01 14:02:09 UTC) #5
hbos
PTAL stefan https://codereview.webrtc.org/1645543003/diff/40001/webrtc/common_video/i420_buffer_pool.cc File webrtc/common_video/i420_buffer_pool.cc (right): https://codereview.webrtc.org/1645543003/diff/40001/webrtc/common_video/i420_buffer_pool.cc#newcode90 webrtc/common_video/i420_buffer_pool.cc:90: memset(buffer->MutableData(kYPlane), 0, buffer->DataSize()); On 2016/02/01 14:02:08, stefan-webrtc ...
4 years, 10 months ago (2016-02-02 16:13:03 UTC) #8
hbos
Reminder: PTAL stefan. In case you forgot, no stress.
4 years, 10 months ago (2016-02-05 10:04:36 UTC) #9
stefan-webrtc
Thanks for the reminder https://codereview.webrtc.org/1645543003/diff/100001/webrtc/common_video/include/video_frame_buffer.h File webrtc/common_video/include/video_frame_buffer.h (right): https://codereview.webrtc.org/1645543003/diff/100001/webrtc/common_video/include/video_frame_buffer.h#newcode77 webrtc/common_video/include/video_frame_buffer.h:77: int DataSize() const; I'm not ...
4 years, 10 months ago (2016-02-05 10:18:53 UTC) #10
hbos
Thanks. PTAL stefan https://codereview.webrtc.org/1645543003/diff/100001/webrtc/common_video/include/video_frame_buffer.h File webrtc/common_video/include/video_frame_buffer.h (right): https://codereview.webrtc.org/1645543003/diff/100001/webrtc/common_video/include/video_frame_buffer.h#newcode77 webrtc/common_video/include/video_frame_buffer.h:77: int DataSize() const; On 2016/02/05 10:18:53, ...
4 years, 10 months ago (2016-02-05 11:23:44 UTC) #11
stefan-webrtc
lgtm
4 years, 10 months ago (2016-02-05 12:45:33 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1645543003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1645543003/140001
4 years, 10 months ago (2016-02-05 12:48:44 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: ios64_sim_dbg on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios64_sim_dbg/builds/4960) ios_dbg on tryserver.webrtc (JOB_FAILED, ...
4 years, 10 months ago (2016-02-05 12:50:05 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1645543003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1645543003/160001
4 years, 10 months ago (2016-02-05 13:05:00 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: mac_gn_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/mac_gn_rel/builds/6864)
4 years, 10 months ago (2016-02-05 13:07:13 UTC) #21
hbos
Error due to circular dependency common_video -> webrtc_h264 -> common_video. I see no reason why ...
4 years, 10 months ago (2016-02-05 13:52:47 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1645543003/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1645543003/180001
4 years, 10 months ago (2016-02-05 13:55:56 UTC) #25
commit-bot: I haz the power
Committed patchset #8 (id:180001)
4 years, 10 months ago (2016-02-05 16:08:37 UTC) #27
commit-bot: I haz the power
4 years, 10 months ago (2016-02-05 16:08:45 UTC) #29
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/900f97534b8ce5de579f80f332cf674d78ac1679
Cr-Commit-Position: refs/heads/master@{#11505}

Powered by Google App Engine
This is Rietveld 408576698