301 Commits

Author SHA1 Message Date
pbos
22993e1a0c Unify FrameType and VideoFrameType.
Prevents some heap allocation and frame-type conversion since interfaces
mismatch. Also it's less confusing to have one type for this.

BUG=webrtc:5042
R=magjed@webrtc.org, mflodman@webrtc.org, henrik.lundin@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10320}
2015-10-19 09:39:15 +00:00
asapersson
4306fc70d7 Add histogram for percentage of sent frames that are limited in resolution due to quality:
- "WebRTC.Video.QualityLimitedResolutionInPercent"

and if a frame is downscaled, the average number of times the frame is downscaled:
- "WebRTC.Video.QualityLimitedResolutionDownscales"

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10319}
2015-10-19 07:35:27 +00:00
pbos
65e15bafaa Add native-handle support for single VP8 streams.
Implements SupportsNativeHandle() in SimulcastEncoderAdapter which works
when there's only a single encoder.

BUG=webrtc:5060
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10291}
2015-10-15 17:52:21 +00:00
sprang
7a975f75e7 Revert of Adding support for simulcast and spatial layers into VideoQualityTest (patchset #10 id:180001 of https://codereview.webrtc.org/1353263005/ )
Reason for revert:
Temporarily reverting as this causes some issues with perf tests. Especially tests with packet loss no longer works.

Original issue's description:
> Adding support for simulcast and spatial layers into VideoQualityTest
>
> The CL includes several changes:
> - Adding flags describing the streams and spatial layers.
> - Reorganizing the order of the flags, to make them easier to maintain.
> - Adding a member .params_ to VideoQualityAnalyzer.
>     (instead of passing it to every member function manually)
> - Updating VideoAnalyzer to support simulcast.
>     (select appropriate ssrc and fix timestamps which are sometimes increased by 1)
> - VP9EncoderImpl already had code for automatic calculation of bitrate for each layer.
>     Changing to first read bitrates and resolution ratios from the flags, if specified.
>     If not specified, reverting to the old code are setting the values automatically.
> - Changing the parameters in LayerFilteringTransport, replacing
>     xx_discard_thresholds with selected_xx, to make it easier to use for the end user.
>
> Committed: https://crrev.com/87f83a9a27d657731ccb54025bc04ccad0da136e
> Cr-Commit-Position: refs/heads/master@{#10215}

TBR=pbos@webrtc.org,mflodman@webrtc.org,ivica@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10252}
2015-10-12 13:33:24 +00:00
Marco
e7f6b565e4 VP9: Enable multi-threading for SVC.
This was disabled due to issues with multi-threading
and spatial layers, but have since been fixed.

R=stefan@webrtc.org
TBR=mflodman@webrtc.org, stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10229}
2015-10-08 20:57:15 +00:00
ivica
87f83a9a27 Adding support for simulcast and spatial layers into VideoQualityTest
The CL includes several changes:
- Adding flags describing the streams and spatial layers.
- Reorganizing the order of the flags, to make them easier to maintain.
- Adding a member .params_ to VideoQualityAnalyzer.
    (instead of passing it to every member function manually)
- Updating VideoAnalyzer to support simulcast.
    (select appropriate ssrc and fix timestamps which are sometimes increased by 1)
- VP9EncoderImpl already had code for automatic calculation of bitrate for each layer.
    Changing to first read bitrates and resolution ratios from the flags, if specified.
    If not specified, reverting to the old code are setting the values automatically.
- Changing the parameters in LayerFilteringTransport, replacing
    xx_discard_thresholds with selected_xx, to make it easier to use for the end user.

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

Cr-Commit-Position: refs/heads/master@{#10215}
2015-10-08 12:13:37 +00:00
Peter Boström
0c4e06b4c6 Use suffixed {uint,int}{8,16,32,64}_t types.
Removes the use of uint8, etc. in favor of uint8_t.

BUG=webrtc:5024
R=henrik.lundin@webrtc.org, henrikg@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10196}
2015-10-07 10:23:32 +00:00
Peter Boström
5d0379da2c Remove kSkipFrame usage.
Since padding is no longer sent on Encoded() callbacks, dummy callbacks
aren't required to generate padding. This skip-frame behavior can then
be removed to get rid of dummy callbacks though nothing was encoded. As
frames don't have to be generated for frames that don't have to be sent
we skip encoding frames that aren't intended to be sent either, reducing
CPU load.

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10181}
2015-10-06 12:05:03 +00:00
sprang
fb30c1b5d1 Update VP8 settings to avoid spending bitrate on static areas. PERF NOTE
This CL changes the threshold where we consider a block to be static and
of sufficient quality to not spend bits/CPU encoding it.

Perf note: This change may result in a minor degradation of PSNR/SSIM
and available send bitrate. CPU usage and bitrate sent should however
be greately reduced.

BUG=webrtc:5015

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

Cr-Commit-Position: refs/heads/master@{#10134}
2015-10-01 13:26:16 +00:00
kjellander
d6024e3c34 Roll chromium_revision 310ea93..8cf53d6 (349094:351112)
Our perf test suite webrtc_perf_tests timed out, which caused most
of the delay landing this (https://crbug.comn/535973 and
https://codereview.chromium.org/1370133004).

Other problems with executing Android tests also needed to be
resolved in order to land this (http://crbug.com/534849).

Libvpx has moved from third_party/libvpx to third_party/libvpx_new
as of https://codereview.chromium.org/1323333002/

Android GN was blocking this roll due to a problem that ended up
being caused by a bug (http://crbug.com/534849).

Relevant changes:
* src/buildtools: f7310ee..8d89c1b
* src/third_party/boringssl/src: 1d128f3..4c60d35
* src/third_party/icu: 6b3ce81..423fc7e
* src/third_party/libjpeg_turbo: 631e2dd..e4e7503
* src/third_party/libvpx: ac1772e..70db223
* src/third_party/libyuv: fcacbfb..62c49dc
* src/tools/gyp: 5d01a8c..01528c7
* src/tools/swarming_client: 77f720b..6e5d2b2
Details: 310ea93..8cf53d6/DEPS

Clang version changed 245965:247874
Details: 310ea93..8cf53d6/tools/clang/scripts/update.sh

BUG=481034, 535973
TBR=marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10101}
2015-09-29 04:16:53 +00:00
Peter Boström
1741770742 Implement a high-QP threshold for Android H.264.
Android hardware H.264 seems to keep a steady high-QP flow instead of
dropping frames, so framedrops aren't sufficient to detect a bad state
where downscaling would be beneficial.

BUG=webrtc:4968
R=magjed@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10078}
2015-09-25 15:03:37 +00:00
Marco
1d5198d5d2 Fix parameter in VP9 resize test.
TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9977}
2015-09-17 19:36:59 +00:00
Marco
f35072019b VP9: Add automaticeResize to codec setting.
Added unittest.
This setting allows for dynamic resizing at low bitrates.
Setting is off by default for now.

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org
TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9976}
2015-09-17 19:16:16 +00:00
henrikg
91d6edef35 Add RTC_ prefix to (D)CHECKs and related macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9964}
2015-09-17 07:24:51 +00:00
Marco
2520e7200e VP9: Enable static threshold for non-screen content.
Encoder control was currently on for screen-content mode,
use it also for normal video.

BUG=

TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9958}
2015-09-16 21:05:12 +00:00
ivica
7f6a6fc0b2 Enabling spatial layers in VP9Impl. Filter layers in the loopback test.
Handling the case when encoder drops only the higher layer.
Added options to screenshare loopback test to discard high temporal or spatial layers (to view the lower layers).

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

Cr-Commit-Position: refs/heads/master@{#9883}
2015-09-08 09:40:36 +00:00
Asa Persson
110443c1ec Fix for frame resolution in encoded frame callback.
Scaled resolution for down scaled frames by the quality scaler is not used.

BUG=webrtc:4966
R=pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9873}
2015-09-07 13:04:00 +00:00
ivica
242d6384c4 VP9 codec controls for screensharing
Telling the encoder to adjust the parameters for the screen content.
Also, telling the encoder to skip the encoding of very flat/low content blocks. For now only for screensharing. (number 8 in VP8E_SET_STATIC_THRESHOLD is correct)

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

Cr-Commit-Position: refs/heads/master@{#9860}
2015-09-04 13:13:29 +00:00
philipel
7fabd46a89 Don't set V bit in flexible mode
BUG=webrtc:4914

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

Cr-Commit-Position: refs/heads/master@{#9848}
2015-09-03 11:42:37 +00:00
Magnus Jedvert
3318f984cd VideoFrameBuffer: Make non-const data access explicit
VideoFrameBuffer currently has two overloaded data() functions for pixel access, one for const and one for non-const. Unfortunately, it will default to the non-const version, even when 'const scoped_refptr<VideoFrameBuffer>&' is used. This is a problem, because many subclasses use RTC_NOTREACHED() in the non-const version.

This CL makes the non-const version of data() explicit with a different, longer function name MutableData().

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9787}
2015-08-26 14:06:30 +00:00
Magnus Jedvert
c464f504dc AndroidVideoCapturerJni: Fix threading issues
The primary fix in this CL is to remove the dangling |thread_| pointer in AndroidVideoCapturerJni. That thread is not safe to use after Stop() has been called. Even after Stop() has been called, we must still be able to return late frames to Java in order to not leak them, so that path has been made thread safe instead. To make sure that we always return frames, the Java frame should be wrapped in a scoped_refptr as quickly as possible, so this CL moves the wrapping from AndroidVideoCapturer to AndroidVideoCapturerJni. This also removes the need for the interface function AndroidVideoCapturerDelegate::ReturnBuffer().

Some other minor changes are:
 * Remove |valid_global_refs_| and all logic related to that. Now that rtc::Bind() captures method objects as scoped_refptr, the destructor of AndroidVideoCapturerJni will not be called before all frames are returned.
 * Remove global ref |j_frame_observer_|. No need for this, we don’t call it and it is kept alive with standard Java memory management.
 * Add helper function ShallowCenterCrop() for VideoFrameBuffers. This functionality already exists in the constructor of WrappedI420Buffer, but it’s more convenient to have it as a separate function.

BUG=webrtc:4742,webrtc:4909
R=glaznev@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9784}
2015-08-25 21:22:24 +00:00
sprang
ef7228cfa0 Selectable number of TL screenshare loopback test. Also contains some tweaks to make a single TL perform better.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9676}
2015-08-05 09:02:09 +00:00
asapersson
a9455ab235 Integration of VP9 packetization.
Supports running 1 spatial and 1-3 temporal layers in non-flexible mode.

BUG=webrtc:4148, webrtc:4168, chromium:500602
TBR=mflodman

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

Cr-Commit-Position: refs/heads/master@{#9665}
2015-07-31 13:10:16 +00:00
pbos
ef35f069e7 Remove webrtc::Config from ViEChannelGroup.
Also removing webrtc/experiments.h which is no longer used.

BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9642}
2015-07-27 15:37:14 +00:00
jackychen
6e2ce6e1ae Allow for framerate reduction for HW encoder.
R=pbos@webrtc.org, stefan@webrtc.org
TBR=glaznev@google.com

Review URL: https://webrtc-codereview.appspot.com/51159004 .

Cr-Commit-Position: refs/heads/master@{#9573}
2015-07-13 23:26:40 +00:00
pbos
bb36fdf95f Remove empty-string comparisons.
Use .empty() and !.empty() in favor of == "" or != "".

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9559}
2015-07-09 14:48:27 +00:00
Marco
6e89b25143 VP9 wrapper: Adjust speed setting.
Use lower speed setting for smaller resolutions.

R=stefan@webrtc.org
TBR=stefan@webrtc.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9549}
2015-07-07 21:40:51 +00:00
Zeke Chin
d830aeafe9 Add tkchin to video_coding OWNERS.
BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9528}
2015-07-01 23:01:56 +00:00
Zeke Chin
71f6f4405c iOS HW H264 support.
First step towards supporting H264 on iOS. More tuning/experimentation
required in future CLs. Tested using AppRTCDemo on iPhone6 + iPad Mini.
Future work to get it working on OS/X, simulator (renders black screen
currently) and with the Android AppRTCDemo. Currently protected with a
compile time guard.

BUG=4081
R=andrew@webrtc.org, haysc@webrtc.org, holmer@google.com, jiayl@webrtc.org, kjellander@webrtc.org, pbos@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9515}
2015-06-29 21:35:08 +00:00
Erik Språng
2c4c914819 In screenshare mode, suppress VP8 bitrate overshoot and increase quality
This change includes several improvements:

* VP8 configured with new rate control
* Detection of frame dropping, with qp bump for next frame
* Increased target and TL0 bitrates
* Reworked rate control (TL allocation) in screenshare_layers

A note on performance: PSNR and SSIM is expected to get slightly worse with this cl. Frame drops and delays should however improve.

BUG=4171
R=pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9495}
2015-06-24 09:24:50 +00:00
Peter Boström
6a688f5265 Add default downscale threshold to QualityScaler.
Prevents downscaling below 160x90 or 90x160 to gain more quality.

BUG=4625
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9480}
2015-06-22 06:03:07 +00:00
Peter Boström
1b9add9df9 Prevent bitrate overshoot for HD layer in VP8.
BUG=chromium:487648
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55469004

Cr-Commit-Position: refs/heads/master@{#9394}
2015-06-08 20:52:42 +00:00
Miguel Casas-Sanchez
4765070b8d Rename I420VideoFrame to VideoFrame.
This is a mechanical change since it affects so many
files.
I420VideoFrame -> VideoFrame
and reformatted.

Rationale: in the next CL I420VideoFrame will
get an indication of Pixel Format (I420 for
starters) and of storage type: usually
UNOWNED, could be SHMEM, and in the near
future will be possibly TEXTURE. See
https://codereview.chromium.org/1154153003
for the change that happened in Cr.

BUG=4730, chromium:440843
R=jiayl@webrtc.org, niklas.enbom@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52629004

Cr-Commit-Position: refs/heads/master@{#9339}
2015-05-30 00:21:56 +00:00
Stefan Holmer
e87d48719f Fix ARM64 detection for VP8 and VP9 wrappers.
BUG=4702
R=marpan@google.com, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/57459004

Cr-Commit-Position: refs/heads/master@{#9287}
2015-05-26 20:10:38 +00:00
Noah Richards
67b635a47e Fix simulcast_encoder_adapter giving full target_bitrate to the 2nd layer of any simulcast setup during InitEncode.
BUG=
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51069004

Cr-Commit-Position: refs/heads/master@{#9265}
2015-05-22 21:12:15 +00:00
jackychen
98d8cf58ee Hardware VP8 encoding: Use QP as metric for resize.
Add vp8 frame header parser to get QP from vp8 bitstream.

BUG= 4273
R=glaznev@webrtc.org, marpan@google.com, pbos@webrtc.org
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49259004

Cr-Commit-Position: refs/heads/master@{#9256}
2015-05-21 18:11:53 +00:00
Peter Boström
b302ad4eab Remove unused VideoDecoder methods.
Removing VideoDecoder::Copy() and
VideoDecoder::SetCodecConfigParameters().

Also adding override to VP8DecoderImpl.

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55409004

Cr-Commit-Position: refs/heads/master@{#9244}
2015-05-21 07:42:14 +00:00
Peter Boström
7252a2ba80 Add HW fallback option to software decoding.
Permits falling back to software decoding for unsupported resolutions in
bitstreams.

BUG=4625, chromium:487934
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46269004

Cr-Commit-Position: refs/heads/master@{#9209}
2015-05-18 17:41:50 +00:00
Henrik Boström
9695d8523b Added VP9FrameBufferPool, a memory pool that is shared between libvpx and webrtc. Using the VP9 codec, the libvpx decoder will obtain its buffers from our memory pool. This lets us reuse the same buffers for our I420VideoFrames and not have to copy a frame for every decode (from libvpx buffers to webrtc/I420VideoFrame buffers).
(This is similar to chromium's MemoryPool in vpx_video_decoder.cc.)

BUG=1128
R=kjellander@webrtc.org, magjed@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48149004

Cr-Commit-Position: refs/heads/master@{#9141}
2015-05-06 08:42:22 +00:00
Erik Språng
143cec1cc6 Set correct encoder-specific settings for vpx in the new API.
Also, make VideoEncoderConfig::ContentType an enum class.

BUG=4569
R=mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46069004

Cr-Commit-Position: refs/heads/master@{#9093}
2015-04-28 08:01:14 +00:00
jackychen
61b4d518af Dynamic resolution change for VP8 HW encode.
Off by default for now.

BUG=
R=glaznev@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45849004

Cr-Commit-Position: refs/heads/master@{#9045}
2015-04-21 22:29:53 +00:00
Noah Richards
41ee1ea4fa Modified the simulcast encoder adapter to correctly handle encoded frames from sub encoders even if the encoder is unable to (temporarily or permanently) produce frames of the exactly matching resolution. This is done by using a different EncodedImageCallback for each encoder, which remembers which VideoEncoder it is registered to and forwards that on to SimulcastEncoderAdapter::Encoded.
BUG=
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45949004

Cr-Commit-Position: refs/heads/master@{#9011}
2015-04-15 16:24:16 +00:00
Thiago Farina
9bfe3daf73 Cleanup: Remove i420_video_frame.h header.
It is just a pass through to webrtc/video_frame.h. Updated the callers
to include webrtc/video_frame.h instead and removed i420_video_frame.h.

This should fix pbos' TODO in i420_video_frame.h.

Tested on Linux with the following command lines:

$ rm -rf out/
$ ./webrtc/build/gyp_webrtc
$ ninja -C out/Debug

BUG=None
TEST=see above
R=magjed@webrtc.org, pbos@webrtc.org, tommi@webrtc.org
TBR=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46819004

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8973}
2015-04-10 10:52:15 +00:00
Thiago Farina
3a93986fd5 Exit after printing usage message.
We should not continue the program if the user asked for help.

Tested on Linux with the following command line:

$ out/Debug/frame_analyzer --help

BUG=None
TEST=see above
R=kjellander@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44069004

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8961}
2015-04-09 13:45:17 +00:00
Marco
b8cfa68323 Update speed setting in VP9.
TBR=stefan@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/44919004

Cr-Commit-Position: refs/heads/master@{#8870}
2015-03-26 20:20:40 +00:00
magjed@webrtc.org
deafa7b3c9 Remove I420VideoFrame::SwapFrame
The few remaining uses of this function are replaced with I420VideoFrame assignment, similar to scoped_refptr assignment.

BUG=1128
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42889004

Cr-Commit-Position: refs/heads/master@{#8844}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8844 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 12:43:40 +00:00
pbos@webrtc.org
a3209a2b27 Release buffer pool in Vp8DecoderImpl::Release().
Permits reusing an external VP8DecoderImpl instance from another
VideoReceiveStream without a thread-checker DCHECK blowing up. Also
releases buffers that would've been kept in memory even though the
decoder isn't configured.

BUG=
R=magjed@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50449004

Cr-Commit-Position: refs/heads/master@{#8807}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8807 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-20 13:36:25 +00:00
pbos@webrtc.org
8904290aca Make screenshare target bitrate experiment always on
BUG=4083
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44699004

Patch from sprang@webrtc.org <sprang@webrtc.org>.

Cr-Commit-Position: refs/heads/master@{#8806}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8806 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-20 12:50:34 +00:00
perkj@webrtc.org
9f9ea7e5ab Clean up webrtc external capture.
This cl removes the dependency to the external capture module if external capturing is used in webrtc.
It also removes two external capture methods that is not needed.
Further more it adds I420VideoFrame::Create that takes a pointer to packed memory as input.

R=magjed@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43879004

Cr-Commit-Position: refs/heads/master@{#8804}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8804 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-20 10:55:39 +00:00
kjellander@webrtc.org
2a8a46dacb vp8: Add missing call to SetUsageMessage().
Without it vp8_coder --help does not work.

BUG=None
TEST=ninja -C out/Debug && out/Debug/vp8_coder --help now shows the
usage message.

R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44649005

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8783}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8783 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-18 21:09:16 +00:00