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

Issue 2999113002: Run VideoProcessor on task queue in VideoProcessorIntegrationTest. (Closed)

Created:
3 years, 4 months ago by brandtr
Modified:
3 years, 4 months ago
Reviewers:
åsapersson
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhengzhonghou_agora.io, video-team_agora.io, stefan-webrtc, mflodman, srte
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Run 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+724 lines, -565 lines) Patch
M webrtc/modules/video_coding/BUILD.gn View 2 chunks +4 lines, -0 lines 0 comments Download
M webrtc/modules/video_coding/codecs/test/plot_videoprocessor_integrationtest.cc View 4 chunks +9 lines, -32 lines 0 comments Download
M webrtc/modules/video_coding/codecs/test/videoprocessor.h View 5 chunks +101 lines, -71 lines 0 comments Download
M webrtc/modules/video_coding/codecs/test/videoprocessor.cc View 12 chunks +80 lines, -60 lines 0 comments Download
M webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h View 23 chunks +266 lines, -200 lines 0 comments Download
M webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc View 12 chunks +164 lines, -185 lines 0 comments Download
M webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc View 5 chunks +96 lines, -14 lines 0 comments Download
M webrtc/modules/video_coding/codecs/tools/video_quality_measurement.cc View 2 chunks +4 lines, -3 lines 0 comments Download

Messages

Total messages: 16 (12 generated)
brandtr
3 years, 4 months ago (2017-08-17 12:07:06 UTC) #13
kthelgason
On 2017/08/17 12:07:06, brandtr wrote: This implementation deadlocks on iOS when using H264, I think ...
3 years, 4 months ago (2017-08-18 09:36:41 UTC) #14
brandtr
On 2017/08/18 09:36:41, kthelgason wrote: > On 2017/08/17 12:07:06, brandtr wrote: > > This implementation ...
3 years, 4 months ago (2017-08-18 10:17:22 UTC) #15
brandtr
3 years, 4 months ago (2017-08-21 08:18:36 UTC) #16
As requested, split this CL up in smaller pieces to make it easier to review:

https://codereview.webrtc.org/2998063002/
https://codereview.webrtc.org/3001193002/
https://codereview.webrtc.org/2996253002/

One more is coming.

Powered by Google App Engine
This is Rietveld 408576698