601 Commits

Author SHA1 Message Date
brandtr
32e0d26096 Tighten up encode time measurement in VideoProcessor.
No point in measuring the time needed to write dropped frames to disk.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2696503003
Cr-Commit-Position: refs/heads/master@{#16629}
2017-02-15 13:29:38 +00:00
brandtr
8bc9385fcb Style fixes: VideoProcessor and corresponding integration test.
This CL has no intended functional changes.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2697583002
Cr-Commit-Position: refs/heads/master@{#16628}
2017-02-15 13:19:51 +00:00
ilnik
2a8c2f589a Added Vp9 simulcast tests.
For them implemeted upscaling in libyuv metrics calculation.
Updated maximum number of SL in vp9 encoder to 3.
Refactored names of some fields in Video_quality_check analyzer.

BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2681683003
Cr-Commit-Position: refs/heads/master@{#16625}
2017-02-15 10:23:28 +00:00
asapersson
7041eed59f Add possibility to plot statistics from integration tests per codec type/implementation.
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2688863002
Cr-Commit-Position: refs/heads/master@{#16571}
2017-02-13 09:37:57 +00:00
asapersson
38e9324e4e Add script for plotting statistics from webrtc integration test logs.
Add tests (plot_videoprocessor_integrationtest.cc) to be used to plot stats from (not yet used).

Move VideoProcessorIntegrationTest fixture to separate file. To be used by plot_videoprocessor_integrationtest.cc.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2643853002
Cr-Commit-Position: refs/heads/master@{#16528}
2017-02-10 09:37:17 +00:00
asapersson
654d54c073 Use std::unique_ptr in VideoProcessor.
Add RTC_CHECKs for failures in VideoProcessor::Init.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2684223002
Cr-Commit-Position: refs/heads/master@{#16526}
2017-02-10 08:16:07 +00:00
sakal
cc452e1179 Reland of Add QP sum stats for received streams. (patchset #2 id:300001 of https://codereview.webrtc.org/2680893002/ )
Reason for revert:
Fix the problem.

Original issue's description:
> Revert of Add QP sum stats for received streams. (patchset #10 id:180001 of https://codereview.webrtc.org/2649133005/ )
>
> Reason for revert:
> Breaks downstream build.
>
> Original issue's description:
> > Add QP sum stats for received streams.
> >
> > This is not implemented yet in any of the decoders.
> >
> > BUG=webrtc:6541
> >
> > Review-Url: https://codereview.webrtc.org/2649133005
> > Cr-Commit-Position: refs/heads/master@{#16475}
> > Committed: ff0e72fd16
>
> TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,sakal@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6541
>
> Review-Url: https://codereview.webrtc.org/2680893002 .
> Cr-Commit-Position: refs/heads/master@{#16480}
> Committed: 69fb2cca4d

TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,skvlad@webrtc.org
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2681663005
Cr-Commit-Position: refs/heads/master@{#16511}
2017-02-09 12:53:45 +00:00
skvlad
69fb2cca4d Revert of Add QP sum stats for received streams. (patchset #10 id:180001 of https://codereview.webrtc.org/2649133005/ )
Reason for revert:
Breaks downstream build.

Original issue's description:
> Add QP sum stats for received streams.
>
> This is not implemented yet in any of the decoders.
>
> BUG=webrtc:6541
>
> Review-Url: https://codereview.webrtc.org/2649133005
> Cr-Commit-Position: refs/heads/master@{#16475}
> Committed: ff0e72fd16

TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,sakal@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2680893002 .
Cr-Commit-Position: refs/heads/master@{#16480}
2017-02-07 18:59:25 +00:00
sakal
ff0e72fd16 Add QP sum stats for received streams.
This is not implemented yet in any of the decoders.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2649133005
Cr-Commit-Position: refs/heads/master@{#16475}
2017-02-07 15:15:17 +00:00
asapersson
e0ac5a6c15 Use std::unique_ptr in VideoProcessorIntegrationTest.
Add more logging of codec settings.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2639203005
Cr-Commit-Position: refs/heads/master@{#16464}
2017-02-07 11:54:04 +00:00
johannkoenig
8225c405c4 Remove svc_context.h include
Features in this header rely on configuring libvpx with
--enable-experimental and --enable-spatial-svc

This was mistakenly used to get access to vpx_svc_extra_cfg_t through
SvcInternal_t.

BUG=chromium:575651
https://bugzilla.mozilla.org/show_bug.cgi?id=1332664

Review-Url: https://codereview.webrtc.org/2654633002
Cr-Commit-Position: refs/heads/master@{#16308}
2017-01-26 21:23:44 +00:00
sprang
429600d7d0 Reland of Add experimental simulcast screen content mode
The original CL was reverted because of a bug discovered by the
chromium bots. Description of that CL:

> Review-Url: https://codereview.webrtc.org/2636443002
> Cr-Commit-Position: refs/heads/master@{#16135}
> Committed: a28e971e3b

The first patch set of this CL is the same as r16135.
Subsequence patch sets are the fixes applied.
Some new test cases have been added, which reveal a few more bugs that
have also been fixed.

BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2641133002
Cr-Commit-Position: refs/heads/master@{#16299}
2017-01-26 14:12:26 +00:00
brandtr
52cdd3bb30 Make video_quality_measurement buildable again.
BUG=None

Review-Url: https://codereview.webrtc.org/2651543008
Cr-Commit-Position: refs/heads/master@{#16290}
2017-01-26 10:25:21 +00:00
sprang
44303ea0ff Revert of Add experimental simulcast screen content mode (patchset #5 id:80001 of https://codereview.webrtc.org/2636443002/ )
Reason for revert:
Breaks chromium.

Original issue's description:
> Add experimental simulcast screen content mode
>
> BUG=webrtc:4172
>
> Review-Url: https://codereview.webrtc.org/2636443002
> Cr-Commit-Position: refs/heads/master@{#16135}
> Committed: a28e971e3b

TBR=perkj@webrtc.org,asapersson@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2643763002
Cr-Commit-Position: refs/heads/master@{#16145}
2017-01-18 13:19:13 +00:00
sprang
a28e971e3b Add experimental simulcast screen content mode
BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2636443002
Cr-Commit-Position: refs/heads/master@{#16135}
2017-01-18 08:36:31 +00:00
sprang
10418acb97 Remove backwards compatibilty path for OpenH264 v1.4
Deps have rolled to 1.6, and since no one noticed that the old code path
was broken and wouldn't even compile, I assume no one is using it.
I therefore deem it time to clean away all these nasty ifdefs.

("const kNalHeaderSizeAllocation = 50;" doesn't declare a type)

BUG=chromium:614970

Review-Url: https://codereview.webrtc.org/2622233002
Cr-Commit-Position: refs/heads/master@{#16008}
2017-01-11 13:51:56 +00:00
sprang
0ad0de6ef0 Rename incoming_framerate_ to capture_framerate_ in screenshare_layers.
Avoids confusion about the meaning of "incoming".

BUG=webrtc:6897

Review-Url: https://codereview.webrtc.org/2624073003
Cr-Commit-Position: refs/heads/master@{#16007}
2017-01-11 13:01:32 +00:00
nisse
af916899cc Move VideoFrame and related declarations to webrtc/api/video.
Moves webrtc/common_video/rotation.h and parts of
webrtc/common_video/include/video_frame_buffer.h and
webrtc/video_frame.h, and adds to a new GN target api:video_frame_api.

BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2517173004
Cr-Commit-Position: refs/heads/master@{#15993}
2017-01-10 15:44:26 +00:00
kjellander
94b880178a Revert of Disable flaky test VideoProcessorIntegrationTest.ProcessNoLossChangeFrameRateFrameDropVP9 (patchset #1 id:1 of https://codereview.webrtc.org/2568743007/ )
Reason for revert:
Trying to re-enable this test as we're now using a newer Clang version (289944-2).

Original issue's description:
> Disable flaky test VideoProcessorIntegrationTest.ProcessNoLossChangeFrameRateFrameDropVP9
>
> This test is flaky on all platforms, not just Android. Disabling it entirely until webrtc:6057 is fixed.
>
> BUG=webrtc:6057
>
> Committed: https://crrev.com/bb66ec35739830847bfb0146cd029ca41421b2d8
> Cr-Commit-Position: refs/heads/master@{#15594}

TBR=marpan@webrtc.org,sprang@webrtc.org,skvlad@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6057

Review-Url: https://codereview.webrtc.org/2603993002
Cr-Commit-Position: refs/heads/master@{#15821}
2016-12-28 15:22:54 +00:00
sprang
ac4a90dfdc Add frame rate throttling to vp8 screenshare_layers.
Drop frames if incoming frame rate is higher than the configured max
framerate.

BUG=webrtc:6897

Review-Url: https://codereview.webrtc.org/2578993002
Cr-Commit-Position: refs/heads/master@{#15819}
2016-12-28 13:58:07 +00:00
kthelgason
0cd27ba088 Reland of Properly report number of quality downscales in stats. (patchset #1 id:1 of https://codereview.webrtc.org/2586783003/ )
Reason for revert:
Bug affecting perf tests has been fixed. The issue was that I had accidentally disabled cpu overuse adaptation based on the encoders ScalingSettings, not just quality-based scaling.

Original issue's description:
> Revert of Properly report number of quality downscales in stats. (patchset #11 id:220001 of https://codereview.webrtc.org/2564373002/ )
>
> Reason for revert:
> Breaks perf tests
>
> Original issue's description:
> > Properly report number of quality downscales in stats.
> >
> > A regression was introduced in 876222f that caused these stats to
> > be reported incorrectly. This used to be only implemented for VP8
> > but should now be available for all codecs.
> >
> > BUG=webrtc:6860
> >
> > Review-Url: https://codereview.webrtc.org/2564373002
> > Cr-Commit-Position: refs/heads/master@{#15673}
> > Committed: 0c8c538835
>
> TBR=asapersson@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6860
>
> Review-Url: https://codereview.webrtc.org/2586783003
> Cr-Commit-Position: refs/heads/master@{#15678}
> Committed: fe04bd43cc

TBR=asapersson@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6860

Review-Url: https://codereview.webrtc.org/2588743002
Cr-Commit-Position: refs/heads/master@{#15680}
2016-12-19 14:32:16 +00:00
kthelgason
fe04bd43cc Revert of Properly report number of quality downscales in stats. (patchset #11 id:220001 of https://codereview.webrtc.org/2564373002/ )
Reason for revert:
Breaks perf tests

Original issue's description:
> Properly report number of quality downscales in stats.
>
> A regression was introduced in 876222f that caused these stats to
> be reported incorrectly. This used to be only implemented for VP8
> but should now be available for all codecs.
>
> BUG=webrtc:6860
>
> Review-Url: https://codereview.webrtc.org/2564373002
> Cr-Commit-Position: refs/heads/master@{#15673}
> Committed: 0c8c538835

TBR=asapersson@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6860

Review-Url: https://codereview.webrtc.org/2586783003
Cr-Commit-Position: refs/heads/master@{#15678}
2016-12-19 14:17:30 +00:00
asapersson
35b41a29b3 Reland of Disabling NOTREACHED which we're hitting flakily in browser tests. (patchset #1 id:1 of https://codereview.webrtc.org/2585183002/ )
Reason for revert:
Still hitting NOTREACHED.

Original issue's description:
> Revert of Disabling NOTREACHED which we're hitting flakily in browser tests. (patchset #1 id:1 of https://codereview.webrtc.org/2477663002/ )
>
> Reason for revert:
> To see if the NOTREACHED is still hit.
>
> Original issue's description:
> > Disabling NOTREACHED which we're hitting flakily in browser tests.
> >
> > I have no idea how bad it is that we're hitting this limit; I'm just
> > doing this to stop the tests from flaking.
> >
> > BUG=webrtc:6484
> >
> > Committed: https://crrev.com/6eaa55867b449df992752c1df540ec42f9d9b057
> > Cr-Commit-Position: refs/heads/master@{#14974}
>
> TBR=stefan@webrtc.org,phoglund@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:6484
>
> Review-Url: https://codereview.webrtc.org/2585183002
> Cr-Commit-Position: refs/heads/master@{#15665}
> Committed: 9d7ea0920c

TBR=stefan@webrtc.org,phoglund@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6484

Review-Url: https://codereview.webrtc.org/2585273002
Cr-Commit-Position: refs/heads/master@{#15676}
2016-12-19 13:54:15 +00:00
kthelgason
0c8c538835 Properly report number of quality downscales in stats.
A regression was introduced in 876222f that caused these stats to
be reported incorrectly. This used to be only implemented for VP8
but should now be available for all codecs.

BUG=webrtc:6860

Review-Url: https://codereview.webrtc.org/2564373002
Cr-Commit-Position: refs/heads/master@{#15673}
2016-12-19 13:04:40 +00:00
asapersson
9d7ea0920c Revert of Disabling NOTREACHED which we're hitting flakily in browser tests. (patchset #1 id:1 of https://codereview.webrtc.org/2477663002/ )
Reason for revert:
To see if the NOTREACHED is still hit.

Original issue's description:
> Disabling NOTREACHED which we're hitting flakily in browser tests.
>
> I have no idea how bad it is that we're hitting this limit; I'm just
> doing this to stop the tests from flaking.
>
> BUG=webrtc:6484
>
> Committed: https://crrev.com/6eaa55867b449df992752c1df540ec42f9d9b057
> Cr-Commit-Position: refs/heads/master@{#14974}

TBR=stefan@webrtc.org,phoglund@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6484

Review-Url: https://codereview.webrtc.org/2585183002
Cr-Commit-Position: refs/heads/master@{#15665}
2016-12-19 07:47:04 +00:00
nisse
df2ceb88a8 Reland of Delete VideoFrame default constructor, and IsZeroSize method. (patchset #1 id:1 of https://codereview.webrtc.org/2574123002/ )
Reason for revert:
Fixing perf tests.

Original issue's description:
> Revert of Delete VideoFrame default constructor, and IsZeroSize method. (patchset #5 id:80001 of https://codereview.webrtc.org/2541863002/ )
>
> Reason for revert:
> Crashes perf tests, e.g.,
>
> ./out/Debug/webrtc_perf_tests --gtest_filter='FullStackTest.ScreenshareSlidesVP8_2TL_VeryLossyNet'
>
> dies with an assert related to rtc::Optional.
>
> Original issue's description:
> > Delete VideoFrame default constructor, and IsZeroSize method.
> >
> > This ensures that the video_frame_buffer method never can return a
> > null pointer.
> >
> > BUG=webrtc:6591
> >
> > Committed: https://crrev.com/bfcf561923a42005e4c7d66d8e72e5932155f997
> > Cr-Commit-Position: refs/heads/master@{#15574}
>
> TBR=magjed@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6591
>
> Committed: https://crrev.com/0989fbcad2ca4eb5805a77e8ebfefd3af06ade23
> Cr-Commit-Position: refs/heads/master@{#15597}

TBR=magjed@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6591

Review-Url: https://codereview.webrtc.org/2574183002
Cr-Commit-Position: refs/heads/master@{#15633}
2016-12-15 14:30:00 +00:00
hta
41286496cb Move all codec specific definitions from modules_include
This CL moves all codec specific definitions into their own
header files in the respective codec directory, and replaces
it with an include in the top level directory.

This is to facilitate getting the code out of the header files.

No behavioral changes are expected.

BUG=webrtc:6842

Review-Url: https://codereview.webrtc.org/2555993003
Cr-Commit-Position: refs/heads/master@{#15623}
2016-12-15 08:54:15 +00:00
nisse
0989fbcad2 Revert of Delete VideoFrame default constructor, and IsZeroSize method. (patchset #5 id:80001 of https://codereview.webrtc.org/2541863002/ )
Reason for revert:
Crashes perf tests, e.g.,

./out/Debug/webrtc_perf_tests --gtest_filter='FullStackTest.ScreenshareSlidesVP8_2TL_VeryLossyNet'

dies with an assert related to rtc::Optional.

Original issue's description:
> Delete VideoFrame default constructor, and IsZeroSize method.
>
> This ensures that the video_frame_buffer method never can return a
> null pointer.
>
> BUG=webrtc:6591
>
> Committed: https://crrev.com/bfcf561923a42005e4c7d66d8e72e5932155f997
> Cr-Commit-Position: refs/heads/master@{#15574}

TBR=magjed@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6591

Review-Url: https://codereview.webrtc.org/2574123002
Cr-Commit-Position: refs/heads/master@{#15597}
2016-12-14 10:06:49 +00:00
skvlad
bb66ec3573 Disable flaky test VideoProcessorIntegrationTest.ProcessNoLossChangeFrameRateFrameDropVP9
This test is flaky on all platforms, not just Android. Disabling it entirely until webrtc:6057 is fixed.

BUG=webrtc:6057

Review-Url: https://codereview.webrtc.org/2568743007
Cr-Commit-Position: refs/heads/master@{#15594}
2016-12-14 09:17:34 +00:00
nisse
bfcf561923 Delete VideoFrame default constructor, and IsZeroSize method.
This ensures that the video_frame_buffer method never can return a
null pointer.

BUG=webrtc:6591

Review-Url: https://codereview.webrtc.org/2541863002
Cr-Commit-Position: refs/heads/master@{#15574}
2016-12-13 14:08:39 +00:00
noahric
e5ba75a658 Destroy encoders that fail to InitEncode.
SimulcastEncoderAdapter calls Release() on a failed sub-encoder init,
but Release only knows how to clean up encoders that have registered
stream info. Since failed ones don't register, they aren't currently
cleaned up.

BUG=None

Review-Url: https://codereview.webrtc.org/2544003005
Cr-Commit-Position: refs/heads/master@{#15553}
2016-12-12 21:08:36 +00:00
peah
d2ce622ea1 Disabling the potentially flaky test
VideoProcessorIntegrationTest.
ProcessNoLossSpatialResizeFrameDropVP9

TBR=sprang@webrtc.org

BUG=webrtc:6873

Review-Url: https://codereview.webrtc.org/2565373002
Cr-Commit-Position: refs/heads/master@{#15545}
2016-12-12 11:21:21 +00:00
asapersson
a90799d5fb Revert of Turn off error resilience for VP9 if no spatial or temporal layers are configured and NACK is enabl… (patchset #1 id:40001 of https://codereview.webrtc.org/2532053002/ )
Reason for revert:
Increase in encode time larger than expected.

Original issue's description:
> Turn off error resilience for VP9 if no spatial or temporal layers are configured and NACK is enabled.
>
> Error resilience is currently always enabled for VP9 which reduces quality.
>
> BUG=webrtc:6783
>
> Committed: https://crrev.com/4eb03c76fa2320534d669fda2aabf800e7a6f579
> Cr-Commit-Position: refs/heads/master@{#15390}

TBR=stefan@webrtc.org,marpan@webrtc.org,mflodman@webrtc.org,marpan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6783

Review-Url: https://codereview.webrtc.org/2554403006
Cr-Commit-Position: refs/heads/master@{#15501}
2016-12-09 10:35:30 +00:00
kjellander
0287db05c3 Re-enable disabled VideoProcessorIntegrationTest tests
The llvm bug has now been fixed.

BUG=webrtc:6781
TBR=marpan@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2559113003
Cr-Commit-Position: refs/heads/master@{#15482}
2016-12-08 15:12:21 +00:00
hta
9aa96889a3 Reland of H.264 packetization mode 0 (try 3) (patchset #1 id:1 of https://codereview.webrtc.org/2558453002/ )
Reason for revert:
Fixed timeouts in slow tests

Original issue's description:
> Revert of H.264 packetization mode 0 (try 3) (patchset #13 id:490001 of https://codereview.webrtc.org/2528343002/ )
>
> Reason for revert:
> Failures on the Linux Memcheck bot
>
> Original issue's description:
> > This approach passes packetization mode to the encoder as part of
> > a cricket::VideoCodec structure, rather than as part of struct VideoCodecH264 inside webrtc::VideoCodec.
> >
> > BUG=600254
> >
> > Committed: https://crrev.com/e59647b991f61cf1cf61b020356705e6c0f81257
> > Cr-Commit-Position: refs/heads/master@{#15437}
>
> TBR=hbos@webrtc.org,sprang@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=600254
>
> Committed: https://crrev.com/243a0a7a7fd6b5da1e32df31f1bfbb6a68dc09f3
> Cr-Commit-Position: refs/heads/master@{#15441}

TBR=hbos@webrtc.org,sprang@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=600254

Review-Url: https://codereview.webrtc.org/2558463002
Cr-Commit-Position: refs/heads/master@{#15445}
2016-12-06 13:36:13 +00:00
hta
243a0a7a7f Revert of H.264 packetization mode 0 (try 3) (patchset #13 id:490001 of https://codereview.webrtc.org/2528343002/ )
Reason for revert:
Failures on the Linux Memcheck bot

Original issue's description:
> This approach passes packetization mode to the encoder as part of
> a cricket::VideoCodec structure, rather than as part of struct VideoCodecH264 inside webrtc::VideoCodec.
>
> BUG=600254
>
> Committed: https://crrev.com/e59647b991f61cf1cf61b020356705e6c0f81257
> Cr-Commit-Position: refs/heads/master@{#15437}

TBR=hbos@webrtc.org,sprang@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=600254

Review-Url: https://codereview.webrtc.org/2558453002
Cr-Commit-Position: refs/heads/master@{#15441}
2016-12-06 12:22:05 +00:00
hta
e59647b991 This approach passes packetization mode to the encoder as part of
a cricket::VideoCodec structure, rather than as part of struct VideoCodecH264 inside webrtc::VideoCodec.

BUG=600254

Review-Url: https://codereview.webrtc.org/2528343002
Cr-Commit-Position: refs/heads/master@{#15437}
2016-12-06 10:22:54 +00:00
asapersson
4eb03c76fa Turn off error resilience for VP9 if no spatial or temporal layers are configured and NACK is enabled.
Error resilience is currently always enabled for VP9 which reduces quality.

BUG=webrtc:6783

Review-Url: https://codereview.webrtc.org/2532053002
Cr-Commit-Position: refs/heads/master@{#15390}
2016-12-02 16:58:02 +00:00
magjed
5c71166dff VP8DecoderImpl: Fix uninitialized memory crash
It is not safe to call vpx_codec_destroy if vpx_codec_dec_init failed,
because the |decoder_| memory will be uninitialized. See the bug for
more info.

BUG=chromium:663293

Review-Url: https://codereview.webrtc.org/2541163007
Cr-Commit-Position: refs/heads/master@{#15381}
2016-12-02 10:46:26 +00:00
kthelgason
876222f77d Move usage of QualityScaler to ViEEncoder.
This brings QualityScaler much more in line with OveruseFrameDetector.
The two classes are conceptually similar, and should be used in the
same way. The biggest changes in this CL are:
- Quality scaling is now only done in ViEEncoder and not in each
  encoder implementation separately.
- QualityScaler now checks the average QP asynchronously, instead of
  having to be polled on each frame.
- QualityScaler is no longer responsible for actually scaling the frames,
  but has a callback to ViEEncoder that it uses to express it's desire
  for lower resolution.

BUG=webrtc:6495

Review-Url: https://codereview.webrtc.org/2398963003
Cr-Commit-Position: refs/heads/master@{#15286}
2016-11-29 09:44:22 +00:00
kwiberg
352444fcac RTC_[D]CHECK_op: Remove superfluous casts
There's no longer any need to make the two arguments have the same
signedness, so we can remove a bunch of superfluous (and sometimes
dangerous) casts.

It turned out I also had to fix the safe_cmp functions to properly handle
enums that are implicitly convertible to integers.

NOPRESUBMIT=true
BUG=webrtc:6645

Review-Url: https://codereview.webrtc.org/2534683002
Cr-Commit-Position: refs/heads/master@{#15281}
2016-11-28 23:59:03 +00:00
kwiberg
af476c737f RTC_[D]CHECK_op: Remove "u" suffix on integer constants
There's no longer any need to make the two arguments have the same
signedness, so we can drop the "u" suffix on literal integer
arguments.

NOPRESUBMIT=true
BUG=webrtc:6645

Review-Url: https://codereview.webrtc.org/2535593002
Cr-Commit-Position: refs/heads/master@{#15280}
2016-11-28 23:21:51 +00:00
Henrik Kjellander
1bc3146e08 Disable more VideoProcessorIntegrationTest tests on Linux 32-bit
The previously disabled tests on TSan and UBSan are also failing on
Linux 32-bit.

BUG=webrtc:6781
R=ehmaldonado@webrtc.org
TBR=deadbeef@webrtc.org

Review URL: https://codereview.webrtc.org/2535913002 .

Cr-Commit-Position: refs/heads/master@{#15276}
2016-11-28 18:34:43 +00:00
magjed
ceecea4559 Pass selected cricket::VideoCodec down to internal H264 encoder
Pass the selected cricket::VideoCodec to H264EncoderImpl::H264EncoderImpl. The cricket::VideoCodec contains relevant information for H264 about selected profile and packetization mode.

BUG=chromium:600254,webrtc:6402, webrtc:6337

Review-Url: https://codereview.webrtc.org/2474993002
Cr-Commit-Position: refs/heads/master@{#15270}
2016-11-28 15:20:26 +00:00
kjellander
847f6897f2 Roll chromium_revision 5e821a778b..5c22c2afac (432715:434448)
Manual changes needed to use our own test runner for Android tests.
VideoProcessorIntegrationTest.ProcessNoLossChangeFrameRateFrameDropVP9
is failing for TSan and UBSan configs, so disable the test for them here.

Change log: 5e821a778b..5c22c2afac
Full diff: 5e821a778b..5c22c2afac

Changed dependencies:
* src/buildtools: 1f985091a5..991f459071
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/c02a002b48..811a2c3f91
* src/third_party/catapult: 249cfbcd88..671a654736
* src/third_party/ffmpeg: 3c7a098821..d16162e3f4
* src/third_party/icu: 7ddf5e9ba1..dda089a98a
* src/third_party/libvpx/source/libvpx: 5c64c01c7c..d7f1d60c51
* src/third_party/openmax_dl: 57d33bee78..7acede9c03
DEPS diff: 5e821a778b..5c22c2afac/DEPS

Clang version changed 284979:287780
Details: 5e821a778b..5c22c2afac/tools/clang/scripts/update.py

TBR=marpan@webrtc.org, ehmaldonado@webrtc.org
BUG=webrtc:6775, webrtc:6739, webrtc:6781
NOTRY=True

Review-Url: https://codereview.webrtc.org/2533733002
Cr-Commit-Position: refs/heads/master@{#15256}
2016-11-28 10:04:45 +00:00
nisse
deb95f32f4 Change rtc::TimeNanos and rtc::TimeMicros return value from uint64_t to int64_t.
Also updated types close to call sites.

BUG=webrtc:6733

Review-Url: https://codereview.webrtc.org/2514553003
Cr-Commit-Position: refs/heads/master@{#15255}
2016-11-28 09:55:05 +00:00
sprang
c7805dbd0e Fix perf regression in screenshare temporal layer bitrate allocation
A recent cl (https://codereview.webrtc.org/2510583002) introduced an
issue where temporal layers may return incorrect bitrates, given that
they are stateful and that the GetPreferredBitrateBps is called.
The fix is to use a temporary simulcast rate allocator instance, without
temporal layers, and get the preferred bitrate from that.

Additionally, some regression in bitrate allocated stems from overly
often reconfiguring the encoder, which yields suboptimal rate control.
The fix here is to limit encoder updates to when values have actually
changed.

As a bonus, dchecks added by this cl found a bug in the (unused) RealtimeTemporalLayers implementation. Fixed that as well.

BUG=webrtc:6301, chromium:666654

Review-Url: https://codereview.webrtc.org/2529073003
Cr-Commit-Position: refs/heads/master@{#15250}
2016-11-25 16:09:51 +00:00
asapersson
5f7226f8a3 Turn off error resilience for vp8 for no temporal layers if nack is enabled.
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2493893003
Cr-Commit-Position: refs/heads/master@{#15240}
2016-11-25 12:37:06 +00:00
magjed
10165ab8e7 Unify VideoCodecType to/from string functionality
BUG=None

Review-Url: https://codereview.webrtc.org/2509273002
Cr-Commit-Position: refs/heads/master@{#15200}
2016-11-22 18:17:04 +00:00
magjed
2d60e53ad5 H264 encoder: Include QP information in encoded images
Set the |qp_| field in EncodedImage before calling OnEncodedImage.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2499003002
Cr-Commit-Position: refs/heads/master@{#15199}
2016-11-22 16:42:14 +00:00