Revert of Move bitstream parser to more appropriate directory. (patchset #4 id:60001 of https://codereview.webrtc.org/2370853005/ )

Reason for revert:
Breaks internal project

Original issue's description:
> Move current bitstream parser to more appropriate directory.
>
> This CL groups together the code that has to do with parsing H264 bitstreams.
> This code logically belongs together, and having it in the same directory not
> only simplifies things from a project structure perspective, but also makes it
> easier to refactor out common parts incrementally.
> An added benefit is that this simplifies modular compilation, where for example
> one would like a build of WebRTC without the H264 codec-specific parts.
>
> BUG=webrtc:6338
>
> Committed: https://crrev.com/cc6817e9ce4a5ffc73efb660cf0368afbc7d9a4f
> Cr-Commit-Position: refs/heads/master@{#14684}

TBR=magjed@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6338

Review-Url: https://codereview.webrtc.org/2430353004
Cr-Commit-Position: refs/heads/master@{#14685}
This commit is contained in:
kthelgason 2016-10-19 10:34:34 -07:00 committed by Commit bot
parent cc6817e9ce
commit f04f14e772
10 changed files with 16 additions and 42 deletions

View File

@ -29,8 +29,8 @@
#include "webrtc/base/thread_checker.h"
#include "webrtc/base/timeutils.h"
#include "webrtc/common_types.h"
#include "webrtc/common_video/h264/h264_bitstream_parser.h"
#include "webrtc/modules/video_coding/include/video_codec_interface.h"
#include "webrtc/modules/video_coding/utility/h264_bitstream_parser.h"
#include "webrtc/modules/video_coding/utility/quality_scaler.h"
#include "webrtc/modules/video_coding/utility/vp8_header_parser.h"
#include "webrtc/system_wrappers/include/field_trial.h"

View File

@ -18,8 +18,6 @@ config("common_video_config") {
rtc_static_library("common_video") {
sources = [
"bitrate_adjuster.cc",
"h264/h264_bitstream_parser.cc",
"h264/h264_bitstream_parser.h",
"h264/h264_common.cc",
"h264/h264_common.h",
"h264/pps_parser.cc",
@ -95,7 +93,6 @@ if (rtc_include_tests) {
sources = [
"bitrate_adjuster_unittest.cc",
"h264/h264_bitstream_parser_unittest.cc",
"h264/pps_parser_unittest.cc",
"h264/sps_parser_unittest.cc",
"h264/sps_vui_rewriter_unittest.cc",

View File

@ -490,6 +490,7 @@ if (rtc_include_tests) {
"video_coding/test/stream_generator.h",
"video_coding/timing_unittest.cc",
"video_coding/utility/frame_dropper_unittest.cc",
"video_coding/utility/h264_bitstream_parser_unittest.cc",
"video_coding/utility/ivf_file_writer_unittest.cc",
"video_coding/utility/moving_average_unittest.cc",
"video_coding/utility/quality_scaler_unittest.cc",

View File

@ -98,6 +98,8 @@ rtc_static_library("video_coding_utility") {
sources = [
"utility/frame_dropper.cc",
"utility/frame_dropper.h",
"utility/h264_bitstream_parser.cc",
"utility/h264_bitstream_parser.h",
"utility/ivf_file_writer.cc",
"utility/ivf_file_writer.h",
"utility/moving_average.cc",

View File

@ -15,8 +15,8 @@
#include <memory>
#include <vector>
#include "webrtc/common_video/h264/h264_bitstream_parser.h"
#include "webrtc/modules/video_coding/codecs/h264/include/h264.h"
#include "webrtc/modules/video_coding/utility/h264_bitstream_parser.h"
#include "webrtc/modules/video_coding/utility/quality_scaler.h"
#include "third_party/openh264/src/codec/api/svc/codec_app_def.h"

View File

@ -13,10 +13,10 @@
#define WEBRTC_MODULES_VIDEO_CODING_CODECS_H264_H264_VIDEO_TOOLBOX_ENCODER_H_
#include "webrtc/base/criticalsection.h"
#include "webrtc/common_video/h264/h264_bitstream_parser.h"
#include "webrtc/common_video/include/bitrate_adjuster.h"
#include "webrtc/common_video/rotation.h"
#include "webrtc/modules/video_coding/codecs/h264/include/h264.h"
#include "webrtc/modules/video_coding/utility/h264_bitstream_parser.h"
#include "webrtc/modules/video_coding/utility/quality_scaler.h"
#if defined(WEBRTC_VIDEO_TOOLBOX_SUPPORTED)

View File

@ -7,7 +7,7 @@
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "webrtc/common_video/h264/h264_bitstream_parser.h"
#include "webrtc/modules/video_coding/utility/h264_bitstream_parser.h"
#include <memory>
#include <vector>
@ -240,11 +240,9 @@ bool H264BitstreamParser::ParseNonParameterSetNalu(const uint8_t* source,
}
}
}
if (pps_->entropy_coding_mode_flag &&
slice_type != H264::SliceType::kI && slice_type != H264::SliceType::kSi) {
// cabac_init_idc: ue(v)
RETURN_FALSE_ON_FAIL(slice_reader.ReadExponentialGolomb(&golomb_tmp));
}
// cabac not supported: entropy_coding_mode_flag == 0 asserted above.
// if (entropy_coding_mode_flag && slice_type != I && slice_type != SI)
// cabac_init_idc
int32_t last_slice_qp_delta;
RETURN_FALSE_ON_FAIL(
slice_reader.ReadSignedExponentialGolomb(&last_slice_qp_delta));

View File

@ -8,8 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef WEBRTC_COMMON_VIDEO_H264_H264_BITSTREAM_PARSER_H_
#define WEBRTC_COMMON_VIDEO_H264_H264_BITSTREAM_PARSER_H_
#ifndef WEBRTC_MODULES_VIDEO_CODING_UTILITY_H264_BITSTREAM_PARSER_H_
#define WEBRTC_MODULES_VIDEO_CODING_UTILITY_H264_BITSTREAM_PARSER_H_
#include <stddef.h>
#include <stdint.h>
@ -56,4 +56,4 @@ class H264BitstreamParser {
} // namespace webrtc
#endif // WEBRTC_COMMON_VIDEO_H264_H264_BITSTREAM_PARSER_H_
#endif // WEBRTC_MODULES_VIDEO_CODING_UTILITY_H264_BITSTREAM_PARSER_H_

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "webrtc/common_video/h264/h264_bitstream_parser.h"
#include "webrtc/modules/video_coding/utility/h264_bitstream_parser.h"
#include "webrtc/test/gtest.h"
@ -32,18 +32,6 @@ uint8_t kH264BitstreamNextImageSliceChunk[] = {
0x00, 0x00, 0x00, 0x01, 0x41, 0xe2, 0x01, 0x16, 0x0e, 0x3e, 0x2b, 0x86,
};
uint8_t kH264BitstreamChunkCabac[] = {
0x00, 0x00, 0x00, 0x01, 0x27, 0x64, 0x00, 0x0d, 0xac, 0x52, 0x30, 0x50,
0x7e, 0xc0, 0x5a, 0x81, 0x01, 0x01, 0x18, 0x56, 0xbd, 0xef, 0x80, 0x80,
0x00, 0x00, 0x00, 0x01, 0x28, 0xfe, 0x09, 0x8b,
};
// Contains enough of the image slice to contain slice QP.
uint8_t kH264BitstreamNextImageSliceChunkCabac[] = {
0x00, 0x00, 0x00, 0x01, 0x21, 0xe1, 0x05, 0x11, 0x3f, 0x9a, 0xae, 0x46,
0x70, 0xbf, 0xc1, 0x4a, 0x16, 0x8f, 0x51, 0xf4, 0xca, 0xfb, 0xa3, 0x65,
};
TEST(H264BitstreamParserTest, ReportsNoQpWithoutParsedSlices) {
H264BitstreamParser h264_parser;
int qp;
@ -71,18 +59,4 @@ TEST(H264BitstreamParserTest, ReportsLastSliceQpForImageSlices) {
EXPECT_EQ(37, qp);
}
TEST(H264BitstreamParserTest, ReportsLastSliceQpForCABACImageSlices) {
H264BitstreamParser h264_parser;
h264_parser.ParseBitstream(kH264BitstreamChunkCabac,
sizeof(kH264BitstreamChunkCabac));
int qp;
EXPECT_FALSE(h264_parser.GetLastSliceQp(&qp));
// Parse an additional image slice.
h264_parser.ParseBitstream(kH264BitstreamNextImageSliceChunkCabac,
sizeof(kH264BitstreamNextImageSliceChunkCabac));
ASSERT_TRUE(h264_parser.GetLastSliceQp(&qp));
EXPECT_EQ(24, qp);
}
} // namespace webrtc

View File

@ -21,6 +21,8 @@
'sources': [
'frame_dropper.cc',
'frame_dropper.h',
'h264_bitstream_parser.cc',
'h264_bitstream_parser.h',
'ivf_file_writer.cc',
'ivf_file_writer.h',
'moving_average.cc',