ad113e50d2
Fix bug in calculation of averge queue time in paced sender.
...
Also work around a flaw in fake encoder which caused bogus perf
regression in rampup tests.
BUG=560434
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1474533006 .
Cr-Commit-Position: refs/heads/master@{#10811}
2015-11-26 15:26:25 +00:00
2557b86e76
modules/video_coding refactorings
...
The main purpose was the interface-> include rename, but other files
were also moved, eliminating the "main" dir.
To avoid breaking downstream, the "interface" directories were copied
into a new "video_coding/include" dir. The old headers got pragma
warnings added about deprecation (a very short deprecation since I plan
to remove them as soon downstream is updated).
Other files also moved:
video_coding/main/source -> video_coding
video_coding/main/test -> video_coding/test
BUG=webrtc:5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
R=stefan@webrtc.org , tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1417283007 .
Cr-Commit-Position: refs/heads/master@{#10694}
2015-11-18 21:00:33 +00:00
98f53510b2
system_wrappers: rename interface -> include
...
BUG=webrtc:5095
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1413333002 .
Cr-Commit-Position: refs/heads/master@{#10438}
2015-10-28 17:17:50 +00:00
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
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
d89920b74a
Add resolution and fps stats to histograms:
...
- "WebRTC.Video.InputWidthInPixels"
- "WebRTC.Video.InputHeightInPixels"
- "WebRTC.Video.SentWidthInPixels"
- "WebRTC.Video.SentHeightInPixels"
- "WebRTC.Video.ReceivedWidthInPixels"
- "WebRTC.Video.ReceivedHeightInPixels"
- "WebRTC.Video.RenderFramesPerSecond"
BUG=chromium:512752
Review URL: https://codereview.webrtc.org/1228393008
Cr-Commit-Position: refs/heads/master@{#9611}
2015-07-22 13:52:03 +00:00
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
e69220ca84
Fix the value of the first byte of nal unit
...
generated by fake H.264 encoder.
BUG=
R=kjellander@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/38849004
Cr-Commit-Position: refs/heads/master@{#8253}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8253 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 17:56:44 +00:00
16825b1a82
Use int64_t more consistently for times, in particular for RTT values.
...
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t. Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.
BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org , holmer@google.com , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31349004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +00:00
273a414b0e
Report encoded frame size in VideoSendStream.
...
Implements reporting transmitted frame size in WebRtcVideoEngine2.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=4033
Review URL: https://webrtc-codereview.appspot.com/33399004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7772 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-01 15:23:21 +00:00
4591fbd09f
Use size_t more consistently for packet/payload lengths.
...
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.
This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.
BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom
Review URL: https://webrtc-codereview.appspot.com/23129004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
049e4ece30
Change default values for CpuOveruseOptions.
...
Enabled method based on encode time and modified values for the low (60->55) and high threshold (90->85).
Moved DelayedEncoder to fake_encoder.h and added configuration for the delay.
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/30969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7722 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 10:19:46 +00:00
0bae1fab4a
Wire up bandwidth stats to the new API and webrtcvideoengine2.
...
Adds stats to verify bandwidth and pacer stats.
BUG=1788
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/24969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7634 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 14:05:29 +00:00
ab990ae43a
Revert 7151 "Revert 7114 "Expose VideoEncoders with webrtc/video_encoder.h.""
...
Re-lands r7114 after landing r7204 to adress the compile error causing
the rollback in r7151.
BUG=3070
TBR=henrikg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/28489004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7207 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 09:02:25 +00:00
307d3dbdee
Revert 7114 "Expose VideoEncoders with webrtc/video_encoder.h."
...
Speculative revert, seems to be reason for flaky Win FYI bot compile break.
> Expose VideoEncoders with webrtc/video_encoder.h.
>
> Exposes VideoEncoders as part of the public API and provides a factory
> method for creating them.
>
> BUG=3070
> R=mflodman@webrtc.org , stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/21929004
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19329004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7151 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-11 09:48:30 +00:00
b420191743
Expose VideoEncoders with webrtc/video_encoder.h.
...
Exposes VideoEncoders as part of the public API and provides a factory
method for creating them.
BUG=3070
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21929004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7114 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-09 10:40:56 +00:00
79c3359e67
Add end-to-end H.264 packetization test.
...
Also correctly wires up H.264 packetization in the new Call api.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20079004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6835 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-06 09:24:53 +00:00
f577ae9eac
Remove internal codecs from VideoSendStream.
...
Replaces VideoCodec in VideoSendStream::Config with an EncoderSettings
struct. The EncoderSettings struct uses an external encoder for all
codecs. This means that external users, such as libjingle, will provide
the encoders themselves, removing the previous distinction of internal
and external codecs.
For now VideoSendStream translates to VideoCodec internally. In the
interrim (before the corresponding change is implemented in
VideoReceiveStream) tests convert EncoderSettings to VideoCodecs.
Removes Call::GetVideoCodecs().
Disables RampUpTest.WithPacingAndRtx as its further exposed with changes
to bitrates used in tests.
BUG=2854,2992
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5722 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 08:43:57 +00:00
3349ae0cdc
Implement minimum transmit bitrate.
...
Utilizing minimum transmission bitrate prevents low remote bitrate
estimates (bitrate estimation dips) when encoding non-complex content
such as screenshare of a static image even though there's nothing wrong
with the link.
Requires pacing to be enabled for now, pending issue 3036.
BUG=3014
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9719004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5694 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 12:52:27 +00:00
4070935f4f
Implement and test EncodedImageCallback in new ViE API.
...
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4059004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5179 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-26 11:41:59 +00:00
69969e2e2f
Improve Call tests for RTX.
...
Also does some refactoring to reuse RtpRtcpObserver.
BUG=1811
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3809004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5126 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-15 12:32:15 +00:00
16e03b7bd8
Separate Call API/build files from video_engine/.
...
BUG=2535
R=andrew@webrtc.org , mflodman@webrtc.org , niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2659004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5042 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 16:32:01 +00:00