* Add VideoProcessorIntegrationTestMediaCodec tests, including
a standard foreman test and a forced SW fallback test.
* Morph PlotVideoProcessorIntegrationTest into
VideoProcessorIntegrationTestParameterized. This test is intended
to be patched locally, depending on what metric is of interest.
It is run on the bots to ensure that it doesn't break.
* Remove the plot_videoprocessor_integrationtest binary. The test
above is instead moved to the modules_tests binary.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/3011043002
Cr-Commit-Position: refs/heads/master@{#19727}
* Reorder and rename members of FrameStatistic.
* Rename corresponding temp variables used in the summary calculations.
* Make Stats class less structy.
* Try to enforce consistent frame numbers at all times.
* Remove VideoProcessor::FrameInfo struct and use the Stats class
for keeping track of encode/decode start times, etc.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/3011923002
Cr-Commit-Position: refs/heads/master@{#19703}
Changes made:
* VideoProcessorIntegrationTest definition goes in .h file.
* Member function definitions go into .cc file.
* Tests move to _libvpx.cc and _openh264.cc files.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/3008913002
Cr-Commit-Position: refs/heads/master@{#19637}
* First do all frame processing, then do all rate control
statistics calculations. This means that we only need to
synchronize once.
* Run the VideoProcessor on a task queue, thus supporting Android
HW codecs.
* Add some unit tests for the VideoProcessor.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2997283002
Cr-Commit-Position: refs/heads/master@{#19604}
This CL replaces:
namespace webrtc_jni {
with:
namespace webrtc {
namespace jni {
The main benefit is that we don't have to use the webrtc:: qualifier
inside the jni namespace so we can reduce some clutter.
BUG=None
Review-Url: https://codereview.webrtc.org/3009613002
Cr-Commit-Position: refs/heads/master@{#19569}
Now we always process |rate_profile.num_frames| number of frames.
This means that the output of the tests in
videoprocessor_integrationtest.cc will be slightly different,
as we will no process 300 frames, instead of 299. No rate control
or quality thresholds need to be updated, however.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/3004583002
Cr-Commit-Position: refs/heads/master@{#19515}
We can't handle no value here anyway and end up setting a default
at each call site. The defaults aren't even the same in each place.
BUG=None
Review-Url: https://codereview.webrtc.org/2998293002
Cr-Commit-Position: refs/heads/master@{#19485}
This test is and should be independent of RTP, so we don't need the
information provided in this struct.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2995403002
Cr-Commit-Position: refs/heads/master@{#19443}
* Guard members with a SequencedTaskChecker.
* Intercept encoder/decoder callbacks, and post onto task queue if needed.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2996253002
Cr-Commit-Position: refs/heads/master@{#19428}
* Rename some members.
* Shorten visualization file names.
* Make some member functions static, in preparation for moving them
to be helper functions in an anonymous namespace.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/3001193002
Cr-Commit-Position: refs/heads/master@{#19424}
* Make ProcessFrame return void.
* Make |encode_callback_| and |decode_callback_| direct members.
* Remove ::EncodedFrameSize() and ::EncodedFrameType()
* Remove unused |timestamp| member from FrameInfo.
* Reorder printf output from PrintCodecSettings.
* Make some member functions const.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2998063002
Cr-Commit-Position: refs/heads/master@{#19421}
Also remove |key_frame_interval| from argument list, since it is always
set to -1.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2999643002
Cr-Commit-Position: refs/heads/master@{#19331}
* Don't loop over fps, but do loop over codec implementation type.
* Order codec settings as they are defined in the test.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/3000613002
Cr-Commit-Position: refs/heads/master@{#19330}
This CL brings us one step closer to removing CodecDatabase and
GenericEncoder, by removing the static VCM::Codec(). Codec specific
methods are moved to video_encoder.cc (they already belonged to this
class) and getting default generic codec settings has been moved to a
test specific file.
This CL also makes video_encoder.h pass style guide and lint checks,
since these checks are triggered with the new video_encoder.cc file.
BUG=webrtc:8064
Review-Url: https://codereview.webrtc.org/2993923002
Cr-Commit-Position: refs/heads/master@{#19303}
It serves a very limited purpose: converting from the input YUV
file to an output Y4M file. The experimenter can do this manually,
if this is of interest. (It is generally not.)
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2993063002
Cr-Commit-Position: refs/heads/master@{#19257}
The current ObjC HW encoder is implemented as a C++
webrtc::VideoEncoder. We then wrap it two times in the following way:
webrtc::VideoEncoder -> RTCVideoEncoder -> webrtc::VideoEncoder.
This was originally done to minimize the code diff when landing the
injectable encoder.
This CL removes the first wrapping and implements the ObjC HW encoder
as a RTCVideoEncoder directly. Similarly, the decoder is implemented
as a RTCVideoDecoder directly.
Based on andersc@ CL: https://codereview.webrtc.org/2978623002/.
BUG=webrtc:7924
Review-Url: https://codereview.webrtc.org/2987413002
Cr-Commit-Position: refs/heads/master@{#19255}
- Make all overridden methods of VideoProcessorImpl public,
in preparation of the removal of the VideoProcessor interface.
- Place corresponding method definitions in correct order
in .cc file.
- Harmonize the stdout printing.
- Make timestamp calculations adhere to set frame rate.
Except for the last bullet, these changes should not lead to
different functionality.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2995513002
Cr-Commit-Position: refs/heads/master@{#19254}
Add SetProcessParams method for configuring process settings (removes intermediate step of configuring settings via ProcessParams).
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2962293002
Cr-Commit-Position: refs/heads/master@{#19206}
I used a command like this to update the paths:
perl -pi -e "s/webrtc\/base/webrtc\/rtc_base/g" `find webrtc/rtc_base -name "*.cc" -o -name "*.h"`
The only manual edit is to add an include of webrtc/rtc_base/checks.h in
webrtc/modules/audio_device/android/opensles_common.h, which likely
was needed due to changed include paths due to 'git cl format'.
BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True
Review-Url: https://codereview.webrtc.org/2969653002
Cr-Commit-Position: refs/heads/master@{#18871}
Remove video codec settings from CodecParams (and rename to ProcessParams).
Removes intermediate step of configuring video settings via CodecParams.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2956243002
Cr-Commit-Position: refs/heads/master@{#18830}
Make resilience configurable in video processor integration tests.
BUG=webrtc:6783
Review-Url: https://codereview.webrtc.org/2919803002
Cr-Commit-Position: refs/heads/master@{#18493}
Add test for vp8/vp9 qp parser in both videoprocessor_integrationtest.
Check the qp from parser equal to that from the encoder
on every frame in every test.
Add test for vp8/vp9 qp parser in vp8/vp9_impl_test.
Check the qp parser on a single key frame.
BUG=None
Review-Url: https://codereview.webrtc.org/2903163002
Cr-Commit-Position: refs/heads/master@{#18334}
- Add codec_type-implementation_name label option.
- Update figure title to exclude information that exist in legend.
- Change frame info in title from: # of frames in file -> # of processed frames.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2890223002
Cr-Commit-Position: refs/heads/master@{#18209}
Reason for revert:
Fixing downstream breakages
Original issue's description:
> Revert of Split iOS sdk in to separate targets (patchset #13 id:280001 of https://codereview.webrtc.org/2862543002/ )
>
> Reason for revert:
> Breaking downstream projects.
>
> Original issue's description:
> > Split iOS sdk in to separate targets
> >
> > This CL splits the iOS sdk into separate static libraries for video,
> > audio, ui, common, and peerconnection-related code. This will in the
> > future make it easier to compile WebRTC without unneeded components.
> >
> > BUG=webrtc:4867
> >
> > Review-Url: https://codereview.webrtc.org/2862543002
> > Cr-Commit-Position: refs/heads/master@{#18166}
> > Committed: 52c83fe710
>
> TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,kthelgason@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:4867
>
> Review-Url: https://codereview.webrtc.org/2890513002
> Cr-Commit-Position: refs/heads/master@{#18170}
> Committed: 9756238084TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4867
Review-Url: https://codereview.webrtc.org/2890733003
Cr-Commit-Position: refs/heads/master@{#18174}
Reason for revert:
Breaking downstream projects.
Original issue's description:
> Split iOS sdk in to separate targets
>
> This CL splits the iOS sdk into separate static libraries for video,
> audio, ui, common, and peerconnection-related code. This will in the
> future make it easier to compile WebRTC without unneeded components.
>
> BUG=webrtc:4867
>
> Review-Url: https://codereview.webrtc.org/2862543002
> Cr-Commit-Position: refs/heads/master@{#18166}
> Committed: 52c83fe710TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,kthelgason@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4867
Review-Url: https://codereview.webrtc.org/2890513002
Cr-Commit-Position: refs/heads/master@{#18170}
This CL splits the iOS sdk into separate static libraries for video,
audio, ui, common, and peerconnection-related code. This will in the
future make it easier to compile WebRTC without unneeded components.
BUG=webrtc:4867
Review-Url: https://codereview.webrtc.org/2862543002
Cr-Commit-Position: refs/heads/master@{#18166}