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

Unified Diff: webrtc/modules/video_coding/codecs/test/videoprocessor.h

Issue 2962293002: Remove ProcessParams struct. (Closed)
Patch Set: rebase Created 3 years, 5 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
Index: webrtc/modules/video_coding/codecs/test/videoprocessor.h
diff --git a/webrtc/modules/video_coding/codecs/test/videoprocessor.h b/webrtc/modules/video_coding/codecs/test/videoprocessor.h
index 973eca3499f8ad20779e7a30a801b58f08c488cf..d0b21de5858c46758a8f48199c39d86626b68c28 100644
--- a/webrtc/modules/video_coding/codecs/test/videoprocessor.h
+++ b/webrtc/modules/video_coding/codecs/test/videoprocessor.h
@@ -60,6 +60,9 @@ struct TestConfig {
// different configurations shall be managed.
int test_number = 0;
+ // Plain name of YUV file to process without file extension.
+ std::string filename;
+
// File to process. This must be a video file in the YUV format.
std::string input_filename;
@@ -78,9 +81,8 @@ struct TestConfig {
// from packet loss.
ExcludeFrameTypes exclude_frame_types = kExcludeOnlyFirstKeyFrame;
- // The length of a single frame of the input video file. This value is
- // calculated out of the width and height according to the video format
- // specification. Must be set before processing.
+ // The length of a single frame of the input video file. Calculated out of the
+ // width and height according to the video format specification (i.e. YUV).
size_t frame_length_in_bytes = 0;
// Force the encoder and decoder to use a single core for processing.
@@ -91,12 +93,11 @@ struct TestConfig {
// If set to false, the maximum number of available cores will be used.
bool use_single_core = false;
- // If set to a value >0 this setting forces the encoder to create a keyframe
- // every Nth frame. Note that the encoder may create a keyframe in other
- // locations in addition to the interval that is set using this parameter.
- // Forcing key frames may also affect encoder planning optimizations in
- // a negative way, since it will suddenly be forced to produce an expensive
- // key frame.
+ // If > 0: forces the encoder to create a keyframe every Nth frame.
+ // Note that the encoder may create a keyframe in other locations in addition
+ // to this setting. Forcing key frames may also affect encoder planning
+ // optimizations in a negative way, since it will suddenly be forced to
+ // produce an expensive key frame.
int keyframe_interval = 0;
// The codec settings to use for the test (target bitrate, video size,
@@ -106,6 +107,15 @@ struct TestConfig {
// If printing of information to stdout shall be performed during processing.
bool verbose = true;
+
+ // If HW or SW codec should be used.
+ bool hw_codec = false;
+
+ // In batch mode, the VideoProcessor is fed all the frames for processing
+ // before any metrics are calculated. This is useful for pipelining HW codecs,
+ // for which some calculated metrics otherwise would be incorrect. The
+ // downside with batch mode is that mid-test rate allocation is not supported.
+ bool batch_mode = false;
};
// Handles encoding/decoding of video using the VideoEncoder/VideoDecoder

Powered by Google App Engine
This is Rietveld 408576698