Prior to this CL, the encoding/decoding in the VideoProcessor integration tests were run "online", in the sense that rate allocations could be changed in between frames. This is useful for evaluating the rate control of SW codecs, which is one of the reasons for the existence of these integration tests in the first place. This CL adds a batch mode, in which the tests are run "offline". The two main differences to the original mode are: 1) rate control metrics are calculated after the fact, and 2) no rate allocation changes are allowed during the test. Difference 1) is the reason for this CL, as HW codecs that are pipelining will not work well when rate control metrics are calculated right after a frame has been sent for encode. Difference 2) is a side effect of the introduction of the batch mode. If we want to be able to support online rate allocation for pipelining HW codecs in the future, this can be introduced by adding a delay between encoding and rate allocation. This was not deemed necessary at this point in time, and hence this CL does not do that. The batch mode is only intended to be used for manual experimentation on devices with HW codecs, and the integration tests running on the bots should thus NOT use batch mode. BUG=webrtc:6634 Review-Url: https://codereview.webrtc.org/2707023008 Cr-Commit-Position: refs/heads/master@{#17164}
Name: WebRTC URL: http://www.webrtc.org Version: 90 License: BSD License File: LICENSE Description: WebRTC provides real time voice and video processing functionality to enable the implementation of PeerConnection/MediaStream. Third party code used in this project is described in the file LICENSE_THIRD_PARTY.