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

Unified Diff: webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.h

Issue 2007553003: Move H264BitstreamParser to video_coding. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/rtp_rtcp/rtp_rtcp.gypi ('k') | webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.h
diff --git a/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.h b/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.h
deleted file mode 100644
index 28276afb72fa207ea99fbd72c0089ecb0053a8d1..0000000000000000000000000000000000000000
--- a/webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_H264_BITSTREAM_PARSER_H_
-#define WEBRTC_MODULES_RTP_RTCP_SOURCE_H264_BITSTREAM_PARSER_H_
-
-#include <stddef.h>
-#include <stdint.h>
-
-namespace rtc {
-class BitBuffer;
-}
-
-namespace webrtc {
-
-// Stateful H264 bitstream parser (due to SPS/PPS). Used to parse out QP values
-// from the bitstream.
-// TODO(pbos): Unify with RTP SPS parsing and only use one H264 parser.
-// TODO(pbos): If/when this gets used on the receiver side CHECKs must be
-// removed and gracefully abort as we have no control over receive-side
-// bitstreams.
-class H264BitstreamParser {
- public:
- // Parse an additional chunk of H264 bitstream.
- void ParseBitstream(const uint8_t* bitstream, size_t length);
-
- // Get the last extracted QP value from the parsed bitstream.
- bool GetLastSliceQp(int* qp) const;
-
- private:
- // Captured in SPS and used when parsing slice NALUs.
- struct SpsState {
- SpsState();
-
- uint32_t delta_pic_order_always_zero_flag = 0;
- uint32_t separate_colour_plane_flag = 0;
- uint32_t frame_mbs_only_flag = 0;
- uint32_t log2_max_frame_num_minus4 = 0;
- uint32_t log2_max_pic_order_cnt_lsb_minus4 = 0;
- uint32_t pic_order_cnt_type = 0;
- };
-
- struct PpsState {
- PpsState();
-
- bool bottom_field_pic_order_in_frame_present_flag = false;
- bool weighted_pred_flag = false;
- uint32_t weighted_bipred_idc = false;
- uint32_t redundant_pic_cnt_present_flag = 0;
- int pic_init_qp_minus26 = 0;
- };
-
- void ParseSlice(const uint8_t* slice, size_t length);
- bool ParseSpsNalu(const uint8_t* sps_nalu, size_t length);
- bool ParsePpsNalu(const uint8_t* pps_nalu, size_t length);
- bool ParseNonParameterSetNalu(const uint8_t* source,
- size_t source_length,
- uint8_t nalu_type);
-
- // SPS/PPS state, updated when parsing new SPS/PPS, used to parse slices.
- bool sps_parsed_ = false;
- SpsState sps_;
- bool pps_parsed_ = false;
- PpsState pps_;
-
- // Last parsed slice QP.
- bool last_slice_qp_delta_parsed_ = false;
- int32_t last_slice_qp_delta_ = 0;
-};
-
-} // namespace webrtc
-
-#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_H264_BITSTREAM_PARSER_H_
« no previous file with comments | « webrtc/modules/rtp_rtcp/rtp_rtcp.gypi ('k') | webrtc/modules/rtp_rtcp/source/h264_bitstream_parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698