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
e155dbeae9
VP8/9EncoderImpl::Encode: Check resolution of input I420VideoFrame
...
This CL adds checks in Encode to guard against memory reads out of bounds.
R=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46429008
Cr-Commit-Position: refs/heads/master@{#8750}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8750 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 12:27:40 +00:00
73d763e71f
Add I420 buffer pool to avoid unnecessary allocations
...
Now when we don't use SwapFrame consistently anymore, we need to recycle allocations with a buffer pool instead. This CL adds a buffer pool class, and updates the vp8 decoder to use it. If this CL lands successfully I will update the other video producers as well.
BUG=1128
R=stefan@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41189004
Cr-Commit-Position: refs/heads/master@{#8748}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8748 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 11:41: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
93d9d6503e
I420VideoFrame.CreateFrame: Removed unnecessary buffer size arguments.
...
R=magjed@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45629004
Cr-Commit-Position: refs/heads/master@{#8732}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8732 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 13:26:41 +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
6daacbc8ae
Set cpu_speed parameter for low resolutions, for non-simulcast.
...
Allow for setting different cpu_speed setting based on resolution, for non-simulcast.
Use the existing low resolution simulcast cpu_speed setting for the non-simulcast case.
No change to simulcast behavior, unless top/highest layer stream is also below CIF resolution,
(in which case all layers will use lower the cpu_speed setting =-4).
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/37319004
Cr-Commit-Position: refs/heads/master@{#8603}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8603 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 21:47:18 +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
9115cde6c9
Merge VP8 changes.
...
R=stefan@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/35389004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7841 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 10:36:40 +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
94ff92ceec
Use VPX_IMG_FMT_*/VPX_PLANE_* defines
...
The compatibility layer has been removed upstream:
https://gerrit.chromium.org/gerrit/gitweb?p=webm%2Flibvpx.git;a=commit;h=9cdaa3d72eade9ad162ef8f78a93bd8f85c6de10
BUG=webrtc:3839
R=marpan@google.com , marpan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22729004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7279 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-23 17:31:47 +00:00
a0d7827b16
Add ability to downscale content to improve quality.
...
BUG=3712
R=marpan@google.com , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/18169004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7164 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-12 11:51:47 +00:00
9c09e6ee2b
Add high perf mode to VP8
...
R=marpan@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14709004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6470 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 16:32:08 +00:00
6c75c98964
Propagate capture ntp timestamp from rtp to renderer.
...
Mostly the interface changes, the real implementation of ntp timestamp will come in a follow up cl.
TEST=new tests and try bots
BUG=3111
R=niklas.enbom@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11469004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5911 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-15 17:46:33 +00:00
1faef7d084
Use codec width/height as the encoded_image width/height.
...
The raw_->w and raw_->h which are the stored image width/height may not be the encoded image size in the case when the incoming frame has a odd size.
R=marpan@google.com , marpan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10289004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5739 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 17:00:46 +00:00
7f52a6ef2b
Split the implementation of VP8Encoder|Decoder::Create into a seperated file
...
(vp8_factory.cc).
R=fischman@webrtc.org , marpan@google.com , marpan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8589004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5606 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-24 23:56:39 +00:00
5500d93fe5
Add temporal layer factory.
...
R=marpan@google.com , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2180004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4691 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 11:26:15 +00:00
b2c28c3699
Relanding 4597 - Don't force key frame when decoding with errors.
...
Makes sure that incomplete key frame or delta frames will be released from the JB when decoding with errors.
The decoder in turn will trigger a PLI until a complete key frame is received in order to start a session.
TBR=stefan@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/2097004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4607 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-23 21:54:50 +00:00
ceea41d135
Revert 4597 "Don't force key frame when decoding with errors"
...
> Don't force key frame when decoding with errors
>
> BUG=2241
> R=stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/2036004
TBR=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2093004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4600 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-23 00:53:24 +00:00
44af55cc44
Don't force key frame when decoding with errors
...
BUG=2241
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2036004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4597 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-22 23:29:43 +00:00
d2102afa2a
Undo libvpx include changes in r4348 to fix build.
...
A longer term fix is needed, but this at least quickly unblocks the build.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1816005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4367 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-17 18:48:24 +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
d7148c86c5
Use 3 threads for higher than 720p resolutions
...
BUG=1893
TEST=untested
R=ajm@google.com , andrew@webrtc.org , dingkai@google.com , marpan@google.com , marpan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1684004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4243 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-18 22:06:42 +00:00
b3e5acfb66
Cleanup traces in WebRTC
...
Remove some unused traces and add a trace counter for encoded video size.
R=holmer@google.com , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1476004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4050 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 21:13:02 +00:00
1e3c794688
Use 2 threads for HD, or 1 for VGA or less.
...
BUG=1739
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1438005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3996 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-09 18:43:38 +00:00
d25b602dc0
VP8: Avoid copying the codec struct on Reset().
...
BUG=
Review URL: https://webrtc-codereview.appspot.com/1319013
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3887 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-23 13:08:04 +00:00
48c5882f2a
Remove libvpx pre-processor conditions and conditional compile of default temporal layers files.
...
R=stefan@webrtc.org ,marpan@webrtc.org
BUG=201
Review URL: https://webrtc-codereview.appspot.com/1323005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3864 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-17 15:31:40 +00:00
557e92515d
Reapply the reverted r3747.
...
https://code.google.com/p/webrtc/source/detail?r=3747
r3747 timed-out on a tsan test. Verified that it passes
the test and reduced the execution time of that test (r3782).
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1292006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3807 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 21:21:32 +00:00
806dc3b0e6
More trace events
...
The goal of this change is to unify tracing events styles
and add trace events for all RTP traffic.
BUG=1555
Review URL: https://webrtc-codereview.appspot.com/1290007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3806 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 19:54:10 +00:00
cfc07c943f
Revert of r3747.
...
TBR=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1277005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3752 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-02 14:55:44 +00:00
747c4cc96e
For VGA (640x360), currently 1 thread is used. This change increases it to 2 threads. For HD, 4 threads are enabled.
...
BUG=none
TEST=run a hangout and screencast high framerate, high resolution windows of youtube. Observe that 1 cpu is insufficient to maintain high framerate with complex content.
Review URL: https://webrtc-codereview.appspot.com/1203006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3747 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-01 22:16:45 +00:00
84cd8e39cf
Disable frame dropper for screenshare mode.
...
BUG=1466
Review URL: https://webrtc-codereview.appspot.com/1170004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3629 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-07 13:12:32 +00:00
eb91792cfd
Refactoring temporal layers implementation and adding VideoCodecMode for easier control of codec settings.
...
Review URL: https://webrtc-codereview.appspot.com/1105007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3528 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-18 14:40:18 +00:00
3d305c64b4
Updates to send side streaming mode:
...
1. Disabling frame-droppers from the vie encoder and not the channel.
2. Accounting for qpMax in the VP8 wrapper.
Review URL: https://webrtc-codereview.appspot.com/1101007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3492 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-10 18:42:55 +00:00
e07c661a29
VP8: Making key frame interval a tunnable parameter
...
Review URL: https://webrtc-codereview.appspot.com/1070006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3444 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 16:37:13 +00:00
f222a00881
Use TRACE_EVENT to track time spent in VP8 encoding
...
Using the TRACE_EVENT macro to log VP8 encoding events.
Review URL: https://webrtc-codereview.appspot.com/968011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3264 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-11 22:27:55 +00:00
fc4a7ee807
Fixes chromium build bots.
...
BUG=N/A
Review URL: https://webrtc-codereview.appspot.com/971014
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3213 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-30 16:17:44 +00:00
662651ac95
Disable denoise filter for Arm, as it is not optimized enough yet.
...
BUG=https://code.google.com/p/chrome-os-partner/issues/detail?id=16318
TEST=none
Review URL: https://webrtc-codereview.appspot.com/968008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3195 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 09:01:21 +00:00
c09e779766
Allow for 1 layer case to be set in temporal_layers.
...
Review URL: https://webrtc-codereview.appspot.com/971007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3188 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 22:06:21 +00:00
8049608226
VP8 wrapper: updating raw image allocation.
...
As we set the pointers to the data, there is no need to allocate that memory.
Review URL: https://webrtc-codereview.appspot.com/964021
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3175 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-27 17:06:10 +00:00
3263a7a616
Setting correct stride for VP8 encoder
...
BUG=1137
Review URL: https://webrtc-codereview.appspot.com/929024
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3140 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-21 00:15:19 +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