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

Issue 457733002: Support for H264 HW offload for webRTC. (Closed)

Created:
6 years, 4 months ago by hshi1
Modified:
6 years, 4 months ago
CC:
chromium-reviews, posciak+watch_chromium.org, jam, mcasas+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, wjia+watch_chromium.org, xhwang
Project:
chromium
Visibility:
Public.

Description

Support for H264 HW offload for webRTC. RTC video encoder and decoder now recognize H264 as a supported webrtc codec type. For H264 encoder we are required to parse NALU information to correctly populate the RTP fragmentation header. BUG=360262 TEST=trybot, manual testing see bug report R=dalecurtis@chromium.org, posciak@chromium.org, wuchengli@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=291466

Patch Set 1 #

Patch Set 2 : Replace quick-n-dirty parser with existing H264 parser. #

Total comments: 16

Patch Set 3 : address some comments by posciak. #

Total comments: 2

Patch Set 4 : More nits from posciak. Updated unittest. #

Total comments: 4

Patch Set 5 : Use DLOG. #

Total comments: 7

Patch Set 6 : Comments from wuchengli. #

Total comments: 13

Patch Set 7 : Comments by DaleCurtis #

Patch Set 8 : Rebased at 291440. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+116 lines, -42 lines) Patch
M content/renderer/media/rtc_video_decoder.h View 1 2 3 4 5 6 7 2 chunks +4 lines, -0 lines 0 comments Download
M content/renderer/media/rtc_video_decoder.cc View 1 2 3 4 5 6 7 4 chunks +11 lines, -5 lines 0 comments Download
M content/renderer/media/rtc_video_decoder_unittest.cc View 1 2 3 4 5 9 chunks +22 lines, -4 lines 0 comments Download
M content/renderer/media/rtc_video_encoder.cc View 1 2 3 4 5 6 4 chunks +63 lines, -9 lines 0 comments Download
M content/renderer/media/rtc_video_encoder_factory.cc View 1 2 3 4 5 6 7 3 chunks +16 lines, -24 lines 0 comments Download

Messages

Total messages: 22 (0 generated)
hshi1
Note that this CL has a dependency on kcwu's CL at https://codereview.chromium.org/426873004/ posciak and kcwu: ...
6 years, 4 months ago (2014-08-08 18:24:24 UTC) #1
Pawel Osciak
Please also update rtc_video_decoder_unittest.cc. Please describe testing done in the TEST= line, it's not clear ...
6 years, 4 months ago (2014-08-10 00:30:30 UTC) #2
hshi1
https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_encoder.cc File content/renderer/media/rtc_video_encoder.cc (right): https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_encoder.cc#newcode43 content/renderer/media/rtc_video_encoder.cc:43: if (result == media::H264Parser::kOk) { On 2014/08/10 00:30:30, Pawel ...
6 years, 4 months ago (2014-08-10 00:36:10 UTC) #3
Pawel Osciak
https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_encoder.cc File content/renderer/media/rtc_video_encoder.cc (right): https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_encoder.cc#newcode689 content/renderer/media/rtc_video_encoder.cc:689: case webrtc::kVideoCodecGeneric: On 2014/08/10 00:36:10, hshi1 wrote: > On ...
6 years, 4 months ago (2014-08-10 01:14:34 UTC) #4
hshi1
https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_encoder.cc File content/renderer/media/rtc_video_encoder.cc (right): https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_encoder.cc#newcode689 content/renderer/media/rtc_video_encoder.cc:689: case webrtc::kVideoCodecGeneric: On 2014/08/10 01:14:34, Pawel Osciak wrote: > ...
6 years, 4 months ago (2014-08-11 17:43:00 UTC) #5
hshi1
https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_decoder.cc File content/renderer/media/rtc_video_decoder.cc (right): https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_decoder.cc#newcode148 content/renderer/media/rtc_video_decoder.cc:148: DCHECK(codecSettings->codecType == webrtc::kVideoCodecVP8 || On 2014/08/10 00:30:29, Pawel Osciak ...
6 years, 4 months ago (2014-08-12 01:06:55 UTC) #6
Pawel Osciak
Ok, I see no better way to handle the generic case, agreed. Just as a ...
6 years, 4 months ago (2014-08-12 11:06:38 UTC) #7
hshi1
https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_encoder.cc File content/renderer/media/rtc_video_encoder.cc (right): https://codereview.chromium.org/457733002/diff/40001/content/renderer/media/rtc_video_encoder.cc#newcode49 content/renderer/media/rtc_video_encoder.cc:49: break; On 2014/08/12 11:06:38, Pawel Osciak wrote: > On ...
6 years, 4 months ago (2014-08-12 18:08:23 UTC) #8
Pawel Osciak
lgtm % nits Wu-Cheng: could you please also verify as well? https://codereview.chromium.org/457733002/diff/100001/content/renderer/media/rtc_video_encoder.cc File content/renderer/media/rtc_video_encoder.cc (right): ...
6 years, 4 months ago (2014-08-14 10:51:41 UTC) #9
wuchengli
On 2014/08/14 10:51:41, Pawel Osciak wrote: > lgtm % nits > > Wu-Cheng: could you ...
6 years, 4 months ago (2014-08-14 13:56:35 UTC) #10
hshi1
https://codereview.chromium.org/457733002/diff/100001/content/renderer/media/rtc_video_encoder.cc File content/renderer/media/rtc_video_encoder.cc (right): https://codereview.chromium.org/457733002/diff/100001/content/renderer/media/rtc_video_encoder.cc#newcode705 content/renderer/media/rtc_video_encoder.cc:705: LOG(ERROR) << "Failed to get RTP fragmentation header for ...
6 years, 4 months ago (2014-08-14 17:25:00 UTC) #11
hshi1
+dalecurtis and +xhwang (OWNER of content/renderer/media) - PTAL? It seems scherkus is OOO this week. ...
6 years, 4 months ago (2014-08-14 18:11:04 UTC) #12
Pawel Osciak
On 2014/08/14 13:56:35, wuchengli wrote: > On 2014/08/14 10:51:41, Pawel Osciak wrote: > > lgtm ...
6 years, 4 months ago (2014-08-15 01:39:59 UTC) #13
wuchengli
LGTM with some nits https://codereview.chromium.org/457733002/diff/120001/content/renderer/media/rtc_video_decoder.cc File content/renderer/media/rtc_video_decoder.cc (right): https://codereview.chromium.org/457733002/diff/120001/content/renderer/media/rtc_video_decoder.cc#newcode138 content/renderer/media/rtc_video_decoder.cc:138: // vda can be NULL ...
6 years, 4 months ago (2014-08-15 03:20:20 UTC) #14
hshi1
https://codereview.chromium.org/457733002/diff/120001/content/renderer/media/rtc_video_decoder.cc File content/renderer/media/rtc_video_decoder.cc (right): https://codereview.chromium.org/457733002/diff/120001/content/renderer/media/rtc_video_decoder.cc#newcode138 content/renderer/media/rtc_video_decoder.cc:138: // vda can be NULL if VP8 is not ...
6 years, 4 months ago (2014-08-15 03:49:04 UTC) #15
wuchengli
https://codereview.chromium.org/457733002/diff/120001/content/renderer/media/rtc_video_decoder_unittest.cc File content/renderer/media/rtc_video_decoder_unittest.cc (right): https://codereview.chromium.org/457733002/diff/120001/content/renderer/media/rtc_video_decoder_unittest.cc#newcode111 content/renderer/media/rtc_video_decoder_unittest.cc:111: CreateDecoder(webrtc::kVideoCodecVP8); On 2014/08/15 03:49:04, hshi1 wrote: > On 2014/08/15 ...
6 years, 4 months ago (2014-08-15 08:21:52 UTC) #16
DaleCurtis
+acolwell to verify the H264 parser usage. I'm not familiar with it. xhwang -> cc ...
6 years, 4 months ago (2014-08-15 16:48:50 UTC) #17
hshi1
https://codereview.chromium.org/457733002/diff/140001/content/renderer/media/rtc_video_decoder.cc File content/renderer/media/rtc_video_decoder.cc (right): https://codereview.chromium.org/457733002/diff/140001/content/renderer/media/rtc_video_decoder.cc#newcode150 content/renderer/media/rtc_video_decoder.cc:150: DCHECK(video_codec_type_ == codecSettings->codecType); On 2014/08/15 16:48:49, DaleCurtis wrote: > ...
6 years, 4 months ago (2014-08-15 20:14:56 UTC) #18
DaleCurtis
lgtm % verification of h264 parser usage. https://codereview.chromium.org/457733002/diff/140001/content/renderer/media/rtc_video_encoder.cc File content/renderer/media/rtc_video_encoder.cc (right): https://codereview.chromium.org/457733002/diff/140001/content/renderer/media/rtc_video_encoder.cc#newcode689 content/renderer/media/rtc_video_encoder.cc:689: webrtc::RTPFragmentationHeader header; ...
6 years, 4 months ago (2014-08-18 17:34:49 UTC) #19
hshi1
The CQ bit was checked by hshi@chromium.org
6 years, 4 months ago (2014-08-22 18:13:54 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/hshi@chromium.org/457733002/200001
6 years, 4 months ago (2014-08-22 18:14:25 UTC) #21
hshi1
6 years, 4 months ago (2014-08-22 19:13:37 UTC) #22
Message was sent while issue was closed.
Committed patchset #8 manually as 291466 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698