Index: third_party/openh264/testing/h264_codec_tester.h |
diff --git a/third_party/openh264/testing/h264_codec_tester.h b/third_party/openh264/testing/h264_codec_tester.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a02457f4867a934655f12ee554e1ae2f53c16f47 |
--- /dev/null |
+++ b/third_party/openh264/testing/h264_codec_tester.h |
@@ -0,0 +1,41 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef OPENH264_TESTING_H264_CODEC_TESTER_H_ |
+#define OPENH264_TESTING_H264_CODEC_TESTER_H_ |
+ |
+#include "openh264/src/codec/api/svc/codec_api.h" |
+#include "openh264/src/codec/api/svc/codec_app_def.h" |
+#include "openh264/src/codec/api/svc/codec_def.h" |
+#include "openh264/testing/h264_encoder_impl.h" |
+#include "openh264/testing/h264_decoder_impl.h" |
+ |
+namespace openh264 { |
+ |
+class H264CodecTester : public EncodedImageCallback, |
+ public DecodedImageCallback { |
+ public: |
+ H264CodecTester(); |
+ ~H264CodecTester(); |
+ |
+ bool Init(unsigned short width, unsigned short height); |
+ |
+ bool Encode(const VideoFrame& frame); |
+ VideoFrame* Decode(); |
+ |
+ private: |
+ int32_t Encoded(const EncodedImage& encoded_image, |
+ const CodecSpecificInfo* codec_specific_info, |
+ const RTPFragmentationHeader* fragmentation) override; |
+ int32_t Decoded(VideoFrame& decoded_image) override; |
+ |
+ H264EncoderImpl encoder_; |
+ H264DecoderImpl decoder_; |
+ const EncodedImage* last_encoded_image_; |
+ VideoFrame* last_decoded_image_; |
+}; |
+ |
+} // namespace openh264 |
+ |
+#endif // OPENH264_TESTING_H264_CODEC_TESTER_H_ |