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

Issue 2337453002: H.264 packetization mode 0 (try 2) (Closed)

Created:
4 years, 3 months ago by hta-webrtc
Modified:
4 years, 1 month ago
CC:
webrtc-reviews_webrtc.org, interface-changes_webrtc.org, video-team_agora.io, danilchap, yujie_mao (webrtc), zhuangzesen_agora.io, zhengzhonghou_agora.io, stefan-webrtc, tterriberry_mozilla.com, qiang.lu, niklas.enbom, peah-webrtc, perkj_webrtc
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Implement H.264 packetization mode 0. This approach extends the H.264 specific information with a packetization mode enum. Status: Parameter is in code. No way to set it yet. Rebase of CL 2009213002 BUG=600254 Committed: https://crrev.com/3bba101f36483b8030a693dfbc93af736d1dba68 Cr-Commit-Position: refs/heads/master@{#15032}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Remove some more version markers #

Patch Set 4 : Another rebase #

Patch Set 5 : Fall back from error to warning when mode is not set #

Patch Set 6 : Added tests for H264 packetizer in mode 0 #

Patch Set 7 : Remove death tests on Android and where they don't exist #

Patch Set 8 : Upload for GN debugging #

Patch Set 9 : Working H.264 test where packetization mode 0 is set #

Total comments: 30

Patch Set 10 : Addressed hbos comments #

Total comments: 3

Patch Set 11 : Revised RTP packetization code #

Patch Set 12 : Added some small unit tests #

Patch Set 13 : Fix death tests #

Patch Set 14 : JNI bug modification #

Patch Set 15 : Rebase #

Patch Set 16 : Bot-detected compiler issues #

Total comments: 5

Patch Set 17 : Parameterized packet mode tests #

Patch Set 18 : Rebase #

Total comments: 2

Patch Set 19 : Fixes #

Patch Set 20 : OpenH264 fix #

Patch Set 21 : Moved tests to minimize diff #

Total comments: 10

Patch Set 22 : Addressed mflodman review comments #

Patch Set 23 : Use accessors for codecSpecific #

Patch Set 24 : One more accessor #

Patch Set 25 : Rebase #

Patch Set 26 : Fix OpenH264 1.6 compilation error #

Patch Set 27 : Upload try 2 (with rebase) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+315 lines, -45 lines) Patch
M webrtc/api/android/jni/androidmediaencoder_jni.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 23 24 1 chunk +3 lines, -0 lines 0 comments Download
M webrtc/common_types.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 23 24 1 chunk +9 lines, -0 lines 0 comments Download
M webrtc/modules/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 23 24 1 chunk +4 lines, -0 lines 0 comments Download
M webrtc/modules/include/module_common_types.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +10 lines, -5 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_format.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +5 lines, -1 line 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_format_h264.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +5 lines, -1 line 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +25 lines, -6 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 13 chunks +88 lines, -17 lines 0 comments Download
M webrtc/modules/video_coding/codec_database.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h View 1 2 3 4 5 6 7 8 9 10 23 24 2 chunks +3 lines, -1 line 0 comments Download
M webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 6 chunks +57 lines, -11 lines 0 comments Download
A webrtc/modules/video_coding/codecs/h264/h264_encoder_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +54 lines, -0 lines 0 comments Download
M webrtc/modules/video_coding/include/video_codec_interface.h View 1 chunk +3 lines, -1 line 0 comments Download
M webrtc/test/fake_encoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/video/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +4 lines, -0 lines 0 comments Download
M webrtc/video/end_to_end_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 23 24 3 chunks +29 lines, -2 lines 0 comments Download
M webrtc/video/payload_router.cc View 1 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/video/video_send_stream_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 3 chunks +12 lines, -0 lines 0 comments Download

Messages

Total messages: 139 (91 generated)
hta-webrtc
This might be a good time to review this effort. Once the mechanism is working, ...
4 years, 1 month ago (2016-10-28 14:25:43 UTC) #31
hbos
+sprang: See comment where your name is mentioned. https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h File webrtc/common_types.h (right): https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h#newcode546 webrtc/common_types.h:546: kH264PacketizationModeNotSet, ...
4 years, 1 month ago (2016-10-31 10:32:26 UTC) #33
magjed_webrtc
https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h File webrtc/common_types.h (right): https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h#newcode555 webrtc/common_types.h:555: H264PacketizationMode packetization_mode; Since the packetization mode information is included ...
4 years, 1 month ago (2016-10-31 13:00:50 UTC) #34
sprang_webrtc
https://codereview.webrtc.org/2337453002/diff/160001/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc File webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc (right): https://codereview.webrtc.org/2337453002/diff/160001/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc#newcode461 webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc:461: encoder_params.sSpatialLayers[0].sSliceArgument.uiSliceNum = 0; On 2016/10/31 10:32:26, hbos wrote: > ...
4 years, 1 month ago (2016-10-31 14:42:49 UTC) #35
hta-webrtc
PTAL hbos https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h File webrtc/common_types.h (right): https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h#newcode546 webrtc/common_types.h:546: kH264PacketizationModeNotSet, On 2016/10/31 10:32:26, hbos wrote: > ...
4 years, 1 month ago (2016-10-31 15:03:05 UTC) #36
hbos
Looks good. I'm curious about magjed's comment about packatization mode being included in cricket::VideoCodec, awaiting ...
4 years, 1 month ago (2016-10-31 16:27:15 UTC) #37
hta-webrtc
Asking for more guidance to understand magjed's suggestion. https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h File webrtc/common_types.h (right): https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h#newcode555 webrtc/common_types.h:555: H264PacketizationMode ...
4 years, 1 month ago (2016-10-31 20:54:52 UTC) #38
hta-webrtc
On 2016/10/31 20:54:52, hta-webrtc wrote: > Asking for more guidance to understand magjed's suggestion. > ...
4 years, 1 month ago (2016-10-31 21:01:16 UTC) #39
magjed_webrtc
https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h File webrtc/common_types.h (right): https://codereview.webrtc.org/2337453002/diff/160001/webrtc/common_types.h#newcode555 webrtc/common_types.h:555: H264PacketizationMode packetization_mode; On 2016/10/31 20:54:52, hta-webrtc wrote: > On ...
4 years, 1 month ago (2016-11-01 19:23:38 UTC) #40
hta-webrtc
On 2016/11/01 19:23:38, magjed_webrtc wrote: .... > diff --git a/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc > b/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc > -H264EncoderImpl::H264EncoderImpl() > ...
4 years, 1 month ago (2016-11-02 02:07:35 UTC) #41
magjed_webrtc
On 2016/11/02 02:07:35, hta-webrtc wrote: > On 2016/11/01 19:23:38, magjed_webrtc wrote: > > .... > ...
4 years, 1 month ago (2016-11-02 07:47:37 UTC) #42
hta-webrtc
PTAL Changes after offline discussion. I've tested with video_loopback + a non-submitted patch to the ...
4 years, 1 month ago (2016-11-04 10:05:46 UTC) #67
magjed_webrtc
lgtm https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc File webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc (right): https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc#newcode14 webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc:14: nit: revert this empty line https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc File webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc ...
4 years, 1 month ago (2016-11-04 13:57:06 UTC) #68
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2337453002/300001
4 years, 1 month ago (2016-11-04 14:26:04 UTC) #70
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/9829)
4 years, 1 month ago (2016-11-04 14:28:54 UTC) #72
hta-webrtc
Adding mflodman@ for OWNERS review.
4 years, 1 month ago (2016-11-04 14:39:14 UTC) #74
hbos
lgtm
4 years, 1 month ago (2016-11-07 09:24:45 UTC) #75
mflodman
Harald, What parts do you want me to look at? It's a big CL and ...
4 years, 1 month ago (2016-11-08 11:54:31 UTC) #84
mflodman
Harald, What parts do you want me to look at? It's a big CL and ...
4 years, 1 month ago (2016-11-08 11:54:36 UTC) #85
hta-webrtc
On 2016/11/08 11:54:36, mflodman wrote: > Harald, > What parts do you want me to ...
4 years, 1 month ago (2016-11-08 12:26:26 UTC) #86
sprang_webrtc
https://codereview.webrtc.org/2337453002/diff/340001/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc File webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc (right): https://codereview.webrtc.org/2337453002/diff/340001/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc#newcode474 webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc:474: encoder_params.sSpatialLayers[0].sSliceArgument.uiSliceNum = 0; Should probably set this to 1, ...
4 years, 1 month ago (2016-11-08 13:55:28 UTC) #87
magjed_webrtc
I'm still waiting for replies to some of my comments. BTW, it looks like you ...
4 years, 1 month ago (2016-11-09 08:48:32 UTC) #88
hta-webrtc
On 2016/11/09 08:48:32, magjed_webrtc wrote: > I'm still waiting for replies to some of my ...
4 years, 1 month ago (2016-11-09 09:23:06 UTC) #89
hta-webrtc
Addressed comments. https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc File webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc (right): https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc#newcode14 webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc:14: On 2016/11/04 13:57:05, magjed_webrtc wrote: > nit: ...
4 years, 1 month ago (2016-11-09 09:27:10 UTC) #90
magjed_webrtc
https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc File webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc (right): https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc#newcode173 webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc:173: for (auto packetization_mode : packetization_modes) { On 2016/11/09 09:27:10, ...
4 years, 1 month ago (2016-11-09 15:18:26 UTC) #95
hta-webrtc
On 2016/11/09 15:18:26, magjed_webrtc wrote: > https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc > File webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc (right): > > https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc#newcode173 > ...
4 years, 1 month ago (2016-11-09 15:41:23 UTC) #96
hta-webrtc
https://codereview.webrtc.org/2337453002/diff/340001/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc File webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc (right): https://codereview.webrtc.org/2337453002/diff/340001/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc#newcode474 webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc:474: encoder_params.sSpatialLayers[0].sSliceArgument.uiSliceNum = 0; On 2016/11/08 13:55:28, språng wrote: > ...
4 years, 1 month ago (2016-11-09 15:41:59 UTC) #97
magjed_webrtc
On 2016/11/09 15:41:23, hta-webrtc wrote: > On 2016/11/09 15:18:26, magjed_webrtc wrote: > > > https://codereview.webrtc.org/2337453002/diff/300001/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc ...
4 years, 1 month ago (2016-11-09 21:13:42 UTC) #98
hta-webrtc
On 2016/11/09 21:13:42, magjed_webrtc wrote: > On 2016/11/09 15:41:23, hta-webrtc wrote: > > On 2016/11/09 ...
4 years, 1 month ago (2016-11-10 10:00:10 UTC) #99
magjed_webrtc
lgtm
4 years, 1 month ago (2016-11-10 10:07:04 UTC) #100
mflodman
A few comments, LGTM with these addressed. https://codereview.webrtc.org/2337453002/diff/400001/webrtc/modules/include/module_common_types.h File webrtc/modules/include/module_common_types.h (right): https://codereview.webrtc.org/2337453002/diff/400001/webrtc/modules/include/module_common_types.h#newcode284 webrtc/modules/include/module_common_types.h:284: H264PacketizationMode packetization_mode; ...
4 years, 1 month ago (2016-11-10 12:52:39 UTC) #101
hta-webrtc
Last chance to take another look.... https://codereview.webrtc.org/2337453002/diff/400001/webrtc/modules/include/module_common_types.h File webrtc/modules/include/module_common_types.h (right): https://codereview.webrtc.org/2337453002/diff/400001/webrtc/modules/include/module_common_types.h#newcode284 webrtc/modules/include/module_common_types.h:284: H264PacketizationMode packetization_mode; On ...
4 years, 1 month ago (2016-11-10 14:27:31 UTC) #102
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2337453002/420001
4 years, 1 month ago (2016-11-10 14:36:56 UTC) #105
commit-bot: I haz the power
Try jobs failed on following builders: ios_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_dbg/builds/19971) linux_baremetal on master.tryserver.webrtc (JOB_FAILED, ...
4 years, 1 month ago (2016-11-10 14:47:02 UTC) #107
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2337453002/440001
4 years, 1 month ago (2016-11-10 21:28:45 UTC) #110
commit-bot: I haz the power
Try jobs failed on following builders: ios32_sim_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios32_sim_dbg/builds/12403) ios64_gyp_dbg on master.tryserver.webrtc (JOB_FAILED, ...
4 years, 1 month ago (2016-11-10 21:30:00 UTC) #112
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2337453002/460001
4 years, 1 month ago (2016-11-10 21:31:55 UTC) #115
commit-bot: I haz the power
Try jobs failed on following builders: android_more_configs on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_more_configs/builds/309) ios32_sim_dbg on master.tryserver.webrtc (JOB_FAILED, ...
4 years, 1 month ago (2016-11-10 21:33:17 UTC) #117
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2337453002/480001
4 years, 1 month ago (2016-11-10 21:47:15 UTC) #120
commit-bot: I haz the power
Try jobs failed on following builders: linux_libfuzzer_rel on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/linux_libfuzzer_rel/builds/7231)
4 years, 1 month ago (2016-11-10 21:54:26 UTC) #122
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2337453002/500001
4 years, 1 month ago (2016-11-10 22:17:04 UTC) #125
commit-bot: I haz the power
Try jobs failed on following builders: android_compile_x86_rel on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_rel/builds/3328)
4 years, 1 month ago (2016-11-10 22:20:33 UTC) #127
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2337453002/520001
4 years, 1 month ago (2016-11-10 22:26:45 UTC) #130
commit-bot: I haz the power
Try jobs failed on following builders: win_x64_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_x64_dbg/builds/3053)
4 years, 1 month ago (2016-11-10 22:38:20 UTC) #132
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2337453002/520001
4 years, 1 month ago (2016-11-11 05:30:33 UTC) #134
commit-bot: I haz the power
Committed patchset #27 (id:520001)
4 years, 1 month ago (2016-11-11 05:50:08 UTC) #136
commit-bot: I haz the power
Patchset 27 (id:??) landed as https://crrev.com/3bba101f36483b8030a693dfbc93af736d1dba68 Cr-Commit-Position: refs/heads/master@{#15032}
4 years, 1 month ago (2016-11-11 05:50:14 UTC) #138
magjed_webrtc
4 years, 1 month ago (2016-11-12 15:24:22 UTC) #139
Message was sent while issue was closed.
A revert of this CL (patchset #27 id:520001) has been created in
https://codereview.webrtc.org/2500743002/ by magjed@webrtc.org.

The reason for reverting is: Broke a lot of tests in chromium.webrtc
browser_tests. See e.g.
https://build.chromium.org/p/chromium.webrtc/builders/Mac%20Tester/builds/62228
and
https://build.chromium.org/p/chromium.webrtc/builders/Win8%20Tester/builds/30102.
[ RUN      ]
WebRtcVideoQualityBrowserTests/WebRtcVideoQualityBrowserTest.MANUAL_TestVideoQualityH264/1
...
#
# Fatal error in
e:\b\c\b\win_builder\src\third_party\webrtc\modules\rtp_rtcp\source\rtp_format_h264.cc,
line 170
# last system error: 0
# Check failed: packetization_mode_ == kH264PacketizationMode1 (0 vs. 2)
# .

Powered by Google App Engine
This is Rietveld 408576698