DescriptionRun VideoProcessor on task queue in VideoProcessorIntegrationTest.
This CL runs the VideoProcessor on a task queue, so that we can support
Android HW codecs. The CL also does several other changes:
VideoProcessorIntegrationTest:
* Split up frame processing and rate control calculations.
* Remove batch mode. This is no longer necessary due to the change above.
* Simplify frame number "accounting". Now we will exactly process
|rate_profile.num_frames| number of frames -- no more, no less.
* Make rate control and quality thresholds optional. This is useful for the
test in plot_videoprocessor_integrationtest.cc.
* Make VerifyQuality and NumberOfTemporalLayer static, in preparation of
moving them to be helper functions in an anonymous namespace.
* Rename some methods.
* Shorten the visualization file names.
* Reorganize function calls in videoprocessor_integrationtest.cc.
VideoProcessor:
* Add sequenced task checker.
* Let ProcessFrame return void.
* Make |encode_callback_| and |decode_callback_| direct members, and let them
post callbacks on the task queue if needed.
* Remove unused |timestamp| from FrameInfo struct.
* Remove EncodedFrameSize and EncodedFrameType methods. Use the |stats_|
object to persist this information instead.
* Reorder printf output from PrintCodecSettings.
* Make some member functions const.
* Extend unit tests.
TESTED=By comparing the stdout output from videoprocessor_integrationtest.cc before and after this CL. Also tested plot_videoprocessor_integrationtest.cc on an Android device. Not tested on iOS, due to provisioning profile problems.
BUG=webrtc:6634
Patch Set 1 #Messages
Total messages: 16 (12 generated)
|