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

Issue 1314473008: H264 bitstream parser. (Closed)

Created:
5 years, 3 months ago by pbos-webrtc
Modified:
5 years, 3 months ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, 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 bitstream parser. Parsing the encoded bitstream is required for doing downscaling decisions based on average encoded QP to improve perceived quality. BUG=webrtc:4968 R=noahric@chromium.org, stefan@webrtc.org TBR=pthatcher@webrtc.org Committed: https://crrev.com/8c266e6baff043a1fa5c9134f46042908a376d5b Cr-Commit-Position: refs/heads/master@{#10051}

Patch Set 1 #

Patch Set 2 : remove DCHECK_GT #

Total comments: 9

Patch Set 3 : fix signed golomb #

Patch Set 4 : pic_order_cnt_type_ == 0 check #

Patch Set 5 : cleanup #

Patch Set 6 : win64 build warnings #

Total comments: 18

Patch Set 7 : feedback #

Patch Set 8 : add missing vector include #

Patch Set 9 : fix index error #

Total comments: 16

Patch Set 10 : feedback #

Patch Set 11 : make pps/sps/qp parsing failable #

Patch Set 12 : add basic unittests #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+749 lines, -0 lines) Patch
M webrtc/base/bitbuffer.h View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M webrtc/base/bitbuffer.cc View 1 2 3 4 5 6 1 chunk +13 lines, -0 lines 0 comments Download
M webrtc/base/bitbuffer_unittest.cc View 1 2 3 4 5 6 1 chunk +19 lines, -0 lines 0 comments Download
M webrtc/modules/modules.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/rtp_rtcp/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/modules/rtp_rtcp/rtp_rtcp.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
A webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +80 lines, -0 lines 0 comments Download
A webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +566 lines, -0 lines 6 comments Download
A webrtc/modules/rtp_rtcp/source/h264_bitstream_parser_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +62 lines, -0 lines 0 comments Download

Messages

Total messages: 40 (7 generated)
pbos-webrtc
Noah can you help me read this? I've most parsing in place but it's currently ...
5 years, 3 months ago (2015-09-03 13:24:09 UTC) #1
pbos-webrtc
remove DCHECK_GT
5 years, 3 months ago (2015-09-03 13:30:14 UTC) #2
pbos-webrtc
On 2015/09/03 13:30:14, pbos-webrtc wrote: > remove DCHECK_GT I have a local test program that ...
5 years, 3 months ago (2015-09-03 13:33:41 UTC) #3
noahric
Stopped at what I think is the parser error you're hitting. Also another important one ...
5 years, 3 months ago (2015-09-03 17:48:58 UTC) #4
noahric
https://codereview.webrtc.org/1314473008/diff/10001/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc File webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc (right): https://codereview.webrtc.org/1314473008/diff/10001/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc#newcode327 webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc:327: if (bottom_field_pic_order_in_frame_present_flag_ && field_pic_flag == 0) { (This is ...
5 years, 3 months ago (2015-09-03 17:49:37 UTC) #5
pbos-webrtc
fix signed golomb
5 years, 3 months ago (2015-09-04 09:58:15 UTC) #6
pbos-webrtc
pic_order_cnt_type_ == 0 check
5 years, 3 months ago (2015-09-04 10:01:18 UTC) #7
pbos-webrtc
https://codereview.webrtc.org/1314473008/diff/10001/webrtc/base/bitbuffer.cc File webrtc/base/bitbuffer.cc (right): https://codereview.webrtc.org/1314473008/diff/10001/webrtc/base/bitbuffer.cc#newcode193 webrtc/base/bitbuffer.cc:193: if (!ReadExponentialGolomb(&unsigned_val)) On 2015/09/03 17:48:58, noahric wrote: > Brackets ...
5 years, 3 months ago (2015-09-04 10:01:21 UTC) #8
pbos-webrtc
OK, this should be ready for review. I think it's best reviewed by comparing http://www.itu.int/rec/T-REC-H.264 ...
5 years, 3 months ago (2015-09-08 13:19:41 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1314473008/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1314473008/40001
5 years, 3 months ago (2015-09-08 13:21:11 UTC) #12
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_x64_gn_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_x64_gn_rel/builds/3845) win_x64_rel on ...
5 years, 3 months ago (2015-09-08 13:23:10 UTC) #14
pbos-webrtc
win64 build warnings
5 years, 3 months ago (2015-09-08 13:29:43 UTC) #15
noahric
Did one pass. Still need to side-by-side it with the standard, I'll try to get ...
5 years, 3 months ago (2015-09-09 20:51:42 UTC) #16
pbos-webrtc
feedback
5 years, 3 months ago (2015-09-21 15:55:08 UTC) #17
pbos-webrtc
PTAL, be extra careful with the vector part. https://codereview.webrtc.org/1314473008/diff/60001/webrtc/base/bitbuffer.h File webrtc/base/bitbuffer.h (right): https://codereview.webrtc.org/1314473008/diff/60001/webrtc/base/bitbuffer.h#newcode63 webrtc/base/bitbuffer.h:63: bool ...
5 years, 3 months ago (2015-09-21 15:55:32 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1314473008/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1314473008/80001
5 years, 3 months ago (2015-09-21 15:55:58 UTC) #20
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_x64_gn_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/mac_x64_gn_rel/builds/4057) presubmit on ...
5 years, 3 months ago (2015-09-21 15:57:31 UTC) #22
pbos-webrtc
add missing vector include
5 years, 3 months ago (2015-09-21 16:13:32 UTC) #23
pbos-webrtc
fix index error
5 years, 3 months ago (2015-09-21 16:31:29 UTC) #24
pbos-webrtc
Ok, vector part had an index error. I've tested this locally with pending QP scaling ...
5 years, 3 months ago (2015-09-21 16:32:07 UTC) #25
noahric
LGTM with some minor style comments. Went through against the standard line-by-line and I didn't ...
5 years, 3 months ago (2015-09-22 20:47:19 UTC) #26
pbos-webrtc
feedback
5 years, 3 months ago (2015-09-23 12:21:39 UTC) #27
pbos-webrtc
make pps/sps/qp parsing failable
5 years, 3 months ago (2015-09-23 12:29:14 UTC) #28
pbos-webrtc
PTAL stefan@, take a special look at the diff after Noah reviewed. :) https://codereview.webrtc.org/1314473008/diff/120001/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc File ...
5 years, 3 months ago (2015-09-23 12:29:43 UTC) #29
pbos-webrtc
add basic unittests
5 years, 3 months ago (2015-09-23 16:05:57 UTC) #30
pbos-webrtc
PTAL, I added a simple unittest just to make sure some things stay working if ...
5 years, 3 months ago (2015-09-23 16:07:14 UTC) #31
stefan-webrtc
https://codereview.webrtc.org/1314473008/diff/180001/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc File webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc (right): https://codereview.webrtc.org/1314473008/diff/180001/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc#newcode467 webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc:467: // TODO(pbos): Do we need support for pred_weight_table()? I ...
5 years, 3 months ago (2015-09-23 21:14:39 UTC) #32
pbos-webrtc
https://codereview.webrtc.org/1314473008/diff/180001/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc File webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc (right): https://codereview.webrtc.org/1314473008/diff/180001/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc#newcode467 webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc:467: // TODO(pbos): Do we need support for pred_weight_table()? On ...
5 years, 3 months ago (2015-09-24 11:38:23 UTC) #33
stefan-webrtc
lgtm https://codereview.webrtc.org/1314473008/diff/180001/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc File webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc (right): https://codereview.webrtc.org/1314473008/diff/180001/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc#newcode467 webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc:467: // TODO(pbos): Do we need support for pred_weight_table()? ...
5 years, 3 months ago (2015-09-24 12:23:24 UTC) #34
pbos-webrtc
TBR=pthatcher@ for webrtc/base, I consider that part reviewed by Noah. :)
5 years, 3 months ago (2015-09-24 12:32:18 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1314473008/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1314473008/180001
5 years, 3 months ago (2015-09-24 12:32:30 UTC) #38
pbos-webrtc
Committed patchset #12 (id:180001) manually as 8c266e6baff043a1fa5c9134f46042908a376d5b (presubmit successful).
5 years, 3 months ago (2015-09-24 13:07:11 UTC) #39
commit-bot: I haz the power
5 years, 3 months ago (2015-09-24 13:07:16 UTC) #40
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/8c266e6baff043a1fa5c9134f46042908a376d5b
Cr-Commit-Position: refs/heads/master@{#10051}

Powered by Google App Engine
This is Rietveld 408576698