| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
We no longer need to support shaped desktop, so the corresponding
code can be removed.
Review URL: https://codereview.chromium.org/1827043004
Cr-Commit-Position: refs/heads/master@{#383340}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The move to libvpx_new happened before M47 (landed in 2524, M47 branch was 2526):
crbug.com/481034
https://codereview.chromium.org/1323333002
Clients which try to transition directly between the tree after this change and before the previous move will end up in a very broken state.
Now it is 6 months later and M48 is stable so is unlikely that a client would check out the old code at all, much less try to transition directly between the two versions.
Leave a compatibility layer for targets which need to be updated out of band (webrtc, libyuv)
Review URL: https://codereview.chromium.org/1734613003
Cr-Commit-Position: refs/heads/master@{#378739}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old encoder perf tests (in VideoEncoderVpxTest) were not providing
very realistic results because:
- They were measuring performance on frames with random data.
- They were testing the case when the whole frame is changing every
time.
- They were using real clock, which affects results.
This change implements new tests that provide closer approximation to
how the codec is being used.
CyclicFrameGenerator added in this test will also be used to test
performance of the new WebRTC-based protocol.
Review URL: https://codereview.chromium.org/1601303002
Cr-Commit-Position: refs/heads/master@{#370491}
|
|
|
|
|
|
|
|
|
|
| |
Now there is a presubmit check that doesn't allow Pass() anymore.
See https://www.chromium.org/rvalue-references for information
about std::move in chromium.
Review URL: https://codereview.chromium.org/1545723002
Cr-Commit-Position: refs/heads/master@{#366778}
|
|
|
|
|
|
|
|
|
| |
BUG=138542
TBR=wez@chromium.org
Review URL: https://codereview.chromium.org/1542203002
Cr-Commit-Position: refs/heads/master@{#366684}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously only two delays in CRD hosts were tracked: capture time and
encode time. This CL adds 4 other values that are now measured on the
host, sent to the client and logged to UMA:
- capture_pending_time: time between input event being received and
when the next frame starts capturing.
- capture_overhead_time: extra latency for the capturer caused by IPC
and threading.
- encode_pending_time: delay between capturer and encoder.
- send_pending_time: time encoded packets wait in the send queue.
VideoFramePump is responsible for measuring all latency values sent to
the client except for capture_time_ms which is still measured by the
capturer.
Review URL: https://codereview.chromium.org/1365663003
Cr-Commit-Position: refs/heads/master@{#351504}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Leaves the previous version in place but updates BUILD.gn and libvpx.gn to point to the new version. This allows decoupling the WebRTC update which is also in DEPS.
libvpx DEPS changes ac1772e:0d6551
https://codereview.chromium.org/1339033002
https://chromium-review.googlesource.com/299759
https://codereview.chromium.org/1350853003
https://codereview.chromium.org/1353433003
Copy directory to libvpx_new to avoid breaking bisecting. This allows the user to move between and older and newer revision. A followup to rename libvpx_new to libvpx will come in some ~months because there are additional complications if one tries to sync directly from pre-move to post-rename or the other way around.
Remove WATCHLISTS and codereview.settings from _new and use the parent versions.
Add DEPS file to enumerate the #include paths.
Check out third_party/libvpx_new/source/libvpx directly from upstream project
Update all the easy clients of libvpx to depend on the new tree directly.
https://chromium.googlesource.com/chromium/deps/libvpx/+/ac1772e3db5c885b554f6a72ca9dbac4245cb0e2
BUG=481034
R=tomfinegan@chromium.org,brettw@chromium.org,phajdan.jr@chromium.org
Review URL: https://codereview.chromium.org/1323333002
Cr-Commit-Position: refs/heads/master@{#349789}
|
|
|
|
|
|
|
|
| |
BUG=512899
Review URL: https://codereview.chromium.org/1312463005
Cr-Commit-Position: refs/heads/master@{#348752}
|
|
|
|
|
|
|
|
|
|
| |
libyuv is now used for YUV conversions on both ends.
BUG=256850
Review URL: https://codereview.chromium.org/1290273004
Cr-Commit-Position: refs/heads/master@{#344905}
|
|
|
|
|
|
|
|
|
|
|
| |
Previously VideoDecoder allowed to resize the frames. It's no longer
used anywhere, so the interface can be simplified.
BUG=256850, 486917
Review URL: https://codereview.chromium.org/1301233002
Cr-Commit-Position: refs/heads/master@{#344603}
|
|
|
|
|
|
|
|
|
| |
Initialize() function wasn't really useful in VideoDecoder.
Initialization can be done when decoding the first frame.
Review URL: https://codereview.chromium.org/1298863003
Cr-Commit-Position: refs/heads/master@{#344264}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is not necessary as nothing in codec/ includes from thir_party/speex.
And right now it would not even be possible since third_party/speex was
deleted in
https://chromium.googlesource.com/chromium/src.git/+/f62d4353c0cc229b6327113bd195c522b4b89c21
BUG=513929
R=jamiewalch@chromium.org
Review URL: https://codereview.chromium.org/1254413013
Cr-Commit-Position: refs/heads/master@{#341468}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reduced size of the frames used in the tests to make them faster.
Previously all Video tests in remoting_unittests were taking more than
10 seconds, now thay take less than 4
BUG=514404
Review URL: https://codereview.chromium.org/1264743002
Cr-Commit-Position: refs/heads/master@{#341206}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously hosts supplying a shaped desktop needed to attach the desktop
shape to every frame, wasting bandwidth since the shape changes
relatively infrequently.
This CL updates the VideoRenderer implementations to preserve the shape
(or lack of one) from the preceding frame if the VideoPacket does not
include the use_desktop_shape field.
Also simplifies FrameConsumerProxy to remove the need for ref-counting,
updates NULL->nullptr throughout remoting/codec/, and removes
unnecessary transparency logic from VideoDecoderVpx.
BUG=446288
Review URL: https://codereview.chromium.org/1236663002
Cr-Commit-Position: refs/heads/master@{#339212}
|
|
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1240563002
Cr-Commit-Position: refs/heads/master@{#338701}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the VideoEncoderVpx would pass up to two empty/unchanged
frames to the codec when in lossy-VP9 mode, to allow some quality
top-off even if the desktop is otherwise idle. VideoEncoderVpx now calls
the codec until it reports that no changes were encoded.
This CL also uses a DesktopSize to hold the active-map dimensions.
BUG=134202
Review URL: https://codereview.chromium.org/1213323003
Cr-Commit-Position: refs/heads/master@{#338371}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows VP9/lossy mode to "top-off" previously encoded imagery to
improve visual quality at the client, by continuing to deliver data even
when nothing has actually changed on the host desktop.
This CL makes several other minor changes:
- Fix the host's --enable-i444 flag, which was broken by refactoring.
- Tweak VP9/lossy mode to more conservative quantization settings.
- Tweak VP9/lossy mode to encode up to two unchanged frames for top-off.
- Update VideoEncoderVerbatim for the new VideoFramePump semantics.
- Update the VideoFrameRecorder & FakeDesktopCapturer.
- Adds simple codec & VideoFramePump unit-tests for the new behaviour.
BUG=134202
Review URL: https://codereview.chromium.org/1150163002
Cr-Commit-Position: refs/heads/master@{#333764}
|
|
|
|
|
|
|
|
|
|
|
| |
Cyclic refresh allows the encoder to update already coded sections of
the image at a higher quality.
BUG=134202
Review URL: https://codereview.chromium.org/1092813003
Cr-Commit-Position: refs/heads/master@{#330265}
|
|
|
|
|
|
|
|
|
|
| |
CBR is required for cyclic refresh.
BUG=134202
Review URL: https://codereview.chromium.org/1079593004
Cr-Commit-Position: refs/heads/master@{#326881}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to make sure a newly allocated buffer is always filled. The
behavioral changes are that the buffer is no longer reallocated (and
unfilled) on a switch to lossless encode (Q=0) and not unfilled when
switching colorspaces (e.g. I420 to I444).
BUG=
Review URL: https://codereview.chromium.org/1048103004
Cr-Commit-Position: refs/heads/master@{#324749}
|
|
|
|
|
|
|
|
|
|
| |
All our toolchains support c++'s static_assert now- COMPILE_ASSERT can be removed now.
BUG=442514
Review URL: https://codereview.chromium.org/1045823003
Cr-Commit-Position: refs/heads/master@{#322824}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/977663004/)
Reason for revert:
Breaks linux valgrind,
needs libvpx side fixes and roll, http://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20Tests%20%28valgrind%29%283%29/builds/44420
Original issue's description:
> Use tiles when encoding with VP9.
>
> VP9's tile encoding feature allows for multithreaded parallelism on both the
> encoder and decoder side.
>
> TEST=Run remoting_perftests under VTune and see that two logical CPUs are used
> BUG=134202
>
> Committed: https://crrev.com/e67fefbf4f5a5a83ca8d487f422b09664dc4c8fe
> Cr-Commit-Position: refs/heads/master@{#319167}
TBR=wez@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=134202
Review URL: https://codereview.chromium.org/978133002
Cr-Commit-Position: refs/heads/master@{#319185}
|
|
|
|
|
|
|
|
|
|
|
|
| |
VP9's tile encoding feature allows for multithreaded parallelism on both the
encoder and decoder side.
TEST=Run remoting_perftests under VTune and see that two logical CPUs are used
BUG=134202
Review URL: https://codereview.chromium.org/977663004
Cr-Commit-Position: refs/heads/master@{#319167}
|
|
|
|
|
|
|
|
|
| |
Reland of https://codereview.chromium.org/961323004
TBR=dpranke
Review URL: https://codereview.chromium.org/969173002
Cr-Commit-Position: refs/heads/master@{#319080}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/961323004/)
Reason for revert:
broke windows GN builds as seen in
http://build.chromium.org/p/chromium.win/builders/Win8%20GN/builds/5206/steps/compile/logs/stdio
Original issue's description:
> Add remoting and PPAPI tests to GN build
>
> Reland of https://codereview.chromium.org/965633002/
>
> TBR=dpranke
>
> Committed: https://crrev.com/66c53eef76f7dff97b1bc76d51740c3a9c07844f
> Cr-Commit-Position: refs/heads/master@{#318756}
TBR=dpranke@chromium.org,brettw@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/968243004
Cr-Commit-Position: refs/heads/master@{#318772}
|
|
|
|
|
|
|
|
|
|
| |
Reland of https://codereview.chromium.org/965633002/
TBR=dpranke
Review URL: https://codereview.chromium.org/961323004
Cr-Commit-Position: refs/heads/master@{#318756}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/965633002/)
Reason for revert:
http://build.chromium.org/p/chromium.mac/buildstatus?builder=Mac%20GN&number=4498
ERROR at //remoting/host/BUILD.gn:56:7: Item not found
"linux/x_server_clipboard.cc",
^----------------------------
You were trying to remove "linux/x_server_clipboard.cc"
Original issue's description:
> Add remoting and PPAPI tests to GN build
>
> BUG=
>
> Committed: https://crrev.com/d0437210926b14b1b7e06b2b56174fc92ade9c37
> Cr-Commit-Position: refs/heads/master@{#318539}
TBR=kelvinp@chromium.org,dpranke@chromium.org,brettw@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/970443002
Cr-Commit-Position: refs/heads/master@{#318545}
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://codereview.chromium.org/965633002
Cr-Commit-Position: refs/heads/master@{#318539}
|
|
|
|
|
|
|
|
|
|
|
| |
Previously AudioPump would buffer infinite amount of audio data even
when the network is congested. With this changed the amount of data
it can buffer is limited to 5kB and it starts dropping packets after
that.
Review URL: https://codereview.chromium.org/914133003
Cr-Commit-Position: refs/heads/master@{#316669}
|
|
|
|
|
|
|
|
|
|
|
|
| |
libvpx/VP8 currently allows resizing upward but will crash on codec
teardown in that case; these tests ensure we don't regress when we
remove the workarounds in VideoEncoderVpx.
BUG=134202
Review URL: https://codereview.chromium.org/866533004
Cr-Commit-Position: refs/heads/master@{#313741}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pixels around a changed pixel may be affected because of filters applied
by libvpx to reduce block edge artefacts. Our use of active map resulted
in these side-effects being missed from the active map and updated
region, and thereby (ironically) introduced edge artefacts.
BUG=448265
Review URL: https://codereview.chromium.org/869133004
Cr-Commit-Position: refs/heads/master@{#312984}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the VPX encoder would re-create the codec every time the
frame dimensions or (for VP9) the lossless encoding or color settings
changes. This results in significant overhead, both in re-initializing
host-side resources, as well as in forcing a potentially unnecessary
key-frame transmission.
Reconfiguring rather than recreating the codec defers the decision of
when to dispatch expensive keyframes to the codec, allowing it to e.g.
optimize transitions from lossless to lossy encode.
BUG=427659,260879,134202
Review URL: https://codereview.chromium.org/846113006
Cr-Commit-Position: refs/heads/master@{#312251}
|
|
|
|
|
|
|
|
|
|
| |
This is required to avoid encoding artefacts.
BUG=448265
Review URL: https://codereview.chromium.org/851483005
Cr-Commit-Position: refs/heads/master@{#311583}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Covers jingle/, media/, ppapi/, remoting/, rlz/, skia/, and sync/.
BUG=422426
TEST=none
TBR=ben@chromium.org
Review URL: https://codereview.chromium.org/819203002
Cr-Commit-Position: refs/heads/master@{#309502}
|
|
|
|
|
|
|
|
|
|
| |
This allows VP9 to apply e.g. motion-vector heuristics tailored to common desktop UX updates such as scroll and window-dragging.
BUG=260879
Review URL: https://codereview.chromium.org/799223002
Cr-Commit-Position: refs/heads/master@{#308521}
|
|
|
|
|
|
|
|
|
|
| |
This works around crbug.com/440223.
BUG=440493
Review URL: https://codereview.chromium.org/787973002
Cr-Commit-Position: refs/heads/master@{#307557}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the most recent update to the encoder and the settings in remoting,
the test is generating smaller lossless files than lossy. This is because
the test requires min/max-q of 20/30 for the lossy encode.
BUG=439166
R=wez
Review URL: https://codereview.chromium.org/782603003
Cr-Commit-Position: refs/heads/master@{#306967}
|
|
|
|
|
|
|
|
|
|
| |
The transport layer is reliable and sequential, so a keyframe in the middle of the stream will never be necessary. Disabling keyframes gives us smoother performance for the common case where the screen isn't changing much between frames.
BUG=435300
Review URL: https://codereview.chromium.org/750483002
Cr-Commit-Position: refs/heads/master@{#305304}
|
|
|
|
|
|
|
|
| |
BUG=260879
Review URL: https://codereview.chromium.org/678073007
Cr-Commit-Position: refs/heads/master@{#301503}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch was automatically generated by applying clang fixit hints
generated by the plugin to the source tree.
BUG=417463
TBR=jamiewalch@chromium.org
Review URL: https://codereview.chromium.org/667123002
Cr-Commit-Position: refs/heads/master@{#300472}
|
|
|
|
|
|
|
|
| |
BUG=417463
Review URL: https://codereview.chromium.org/628753002
Cr-Commit-Position: refs/heads/master@{#298734}
|
|
|
|
|
|
|
|
| |
Also minor code cleanup in daemon_installer_win.cc .
Review URL: https://codereview.chromium.org/608343002
Cr-Commit-Position: refs/heads/master@{#297583}
|
|
|
|
|
|
|
|
|
| |
- Use nullptr to initialize null scoped_ptr().
- use Pass(), PassAs() is no longer required.
Review URL: https://codereview.chromium.org/609923004
Cr-Commit-Position: refs/heads/master@{#297236}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libvpx roll:
https://codereview.chromium.org/592203002
re-instate image compatibility:
https://codereview.chromium.org/588403002
Use new VP9E_SET_NOISE_SENSITIVITY introduced in:
https://gerrit.chromium.org/gerrit/gitweb?p=webm%2Flibvpx.git;a=commit;h=bb1a23656c63097a4b250ac484b14051f09df9b5
NOTRY=true
R=tomfinegan@chromium.org
Review URL: https://codereview.chromium.org/595653003
Cr-Commit-Position: refs/heads/master@{#296285}
|
|
|
|
|
|
|
|
|
|
| |
This avoids duplication of common VideoPacket initialization across
multiple encoders, making addition of new fields (e.g. the recently
added shape field) more robust.
Review URL: https://codereview.chromium.org/530243002
Cr-Commit-Position: refs/heads/master@{#293064}
|
|
|
|
|
|
|
|
|
|
| |
Lossy encoding is now reliable enough to be enabled by default when running with VP9.
BUG=260879
Review URL: https://codereview.chromium.org/421793003
Cr-Commit-Position: refs/heads/master@{#292680}
|
|
|
|
|
|
|
|
| |
BUG=260879
Review URL: https://codereview.chromium.org/349223007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@280753 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
VP9's CPUUSED settings go to 6, but 5 appears to provide the best
balance of quality vs performance right now.
BUG=260879
Review URL: https://codereview.chromium.org/354943003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@280498 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
- Rename tests from VideoEncoderVp8Test to VideoEncoderVpxTest.
- Update tests to use CreateTestFrame().
- Update tests to mark whole frame as "updated" for encoding.
Review URL: https://codereview.chromium.org/307963003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273991 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Lossless encode/color requests may be ignored by codecs.
- VideoEncoderVpx supports lossless color when using VP9.
- The --enable-i444 flag now controls the default color mode for VP9.
BUG=260879,134202
Review URL: https://codereview.chromium.org/304653002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273752 0039d316-1c4b-4281-b951-d872f2087c98
|