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
Review-Url: https://codereview.webrtc.org/2370853005
Cr-Commit-Position: refs/heads/master@{#14684}
diff --git a/webrtc/api/android/jni/androidmediaencoder_jni.cc b/webrtc/api/android/jni/androidmediaencoder_jni.cc
index ef3d481..9ee99f0 100644
--- a/webrtc/api/android/jni/androidmediaencoder_jni.cc
+++ b/webrtc/api/android/jni/androidmediaencoder_jni.cc
@@ -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"
diff --git a/webrtc/common_video/BUILD.gn b/webrtc/common_video/BUILD.gn
index 5fbe1e8..9830c8b 100644
--- a/webrtc/common_video/BUILD.gn
+++ b/webrtc/common_video/BUILD.gn
@@ -18,6 +18,8 @@
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",
@@ -93,6 +95,7 @@
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",
diff --git a/webrtc/modules/video_coding/utility/h264_bitstream_parser.cc b/webrtc/common_video/h264/h264_bitstream_parser.cc
similarity index 98%
rename from webrtc/modules/video_coding/utility/h264_bitstream_parser.cc
rename to webrtc/common_video/h264/h264_bitstream_parser.cc
index 92b2935..b4f04f2 100644
--- a/webrtc/modules/video_coding/utility/h264_bitstream_parser.cc
+++ b/webrtc/common_video/h264/h264_bitstream_parser.cc
@@ -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/modules/video_coding/utility/h264_bitstream_parser.h"
+#include "webrtc/common_video/h264/h264_bitstream_parser.h"
#include <memory>
#include <vector>
diff --git a/webrtc/modules/video_coding/utility/h264_bitstream_parser.h b/webrtc/common_video/h264/h264_bitstream_parser.h
similarity index 89%
rename from webrtc/modules/video_coding/utility/h264_bitstream_parser.h
rename to webrtc/common_video/h264/h264_bitstream_parser.h
index 6a779e1..0b84e40 100644
--- a/webrtc/modules/video_coding/utility/h264_bitstream_parser.h
+++ b/webrtc/common_video/h264/h264_bitstream_parser.h
@@ -8,8 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#ifndef WEBRTC_MODULES_VIDEO_CODING_UTILITY_H264_BITSTREAM_PARSER_H_
-#define WEBRTC_MODULES_VIDEO_CODING_UTILITY_H264_BITSTREAM_PARSER_H_
+#ifndef WEBRTC_COMMON_VIDEO_H264_H264_BITSTREAM_PARSER_H_
+#define WEBRTC_COMMON_VIDEO_H264_H264_BITSTREAM_PARSER_H_
#include <stddef.h>
#include <stdint.h>
@@ -56,4 +56,4 @@
} // namespace webrtc
-#endif // WEBRTC_MODULES_VIDEO_CODING_UTILITY_H264_BITSTREAM_PARSER_H_
+#endif // WEBRTC_COMMON_VIDEO_H264_H264_BITSTREAM_PARSER_H_
diff --git a/webrtc/modules/video_coding/utility/h264_bitstream_parser_unittest.cc b/webrtc/common_video/h264/h264_bitstream_parser_unittest.cc
similarity index 97%
rename from webrtc/modules/video_coding/utility/h264_bitstream_parser_unittest.cc
rename to webrtc/common_video/h264/h264_bitstream_parser_unittest.cc
index 676cee6..c7ec21c 100644
--- a/webrtc/modules/video_coding/utility/h264_bitstream_parser_unittest.cc
+++ b/webrtc/common_video/h264/h264_bitstream_parser_unittest.cc
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "webrtc/modules/video_coding/utility/h264_bitstream_parser.h"
+#include "webrtc/common_video/h264/h264_bitstream_parser.h"
#include "webrtc/test/gtest.h"
diff --git a/webrtc/modules/BUILD.gn b/webrtc/modules/BUILD.gn
index d983360..cf6d8a8 100644
--- a/webrtc/modules/BUILD.gn
+++ b/webrtc/modules/BUILD.gn
@@ -490,7 +490,6 @@
"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",
diff --git a/webrtc/modules/video_coding/BUILD.gn b/webrtc/modules/video_coding/BUILD.gn
index 4836207..a21a79b 100644
--- a/webrtc/modules/video_coding/BUILD.gn
+++ b/webrtc/modules/video_coding/BUILD.gn
@@ -98,8 +98,6 @@
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",
diff --git a/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h b/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h
index c6014e6..3713896 100644
--- a/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h
+++ b/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h
@@ -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"
diff --git a/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.h b/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.h
index cb7ca34..2def9f1 100644
--- a/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.h
+++ b/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.h
@@ -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)
diff --git a/webrtc/modules/video_coding/utility/video_coding_utility.gyp b/webrtc/modules/video_coding/utility/video_coding_utility.gyp
index e4ed78f..b1158a2 100644
--- a/webrtc/modules/video_coding/utility/video_coding_utility.gyp
+++ b/webrtc/modules/video_coding/utility/video_coding_utility.gyp
@@ -21,8 +21,6 @@
'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',