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
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
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
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
2056ee3e3c
Revert "Changed argument occurences of const I420VideoFrame* to const I420VideoFrame& and non-const I420VideoFrame& to I420VideoFrame*."
...
This reverts commit r8731.
Reason for revert: Breakes Chromium FYI bots.
TBR=hbos, tommi
Review URL: https://webrtc-codereview.appspot.com/40359004
Cr-Commit-Position: refs/heads/master@{#8733}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8733 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 13:48:18 +00:00
2dc5fa69b2
Changed argument occurences of const I420VideoFrame* to const I420VideoFrame& and non-const I420VideoFrame& to I420VideoFrame*.
...
R=magjed@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/40299004
Cr-Commit-Position: refs/heads/master@{#8731}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8731 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 13:02:19 +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
5b88317820
Add VP9 codec to VCM and vie_auto_test.
...
Include VP9 tests in videoprocessor_integrationtests.
Include end-to-end send/receiveVP9 test.
This is the same patch as https://code.google.com/p/webrtc/source/detail?r=7422 , which was reverted when rolled into chrome (due to bss size increase). Relanding this again as we now have the clear to get this in:
see https://code.google.com/p/webrtc/issues/detail?id=3932
R=kjellander@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31829004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7588 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-01 06:10:48 +00:00
776e6f289c
Use external VideoDecoders in VideoReceiveStream.
...
Removes direct VideoCodec use from the new API, exposes VideoDecoders
through webrtc/video_decoder.h similar to VideoEncoders.
Also includes some preparation for wiring up external decoders in
WebRtcVideoEngine2 by adding AllocatedDecoders that specify whether they
were allocated internally or externally.
Additionally addresses a data race in VideoReceiver that was exposed with this change.
R=mflodman@webrtc.org , stefan@webrtc.org
TBR=pthatcher@webrtc.org
BUG=2854,1667
Review URL: https://webrtc-codereview.appspot.com/27829004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7560 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 15:28:39 +00:00
b1dac33cac
Revert cls (original cl + fixes) 7422-7424 "Add VP9 codec to VCM..."
...
BUG=3932
R=marpan@google.com
Review URL: https://webrtc-codereview.appspot.com/27779004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7470 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 18:54:46 +00:00
573c78e31c
Add VP9 codec to VCM and vie_auto_test.
...
Include VP9 tests in videoprocessor_integrationtests.
Include end-to-end send/receiveVP9 test.
Passes trybots.
R=kjellander@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29449004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7422 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-10 16:44:47 +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
2ec560606b
Add H.264 packetization.
...
This also includes:
- Creating new packetizer and depacketizer interfaces.
- Moved VP8 packetization was H264 packetization and depacketization to these interfaces. This is a work in progress and should be continued to get this 100% generic. This also required changing the return type for RtpFormatVp8::NextPacket(), which now returns bool instead of the index of the first partition.
- Created a Create() factory method for packetizers and depacketizers.
R=niklas.enbom@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21009004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6804 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-31 14:59:24 +00:00
0181b5f8dd
ExternalVideoDecoder for new VideoEngine API.
...
Implements the ExternalVideoDecoder interface for VideoReceiveStream.
Also adds a FakeDecoder used in tests, removing the overhead of running
the EngineTest tests with VP8 under Memcheck/TSan, allowing us to enable
them under Memcheck/TSan as well.
BUG=2346,2312
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2172004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4702 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 08:26:30 +00:00
a4407329d4
Include files from webrtc/.. paths in video_coding/.
...
BUG=1662
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1783006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4348 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 12:32:05 +00:00
d900e8bea8
Proper spacing for end-of-namespace comments.
...
BUG=
R=mflodman@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1760006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
034f004a4f
WebRtc_Word32 => int32_t in video_coding/
...
BUG=314
Review URL: https://webrtc-codereview.appspot.com/1203008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3778 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-08 11:13:29 +00:00
7473f89f63
Revert "Internal clean up: removing unused include line."
...
(reverting https://webrtc-codereview.appspot.com/1177004 )
BUG=none
Review URL: https://webrtc-codereview.appspot.com/1181005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3655 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-12 01:43:00 +00:00
25316b2a09
Internal clean up: removing unused include line.
...
BUG=none
TESTED=passed try server
Review URL: https://webrtc-codereview.appspot.com/1177004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3654 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-12 01:10:02 +00:00
9fedff7c17
Switching to I420VideoFrame
...
Review URL: https://webrtc-codereview.appspot.com/922004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2983 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-24 18:33:04 +00:00
14b43beb7c
Move src/ -> webrtc/
...
TBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/915006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00