Commit Graph

40 Commits

Author SHA1 Message Date
724947b8ef Add SwapFrame() to VideoSendStreamInput.
Optionally prevents doing a frame copy when putting frames into a
VideoSendStream. PutFrame() is still there, which copies the frame.

Also removes time_since_capture_ms as a parameter, since
I420VideoFrame::render_time_ms() denotes when the frame was captured.

BUG=2657
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/5119004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5265 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 16:26:16 +00:00
f9bdbe3619 Roll chromium_revision 232627:238260
This brings us the updated swarming_client
that has moved out from Chromium into a standalone
project.
Because of this, all .isolate files needed to be
updated as well, similar to the changes in
https://codereview.chromium.org/29993003

TEST=trybots passing
BUG=none
R=andrew@webrtc.org, perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4859004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5260 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 13:37:12 +00:00
5dd2ecb32d Revert "Remove extra copy in VideoCaptureImpl::IncomingFrameI420"
This reverts commit f4ca3808bd9ec2293ec205f2f4a7d9739ce1f2df.

TBR=niklas.emblom@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/3269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5071 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 23:41:04 +00:00
74e6e8458e Remove extra copy in VideoCaptureImpl::IncomingFrameI420
Add support for aliasing a I420VideoFrame (and internally, a Plane) to an
existing memory buffer without taking ownership.  Use this to remove an extra
copy in VideoCaptureImpl::IncomingFrameI420.

BUG=1128
BUG=chromium:310271
TEST=local build, run Chromium on ARM, build, run Chromium/unittests on Linux
TBR=fischman@webrtc.org, mflodman@webrtc.org, mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3239005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5070 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 21:48:16 +00:00
d705649edf Revert "Remove extra copy in VideoCaptureImpl::IncomingFrameI420"
This reverts commit 99f9743fe39066ba93b41f2b0a417696cbbd06fb.

Revert while build breakage is fixed.

BUG=None
TBR=niklas.emblom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3249004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5069 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 21:20:15 +00:00
1a4ed0d70c Remove extra copy in VideoCaptureImpl::IncomingFrameI420
Add support for aliasing a I420VideoFrame (and internally, a Plane) to an
existing memory buffer without taking ownership.  Use this to remove an extra
copy in VideoCaptureImpl::IncomingFrameI420.

BUG=1128
TEST=local build, run Chromium on ARM, build, run Chromium/unittests on Linux
R=fischman@webrtc.org, mflodman@webrtc.org, mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3179004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5068 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 20:32:28 +00:00
b44c2a3193 Open file in binary in CreateFromYuvFile().
BUG=
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2399005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4969 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 08:46:06 +00:00
266c7b330a Move ChromaGenerator to common_video/.
BUG=
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2394004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4964 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-15 09:15:47 +00:00
3f9288f987 Add APK and isolate target for video_engine_tests
Add .isolate file and _run target for video_engine_tests.

Move tools/swarm_client to be untracked in all .isolate file,
so refactorings in swarm_client doesn't require us updating
all our .isolate files (similar to the changes for the
Chromium tests done in:
https://src.chromium.org/viewvc/chrome?view=rev&revision=218844)

Update modules_unittests.isolate with new NetEq4 reference files
needed.

TEST=trybots passing
I also setup a Chromium workspace where I patched third_party/webrtc
with the changes in this CL, followed by compiling with the settings
described in
https://code.google.com/p/webrtc/issues/detail?id=1882#c11
I then verified that the video_engine_tests_apk dir was created
in the output folder.
BUG=1916,2462
R=andrew@webrtc.org, henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2344007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4925 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-04 18:20:38 +00:00
2a97317953 Fix include of isolate.gypi
Recent changes in GYP seem to have broken our previous
"hack" for getting the GYP rule for .isolate files
imported from the Chromium build/isolate.gypi.

The best solution for now is to remove the hack
and check in a copy of Chromium's src/build/isolate.gypi
in WebRTC's build/ dir instead. A similar approach is
used for our build/protoc.gypi file.

TEST=On Linux, I successfully ran:
gclient runhooks
ninja -C out/Release
and verified a bunch of .isolated files were created in
out/Release (which didn't happen before this patch).

I also renamed the build/isolate.gypi from Chromium to
ensure that our own is used and not that one (in case any
paths would be incorrect).

I also ran build/gyp_chromium in a Chromium checkout
with WebRTC in third_party/webrtc having this patch applied
to ensure GYP processing was still working.

Finally, I verified that the same project generation and
compilation from a Chromium checkout worked the way we build
our Android native tests, using:
. build/android/envsetup.sh
GYP_DEFINES="$GYP_DEFINES include_tests=1 enable_tracing=1" gclient runhooks
ninja -C out/Release android_builder_webrtc

BUG=1916
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2338004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4907 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02 19:31:16 +00:00
ab6549562b Refactor frame generation code so it can be used by multiple modules.
R=pbos@webrtc.org, stefan@webrtc.org, pbos, stefan
BUG=

Review URL: https://webrtc-codereview.appspot.com/2240004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4791 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-19 12:14:03 +00:00
635b2b88e4 Removing some TODO's from libyuv
BUG=1996
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2146004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4668 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 20:06:18 +00:00
cf61bee5a2 Removing JPEG as it is not used.
BUG= 2322
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2138005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4646 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-30 16:00:08 +00:00
e141373b8a Add isolate configuration for Android for all tests.
In https://code.google.com/p/webrtc/source/detail?r=4407
henrike@ added the path to the WebRTC resources and
data directories for Android that are required in order to
use isolate for test execution on Android.

This CL adds similar entries to the rest of the .isolate
files added in
https://code.google.com/p/webrtc/source/detail?r=4590.

It also removes three accidentally added .isolate files that originated
from old test names:
* audio_device_test_api
* video_capture_module_test
* video_render_module_test

BUG=1882,1916
TEST=trybots passing.
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2107004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4627 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-27 12:10:09 +00:00
3365422c41 Isolate GYP target and .isolate files for tests
This is a re-land attempt of http://review.webrtc.org/1673004/
It now includes a build/isolate.gypi in WebRTC that includes the same
file as the one that would be included when WebRTC is used in a Chromium
checkout. It is needed since it is not possible to use variables in GYP's
includes sections.

Implemented according to the instructions at
http://www.chromium.org/developers/testing/isolated-testing

Workflow has been like this:
1. create _run GYP target
2. create a stripped down .isolate file
3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check"
4. runhooks
5. compile
6. test if the test would run (i.e. find it's dependencies) without
   actually executing it:
   tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated
7. If failing, run the fix_test_cases.py script like this:
   tools/swarm_client/googletest/fix_test_cases.py --isolated out/Release/testname.isolated

All tests that run on the bots for WebRTC has got _run target
and .isolate file created.

"Normal tests" that run fine on any machine:
* audio_decoder_unittests
* common_audio_unittests
* common_video_unittests
* metrics_unittests
* modules_tests
* modules_unittests
* neteq_unittests
* system_wrappers_unittests
* test_support_unittests
* tools_unittests
* video_engine_core_unittests
* voice_engine_unittests

Tests that requires bare-metal and audio/video devices:
* audio_device_tests
* video_capture_tests

I also added the isolate boilerplate code for the following
tests that are not yet pure gtest binaries (which means they
cannot run isolated yet):
* video_render_tests
* vie_auto_test
* voe_auto_test

TEST=running isolate.py as described above. WebRTC trybots passing. Created a Chromium checkout with third_party/webrtc ToT and this patch applied, passing the runhooks step.
BUG=1916
R=henrike@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2056004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4590 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-22 07:57:00 +00:00
4298f73031 Revert 4547 "Isolate GYP target and .isolate files for tests"
As this breaks the FYI bots in 
http://build.chromium.org/p/chromium.webrtc.fyi/waterfall
due to different path to isolate.gypi (which cannot easily
be resolved due to limitations in GYP)

> Isolate GYP target and .isolate files for tests
> 
> Implemented according to the instructions at
> http://www.chromium.org/developers/testing/isolated-testing
> 
> Workflow has been like this:
> 1. create _run GYP target
> 2. create a stripped down .isolate file
> 3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check"
> 4. runhooks
> 5. compile
> 6. test if the test would run (i.e. find it's dependencies) without
>    actually executing it:
>    tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated
> 7. If failing, run the fix_test_cases.py script like this:
>    tools/swarm_client/fix_test_cases.py --isolated out/Release/testname.isolated
> 
> All tests that run on the bots for WebRTC has got _run target
> and .isolate file created.
> 
> "Normal tests" that run fine on any machine:
> * audio_decoder_unittests
> * common_audio_unittests
> * common_video_unittests
> * metrics_unittests
> * modules_integrationtests
> * modules_unittests
> * neteq_unittests
> * system_wrappers_unittests
> * test_support_unittests
> * tools_unittests
> * video_engine_core_unittests
> * voice_engine_unittests
> 
> Tests that requires bare-metal and audio/video devices:
> * audio_device_integrationtests
> * video_capture_integrationtests
> 
> I also added the isolate boilerplate code for the following
> tests that are not yet pure gtest binaries (which means they
> cannot run isolated yet):
> * video_render_integrationtests
> * vie_auto_test
> * voe_auto_test
> 
> TEST=running isolate.py as described above.
> BUG=1916
> R=tommi@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/1673004

TBR=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2040004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4548 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 11:29:58 +00:00
d7a4d235d2 Isolate GYP target and .isolate files for tests
Implemented according to the instructions at
http://www.chromium.org/developers/testing/isolated-testing

Workflow has been like this:
1. create _run GYP target
2. create a stripped down .isolate file
3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check"
4. runhooks
5. compile
6. test if the test would run (i.e. find it's dependencies) without
   actually executing it:
   tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated
7. If failing, run the fix_test_cases.py script like this:
   tools/swarm_client/fix_test_cases.py --isolated out/Release/testname.isolated

All tests that run on the bots for WebRTC has got _run target
and .isolate file created.

"Normal tests" that run fine on any machine:
* audio_decoder_unittests
* common_audio_unittests
* common_video_unittests
* metrics_unittests
* modules_integrationtests
* modules_unittests
* neteq_unittests
* system_wrappers_unittests
* test_support_unittests
* tools_unittests
* video_engine_core_unittests
* voice_engine_unittests

Tests that requires bare-metal and audio/video devices:
* audio_device_integrationtests
* video_capture_integrationtests

I also added the isolate boilerplate code for the following
tests that are not yet pure gtest binaries (which means they
cannot run isolated yet):
* video_render_integrationtests
* vie_auto_test
* voe_auto_test

TEST=running isolate.py as described above.
BUG=1916
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1673004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4547 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 10:02:06 +00:00
e1051b0731 Add native_handle.h to gyp.
BUG=http://crbug.com/170345
TEST=Build all.
R=stefan@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2009004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4538 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-13 05:53:38 +00:00
9dba525627 * Update libjingle to 50389769.
* Together with "Add texture support for i420 video frame." from
wuchengli@chromium.org.
https://webrtc-codereview.appspot.com/1413004

RISK=P1
TESTED=try bots
R=fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1967004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4489 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 20:36:57 +00:00
12dc1a38ca Switch C++-style C headers with their C equivalents.
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.

BUG=1833
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1917004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
89c674053e Adds all unittests to android NDK-APK framework.
BUG=N/A
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1872004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4474 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 16:53:47 +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
b2d29bd2fe Restore relative include paths to libyuv.
Required in order to use an externally compiled libyuv. Removed
in https://code.google.com/p/webrtc/source/detail?r=4167

TBR=tnakamura

Review URL: https://webrtc-codereview.appspot.com/1611005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4180 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 23:53:48 +00:00
c69ae69d0b Include files from webrtc/.. paths in common_video/
BUG=1662
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1546004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4167 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 09:02:37 +00:00
e5794cbc8e Recalibrate point sample expectation
BUG=none
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1512004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4068 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 18:17:44 +00:00
6bee05a4aa Remove const for plain data types in common_video/
BUG=1644
R=holmer@google.com, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1464004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4028 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 14:27:15 +00:00
fd2bfc8fca WebRtc_Word32 -> int32_t in common_video.
BUG=314

Review URL: https://webrtc-codereview.appspot.com/1300004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3798 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 13:36:08 +00:00
fa53d8717c Fixing/disabling Windows x64 warnings
Disabled MSVC #4267 warnings in common.gypi to enable x64 builds
for Windows.
Fixed MSVC #4267 warnings in test/testsupport.
Added third_party/directxsdk to .gitignore.

With http://review.webrtc.org/1070008 landed, this should make it possible
to build for x64 on Windows.

BUG=1348
TEST=Compiling with http://review.webrtc.org/1070008 applied:
set GYP_DEFINES="target_arch=x64"
set GYP_GENERATORS=ninja
gclient sync
ninja -C out\Debug_x64

Review URL: https://webrtc-codereview.appspot.com/1060008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3464 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-04 10:07:17 +00:00
63e0964039 Fix webrtc compilation errors for Chrome Win64
Mostly disabling warnings in the gyp files.

BUG=1348
BUG=http://crbug.com/166496
BUG=http://crbug.com/167187

Review URL: https://webrtc-codereview.appspot.com/1063011
Patch from Justin Schuh <jschuh@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3423 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-29 06:45:22 +00:00
e239bf0940 Making I420VideoFrame ref-counted
BUG=937
TEST=trybots

Review URL: https://webrtc-codereview.appspot.com/1009004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3312 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-19 00:07:57 +00:00
5b689efe8e Will now only require near-perfect PSNR and SSIM.
BUG=
TEST=Ran test and checked we accept somewhat lower values.

Committed: https://code.google.com/p/webrtc/source/detail?r=3269

Review URL: https://webrtc-codereview.appspot.com/964031

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3278 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 10:15:06 +00:00
d8aeb30d55 Revert 3269
> Will now only require near-perfect PSNR and SSIM.
> 
> BUG=
> TEST=Ran test and checked we accept somewhat lower values.
> 
> Review URL: https://webrtc-codereview.appspot.com/964031

TBR=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/989004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3270 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-12 20:58:32 +00:00
735a6cec96 Will now only require near-perfect PSNR and SSIM.
BUG=
TEST=Ran test and checked we accept somewhat lower values.

Review URL: https://webrtc-codereview.appspot.com/964031

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3269 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-12 15:20:34 +00:00
273ccad59d Fixed standard PSNR/SSIM test.
BUG=1103

Review URL: https://webrtc-codereview.appspot.com/971005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3197 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 10:08:16 +00:00
32b3f40b6c Adding an aligned stride test to LibYuv
Review URL: https://webrtc-codereview.appspot.com/935020

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3139 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-20 23:52:50 +00:00
737ed3bfa5 libyuv wrapper: 1. Updating rotation settings - in case of 90 or 270 degree rotations, width and height should be updated accordingly. 2. Test clean-up.
TEST=trybots

Review URL: https://webrtc-codereview.appspot.com/936008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3039 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-01 15:45:38 +00:00
91a0340a61 Adding stride alignment
TEST= common_video_unittests and video_capture_module_test

BUG=985

Review URL: https://webrtc-codereview.appspot.com/965005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3023 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-30 19:19:32 +00:00
e08adf0957 fix print out in mirror test
Review URL: https://webrtc-codereview.appspot.com/928010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3008 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-26 22:58:58 +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