History log of /external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cce46fc108a70336f0477fd58d41f38e547eeb25 21-Dec-2015 philipel <philipel@webrtc.org> Lint fix for webrtc/modules/video_coding PART 1!

Trying to submit all changes at once proved impossible since there were
too many changes in too many files. The changes to PRESUBMIT.py
will be uploaded in the last CL.
(original CL: https://codereview.webrtc.org/1528503003/)

BUG=webrtc:5309
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11100}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
b7d9a97ce41022e984348efb5f28bf6dd6c6b779 18-Dec-2015 Peter Boström <pbos@webrtc.org> Expose codec implementation names in stats.

Used to distinguish between software/hardware encoders/decoders and
other implementation differences. Useful for tracking quality
regressions related to specific implementations.

BUG=webrtc:4897
R=hta@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11084}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
2557b86e7648ffebc5781df9f093ca5a84efc219 18-Nov-2015 Henrik Kjellander <kjellander@google.com> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
d9eec762ce8bdc90bd18a387cacae8cab90440f1 17-Nov-2015 pbos <pbos@webrtc.org> Trace encoding/decoding time in a generic way.

Removes VP8::Encode trace in favor of VCMGenericEncoder ones and adds
one to InitEncode. Also adds an instant event to ::Encoded since this
can be done on a different thread.

Also adds the corresponding traces to VCMGenericDecoder.

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

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

Cr-Commit-Position: refs/heads/master@{#10674}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
ff761fba8274d93bd73e76c8b8a1f2d0776dd840 04-Nov-2015 Henrik Kjellander <kjellander@webrtc.org> modules: more interface -> include renames

This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface

To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
"use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)

BUG=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 -m tryserver.webrtc

R=stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10500}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
98f53510b222f71fdd8b799b2f33737ceeb28c61 28-Oct-2015 Henrik Kjellander <kjellander@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
49e196af4060624d620297a6bc017699daa33550 23-Oct-2015 Peter Boström <pbos@webrtc.org> Remove VideoFrameType aliases for FrameType.

No longer used in Chromium, so these can now be removed.

BUG=webrtc:5042
R=mflodman@webrtc.org
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10390}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
e4f96501fc5b3e6de0d1ccd262372afcda1f5b4f 21-Oct-2015 tommi <tommi@webrtc.org> Remove system_wrappers/interface/trace_event.h

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10346}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
da535c405597864b8396b2029dec70ab9fb76e8b 20-Oct-2015 asapersson <asapersson@webrtc.org> Add histogram for percentage of sent frames that are limited in resolution due to bandwidth:
- "WebRTC.Video.BandwidthLimitedResolutionInPercent"

If the frame is bandwidth limited, the average number of disabled resolutions is logged:
- "WebRTC.Video.BandwidthLimitedResolutionsDisabled"

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10333}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
22993e1a0c114122fc1b9de0fc74d4096ec868bd 19-Oct-2015 pbos <pbos@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
4306fc70d778887d8a2ea71b6f4bc6a12d1d9447 19-Oct-2015 asapersson <asapersson@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
5d0379da2cbdcce6f8494209c7ab559cd6de076e 06-Oct-2015 Peter Boström <pbos@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
fb30c1b5d1effcc82a96fdf40814a03baf0727bf 01-Oct-2015 sprang <sprang@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
17417707428816ffb88d9c71dcc8a5d492cf9fdf 25-Sep-2015 Peter Boström <pbos@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
91d6edef35e7275879c30ce16ecb8b6dc73c6e4a 17-Sep-2015 henrikg <henrikg@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
110443c1ec40b764db81a6b9679885aec3e4a218 07-Sep-2015 Asa Persson <asapersson@chromium.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
ef35f069e739feaae16fdfcc815d7af5cb05e9ae 27-Jul-2015 pbos <pbos@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
6e2ce6e1ae41d8eeb0f233cbd26087daa03ab702 14-Jul-2015 jackychen <jackychen@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
2c4c9148191a10c0e82c9a209d454c6b1ebbaf20 24-Jun-2015 Erik Språng <sprang@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
6a688f5265040c64e49dd16244ca5bac03327453 22-Jun-2015 Peter Boström <pbos@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
1b9add9df9cdab004a11e75900a341a346ce2049 08-Jun-2015 Peter Boström <pbos@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
4765070b8d6f024509c717c04d9b708750666927 30-May-2015 Miguel Casas-Sanchez <mcasas@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
e87d48719f8478148fc6ec28c3b3663709d585a4 26-May-2015 Stefan Holmer <stefan@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
98d8cf58ee8c7c7b0672ce7955313a31824d6f3a 21-May-2015 jackychen <jackychen@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
b302ad4eab114eb76c3d4531bd92ae8a4e454761 21-May-2015 Peter Boström <pbos@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
143cec1cc68b9ba44f3ef4467f1422704f2395f0 28-Apr-2015 Erik Språng <sprang@google.com> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
61b4d518af7c2e4156056931d3512a49032b827d 22-Apr-2015 jackychen <jackychen@webrtc.org> 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}
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
a3209a2b27b7bf2059f8119a126a1b1be9f0377f 20-Mar-2015 pbos@webrtc.org <pbos@webrtc.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
e155dbeae972f788b8766b4d0d2cefde2e952a10 17-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
73d763e71f5c77cac82aa65d737e64d893f190a0 17-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
2056ee3e3c7683ae4b2c4b12da99c3105c4f46a9 16-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
93d9d6503e2bf2526af2b1c2cc46ef242b9843aa 16-Mar-2015 hbos@webrtc.org <hbos@webrtc.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
2dc5fa69b2baef2ece158c9e1285516087faaa53 16-Mar-2015 hbos@webrtc.org <hbos@webrtc.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
6daacbc8aea2e3e14a320b28502c4dc1db21d175 04-Mar-2015 marpan@webrtc.org <marpan@webrtc.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
16825b1a828bb4ff40f7682040e43a239b7b8ca3 12-Jan-2015 pkasting@chromium.org <pkasting@chromium.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
9115cde6c9c8f5d749b349d7d10a570e4cb32803 09-Dec-2014 pbos@webrtc.org <pbos@webrtc.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
4591fbd09f9cb6e83433c49a12dd8524c2806502 20-Nov-2014 pkasting@chromium.org <pkasting@chromium.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
94ff92ceec7a2fe3e1d0e244a06e71e7dcc28256 23-Sep-2014 johannkoenig@google.com <johannkoenig@google.com> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
a0d7827b1631fa8e2cf8957a76736ab159cb962a 12-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
9c09e6ee2bc8af49af649a9ab107eb2201d47272 17-Jun-2014 niklas.enbom@webrtc.org <niklas.enbom@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
6c75c989648018a1537bb29d41fbcb730b143c15 15-Apr-2014 wu@webrtc.org <wu@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
1faef7d0843b386d070e2840565e774f251a6b71 20-Mar-2014 wu@webrtc.org <wu@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
7f52a6ef2b5579f05e6d66a77f4dba8c1c0e8985 25-Feb-2014 wu@webrtc.org <wu@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
5500d93fe55702af0b254e5718fcc085298c99ab 06-Sep-2013 andresp@webrtc.org <andresp@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
b2c28c3699f701e2e3e51ea1d361a2f66cf5f4e2 23-Aug-2013 mikhal@webrtc.org <mikhal@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
ceea41d135d320e185b36957f30b6fe352af4fbf 23-Aug-2013 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
44af55cc44bf8764cd6912dae0c8398cddcb1b1d 23-Aug-2013 mikhal@webrtc.org <mikhal@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
d2102afa2a8c61aec350edff0351fe9261284543 17-Jul-2013 tnakamura@webrtc.org <tnakamura@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
a4407329d4e16eab3d2e87cde0824188c06acb5a 16-Jul-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
d7148c86c5b020f4add340e68185335f761743fd 19-Jun-2013 fbarchard@google.com <fbarchard@google.com@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
b3e5acfb663c43a34825ffda205bde29ee2aa468 16-May-2013 hclam@chromium.org <hclam@chromium.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
1e3c7946880fa9435b3dfcace56a347f0b502711 09-May-2013 fbarchard@google.com <fbarchard@google.com@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
d25b602dc0e70282e1f0223e5909534fa81053f0 23-Apr-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
48c5882f2a3da8c81c26eb47378c0fcea0d81046 17-Apr-2013 andresp@webrtc.org <andresp@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
557e92515d56b2e5d8f354921e8b037349518ac2 09-Apr-2013 marpan@webrtc.org <marpan@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
806dc3b0e62ec68f594e9aadab601b2db7e6c6d5 09-Apr-2013 hclam@chromium.org <hclam@chromium.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
cfc07c943f4657be3cb55c59e6bb06bf38c0809d 02-Apr-2013 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
747c4cc96e66aee42069f4c33fd2a11ce8bcaca1 02-Apr-2013 fbarchard@google.com <fbarchard@google.com@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
84cd8e39cf2a998248daa16cae7b7713f79da0d8 07-Mar-2013 stefan@webrtc.org <stefan@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
eb91792cfd98a76192a855365bb785c0f581b94b 18-Feb-2013 stefan@webrtc.org <stefan@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
3d305c64b47a55ce728fb9675118ce5841a52080 10-Feb-2013 mikhal@webrtc.org <mikhal@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
e07c661a29058aac858f99c5d0701a52969dfbe4 31-Jan-2013 mikhal@webrtc.org <mikhal@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
f222a0088149f5904c2bcb2c7440c003fb04c1f1 11-Dec-2012 hclam@chromium.org <hclam@chromium.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
fc4a7ee8079736923daf0cce6407dec41ce545c6 30-Nov-2012 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
662651ac958ccc785c638f7bcf44e08f11eb95a8 29-Nov-2012 fbarchard@google.com <fbarchard@google.com@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
c09e779766957e5fa2fdd288d060718137fee0ea 28-Nov-2012 marpan@webrtc.org <marpan@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
8049608226193aafcb48e946b6e9bfce87ab7aaf 27-Nov-2012 mikhal@webrtc.org <mikhal@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
3263a7a61610c9029ef9bcec6dddf50fcacd1c27 21-Nov-2012 mikhal@webrtc.org <mikhal@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
9fedff7c17a8d3dc46ed5b3207220f59a22391d6 24-Oct-2012 mikhal@webrtc.org <mikhal@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
14b43beb7ce4440b30dcea31196de5b4a529cb6b 22-Oct-2012 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc