| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| 11 #ifndef MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_ | 11 #ifndef MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_ |
| 12 #define MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_ | 12 #define MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_ |
| 13 | 13 |
| 14 #include <map> | 14 #include <map> |
| 15 #include <memory> | 15 #include <memory> |
| 16 #include <string> | 16 #include <string> |
| 17 #include <vector> | 17 #include <vector> |
| 18 | 18 |
| 19 #include "api/video/video_frame.h" | 19 #include "api/video/video_frame.h" |
| 20 #include "common_video/libyuv/include/webrtc_libyuv.h" | 20 #include "common_video/libyuv/include/webrtc_libyuv.h" |
| 21 #include "modules/video_coding/codecs/h264/include/h264_globals.h" |
| 21 #include "modules/video_coding/codecs/test/packet_manipulator.h" | 22 #include "modules/video_coding/codecs/test/packet_manipulator.h" |
| 22 #include "modules/video_coding/codecs/test/stats.h" | 23 #include "modules/video_coding/codecs/test/stats.h" |
| 23 #include "modules/video_coding/include/video_codec_interface.h" | 24 #include "modules/video_coding/include/video_codec_interface.h" |
| 24 #include "modules/video_coding/utility/ivf_file_writer.h" | 25 #include "modules/video_coding/utility/ivf_file_writer.h" |
| 25 #include "modules/video_coding/utility/vp8_header_parser.h" | 26 #include "modules/video_coding/utility/vp8_header_parser.h" |
| 26 #include "modules/video_coding/utility/vp9_uncompressed_header_parser.h" | 27 #include "modules/video_coding/utility/vp9_uncompressed_header_parser.h" |
| 27 #include "rtc_base/buffer.h" | 28 #include "rtc_base/buffer.h" |
| 28 #include "rtc_base/checks.h" | 29 #include "rtc_base/checks.h" |
| 29 #include "rtc_base/constructormagic.h" | 30 #include "rtc_base/constructormagic.h" |
| 30 #include "rtc_base/sequenced_task_checker.h" | 31 #include "rtc_base/sequenced_task_checker.h" |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 bool verbose = true; | 95 bool verbose = true; |
| 95 | 96 |
| 96 // Should hardware accelerated codecs be used? | 97 // Should hardware accelerated codecs be used? |
| 97 bool hw_encoder = false; | 98 bool hw_encoder = false; |
| 98 bool hw_decoder = false; | 99 bool hw_decoder = false; |
| 99 | 100 |
| 100 // Should the hardware codecs be wrapped in software fallbacks? | 101 // Should the hardware codecs be wrapped in software fallbacks? |
| 101 bool sw_fallback_encoder = false; | 102 bool sw_fallback_encoder = false; |
| 102 // TODO(brandtr): Add support for SW decoder fallbacks, when | 103 // TODO(brandtr): Add support for SW decoder fallbacks, when |
| 103 // webrtc::VideoDecoder's can be wrapped in std::unique_ptr's. | 104 // webrtc::VideoDecoder's can be wrapped in std::unique_ptr's. |
| 105 |
| 106 // RTP H264 packetization mode. |
| 107 H264PacketizationMode packetization_mode = |
| 108 H264PacketizationMode::NonInterleaved; |
| 104 }; | 109 }; |
| 105 | 110 |
| 106 // Handles encoding/decoding of video using the VideoEncoder/VideoDecoder | 111 // Handles encoding/decoding of video using the VideoEncoder/VideoDecoder |
| 107 // interfaces. This is done in a sequential manner in order to be able to | 112 // interfaces. This is done in a sequential manner in order to be able to |
| 108 // measure times properly. | 113 // measure times properly. |
| 109 // The class processes a frame at the time for the configured input file. | 114 // The class processes a frame at the time for the configured input file. |
| 110 // It maintains state of where in the source input file the processing is at. | 115 // It maintains state of where in the source input file the processing is at. |
| 111 // | 116 // |
| 112 // Regarding packet loss: Note that keyframes are excluded (first or all | 117 // Regarding packet loss: Note that keyframes are excluded (first or all |
| 113 // depending on the ExcludeFrameTypes setting). This is because if key frames | 118 // depending on the ExcludeFrameTypes setting). This is because if key frames |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 | 309 |
| 305 rtc::SequencedTaskChecker sequence_checker_; | 310 rtc::SequencedTaskChecker sequence_checker_; |
| 306 | 311 |
| 307 RTC_DISALLOW_COPY_AND_ASSIGN(VideoProcessor); | 312 RTC_DISALLOW_COPY_AND_ASSIGN(VideoProcessor); |
| 308 }; | 313 }; |
| 309 | 314 |
| 310 } // namespace test | 315 } // namespace test |
| 311 } // namespace webrtc | 316 } // namespace webrtc |
| 312 | 317 |
| 313 #endif // MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_ | 318 #endif // MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_ |
| OLD | NEW |