Commit graph

1027 commits

Author SHA1 Message Date
Erik Språng
13044c1b53 Reduce time between sync frames for temporal layers vp8 screensharing.
This is expected to result in a slight loss of overall quality, but
should offset by quicker switching between temporal layers with flaky
connections.

Bug: webrtc:7694
Change-Id: Ib605802bb59f12773652324ac66cdf4774ae6bb6
Reviewed-on: https://webrtc-review.googlesource.com/6881
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20160}
2017-10-05 11:10:38 +00:00
Ilya Nikolaevskiy
586629155c Implement ScreenshareTemporalLayersChecker
Bug: none
Change-Id: Ic95156d0f47d186e2289264aa9a916511a8e4510
Reviewed-on: https://webrtc-review.googlesource.com/4960
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20143}
2017-10-04 14:18:04 +00:00
Niels Moller
d25fa78daf Revert "Make rtc_base/refcount.h self contained, not including refcountedobject.h."
This reverts commit b7239a9dc8.

Reason for revert: Broke chromium mac build, compilation failures on content/renderer/media/webrtc/webrtc_video_frame_adapter.h.

Original change's description:
> Make rtc_base/refcount.h self contained, not including refcountedobject.h.
> 
> The refcount.h file doesn't depend on anything from
> refcountedobject.h. The motivation of this change to make it possible
> to add additional declarations to refcount.h, and include it from
> refcountedobject.h.
> 
> Bug: webrtc:8270
> Change-Id: I24f6131f471e675570968d00065ff9b1f55e3373
> Reviewed-on: https://webrtc-review.googlesource.com/5760
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20106}

TBR=kwiberg@webrtc.org,nisse@webrtc.org

Change-Id: I7334597cc8979ba9cfaff526967084349ef27f3c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8270
Reviewed-on: https://webrtc-review.googlesource.com/5800
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20107}
2017-10-03 09:49:04 +00:00
Niels Möller
b7239a9dc8 Make rtc_base/refcount.h self contained, not including refcountedobject.h.
The refcount.h file doesn't depend on anything from
refcountedobject.h. The motivation of this change to make it possible
to add additional declarations to refcount.h, and include it from
refcountedobject.h.

Bug: webrtc:8270
Change-Id: I24f6131f471e675570968d00065ff9b1f55e3373
Reviewed-on: https://webrtc-review.googlesource.com/5760
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20106}
2017-10-03 09:37:30 +00:00
Magnus Jedvert
849b3aeb71 Move list of supported H264 codecs from InternalEncoderFactory to h264.h
This CL is a clean-up to prepare for adding more supported codecs for the internal H264 SW codec.

Bug: webrtc:8317
Change-Id: If483d05c01c40bbc81cbd1a6aad89961689714ef
Reviewed-on: https://webrtc-review.googlesource.com/4940
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20105}
2017-10-03 09:01:31 +00:00
Ilya Nikolaevskiy
bf35298996 Implement temporal layers checkers for vp8
All frames are checked against hard-coded dependency graph 
using new helper class. It's invoked in RTC_DCHECK(). Only 
DefaultTemporalLayers are fully implemented in this CL, checker 
for ScreenshareLayers is not doing anything for now.

Bug: none
Change-Id: I3ec017176d8c25f7572c8f161e52f2ebfac8220f
Reviewed-on: https://webrtc-review.googlesource.com/3740
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20066}
2017-10-02 09:14:59 +00:00
ssilkin
612f858ba0 Adding test for SingleNalUnit mode
Test enables single-nalu mode, sets limit for nalu lenght and verifies
that encoder follows that limit.
I found that QP jumps significantly when the mode is enabled. In result
encoder might produce 4kbyte and 0.4kbyte frames back-to-back. But it
seems that happens only to couple of frames in the beginning. This
caused test to fail with default RC thresholds. To bypass this I
increased frame size mismatch threshold from 20 to 30%. This should be
Ok considering single-nalu mode is rare.

BUG=webrtc:8070

Review-Url: https://codereview.webrtc.org/3014623002
Cr-Commit-Position: refs/heads/master@{#20023}
2017-09-28 16:23:17 +00:00
Rasmus Brandt
638200e1eb Add support for SW fallback decoder in VideoProcessor.
BUG=none

Change-Id: Ib144b377115a48d26ff053e3b4b43f5260aa9f84
Reviewed-on: https://webrtc-review.googlesource.com/3760
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19999}
2017-09-27 12:51:26 +00:00
asapersson
e19d8bfd5b Modify some rate control and quality thresholds due to flakiness.
BUG=webrtc:8280

Review-Url: https://codereview.webrtc.org/3015683002
Cr-Commit-Position: refs/heads/master@{#19968}
2017-09-26 10:29:49 +00:00
Alex Loiko
dec82abab5 Disable flaky test VideoProcessorIntegrationTestMediaCodec.ForemanCif500kbpsVp8.
Test was Android-only, so it was disabled completely.

TBR=brandtr@webrtc.org

Bug: webrtc:8280
Change-Id: Id45eedac90fb892f5a380e5c2614037e01ee8c76
Reviewed-on: https://webrtc-review.googlesource.com/3460
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19954}
2017-09-25 16:25:03 +00:00
asapersson
55c7eded94 VideoProcessorIntegrationTest: Group member variables into two structs containing target/actual rates.
- Group member variables into two structs: target rates/actual rates.
- Split verify and print of rate control metrics into separate functions.
- Rename member variables.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3009423002
Cr-Commit-Position: refs/heads/master@{#19925}
2017-09-22 10:45:15 +00:00
Mirko Bonadei
7120742701 Adding NOLINT for typedefs.h and common_types.h
Now that we have moved WebRTC from src/webrtc to src/, common_types.h
and typedefs.h are triggering a cpplint error.

The cpplint complaint is:
Include the directory when naming .h files  [build/include] [4]

This CL disables the error but we have to remove these two headers
from the root directory.

NOPRESUBMIT=true

Bug: webrtc:5876
Change-Id: I08e1b69aadcc4b28ab83bf25e3819d135d41d333
Reviewed-on: https://webrtc-review.googlesource.com/1577
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19859}
2017-09-15 13:03:51 +00:00
Mirko Bonadei
92ea95e34a Fixing WebRTC after moving from src/webrtc to src/
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org


Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
2017-09-15 05:02:56 +00:00
Mirko Bonadei
bb547203bf Moving src/webrtc into src/.
In order to eliminate the WebRTC Subtree mirror in Chromium, 
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org

Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19845}
2017-09-15 04:25:06 +00:00
niklase@google.com
5adc73aad3 git-svn-id: http://webrtc.googlecode.com/svn/trunk@166 4adac7df-926f-26a2-2b94-8c16560cd09d 2011-07-07 08:46:41 +00:00
hlundin@google.com
f0a476bf76 Add PictureID and NonReference to codec information
The PictureID and NonReference information is now routed from the
encoder to the RTP packetizer through CodecSpecificInfo and 
RTPVideoHeaderVP8.
Review URL: http://webrtc-codereview.appspot.com/51003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@155 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-07-07 08:04:23 +00:00
hlundin@google.com
6b04739e04 Route CodecSpecificInfo from encoder to packetizer
Making a long chain of interface changes to route a CodecSpecificInfo
struct from the video encoder function to the RTPSenderVideo. This
will be used to convey information needed by the RTP packetizer when
building the RTP headers.
Review URL: http://webrtc-codereview.appspot.com/56001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@140 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-07-01 08:32:57 +00:00
mikhal@google.com
b5427cbd35 Changing JPEG API to to accept rawImage and encodedImage; moved video_image.h from modules/video_coding/codecs to common_video/interface, and some general re-write to JPEG, especially with regard to memory handling. Required VCM/ViE changes are also included.
Review URL: http://webrtc-codereview.appspot.com/55002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@139 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-07-01 01:17:49 +00:00
hlundin@google.com
2f887323a0 Bugfix in VP8 wrapper Decode method
Failed to preserve the size parameter in the keyframe storage.
Review URL: http://webrtc-codereview.appspot.com/48003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@113 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-06-21 14:33:28 +00:00
mikhal@google.com
717c869579 Review URL: http://webrtc-codereview.appspot.com/48001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@107 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-06-20 18:08:43 +00:00
mikhal@google.com
ab0cfe66a9 VP8 wrapper: Adding an IFDEF prior to new interface. This will allow the wrapper to build with the Bali release.
Review URL: http://webrtc-codereview.appspot.com/47001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@99 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-06-20 05:28:08 +00:00
mikhal@google.com
3a321fca39 Updating VP8 wrapper with RC parameters
Review URL: http://webrtc-codereview.appspot.com/44001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@97 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-06-17 19:17:40 +00:00
hlundin@google.com
e01b865616 Implement Copy method for VP8 decoder
Use get/set reference frames to realize a decoder cloning. Must
also inject the latest keyframe. Note: this CL does not work with
the Bali release of libvpx. Must apply the bug fix in commit fbea3728.
Review URL: http://webrtc-codereview.appspot.com/32004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@67 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-06-13 07:02:25 +00:00
mikhal@google.com
fea5f7e30e Review URL: http://webrtc-codereview.appspot.com/34004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@59 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-06-08 16:48:01 +00:00
hlundin@google.com
9e7644c20c Change implementation of Reset function in VP8 wrapper
The Reset function was modified so that the encoder is destroyed
and recreated on reset. Initialization of the encoder and setting
of the encoder speed is now done in a private method, to avoid
code duplication. (It is used both in InitEncode and in Reset.)
This change is needed to make the unit tests pass with newer
versions of libvpx.
Review URL: http://webrtc-codereview.appspot.com/33004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@56 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-06-08 07:02:33 +00:00
leozwang@google.com
0b0c28c495 add android makefile, some modification in vpx makefile to build encoder from c source for now
Review URL: http://webrtc-codereview.appspot.com/29012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@50 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-06-07 17:24:39 +00:00
niklase@google.com
77ae29bc81 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4 4adac7df-926f-26a2-2b94-8c16560cd09d 2011-05-30 11:22:19 +00:00