106 Commits

Author SHA1 Message Date
marpan@webrtc.org
26762e3e40 Allow for spatial-downsampling without reinitializaing encoder. Change of frame
size will automatically trigger new key frame in codec. This feature is set off
in video engine until we upgrade to a newer version of libvpx.
Review URL: https://webrtc-codereview.appspot.com/427003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1827 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-03-02 16:48:36 +00:00
stefan@webrtc.org
1bb1da4c30 Enable MFQE if we are recieving temporal layers.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1769 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-27 13:52:34 +00:00
marpan@webrtc.org
79a99de8e4 Reverting 1680: valgrind memory leak reported.
TBR=marpan
Review URL: https://webrtc-codereview.appspot.com/392011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1686 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-14 22:37:10 +00:00
marpan@webrtc.org
4e34dcbd62 Allow for spatial-downsampling without reinitializaing encoder. Change of frame size will automatically trigger new key frame in codec. This feature is set off in vie_encoder until we upgrade to the new libvpx.
Also reset frame rate estimate in mediaOpt when frame rate reduction is decided.
Review URL: https://webrtc-codereview.appspot.com/390006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1680 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-14 17:26:24 +00:00
pwestin@webrtc.org
c76c096c19 Bugfix issue 273, workaround for compiler issue.
Review URL: https://webrtc-codereview.appspot.com/392005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1675 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-13 09:56:57 +00:00
pwestin@webrtc.org
52fd98d876 Removing encoder reset. Function did not make sence.
Review URL: https://webrtc-codereview.appspot.com/391005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1674 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-13 09:03:53 +00:00
kjellander@webrtc.org
cf6a295b13 Making video codecs test framework integration test execute in a reproducable fashion.
Fixed reproducable random behavior in packet_manipulator.h.
Test is now fully reproducable (runs on only one core) so much tighter limits are now set for the SSIM/PSNR values for the encoding/decoding (verified on all platforms)

BUG=
TEST=out/Debug/video_codecs_test_framework_integrationtests in Debug+Release on Linux, Mac, Windows and in Linux Valgrind.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1649 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-09 09:01:51 +00:00
kjellander@webrtc.org
1970b2fcb3 Fixing uninitialized codec settings struct in test.
BUG=
TEST=video_codecs_test_framework_unittests passing in Debug+Release on Linux, Mac and Windows.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1632 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-08 07:09:32 +00:00
phoglund@webrtc.org
78088c2f36 Removed warnings on Windows and enabled warnings-as-errors on Windows.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1624 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-07 14:56:45 +00:00
wu@webrtc.org
50099af75f Disable flaky test VideoProcessorIntegrationTest.Process5PercentPacketLoss.
BUG=262
TBR=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/379014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1614 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-06 22:50:48 +00:00
pwestin@webrtc.org
fdf21c8c55 Removed dead version code.
Review URL: https://webrtc-codereview.appspot.com/377003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1594 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-02 12:46:58 +00:00
pwestin@webrtc.org
4ea57e5e26 Changed VP8 to follow the style guide a little bit more.
Review URL: https://webrtc-codereview.appspot.com/379003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1593 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-02 12:21:47 +00:00
leozwang@webrtc.org
f9cd693145 Enable vp8 and videoengine on android
Review URL: https://webrtc-codereview.appspot.com/368003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1510 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-23 16:56:13 +00:00
marpan@webrtc.org
20cd06123c For TL(temporal layers) = 2, the alt-ref frame should not be used as a reference.
Correction for the last frame in the cycle.
Review URL: https://webrtc-codereview.appspot.com/343015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1479 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 18:25:23 +00:00
henrik.lundin@webrtc.org
dcdb744eee Remove an old comment in vp8 wrapper
The operation that the comment describes was removed in r482.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1470 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 13:06:43 +00:00
stefan@webrtc.org
8e50693736 Fixes for code analysis warnings.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1467 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 12:30:21 +00:00
pwestin@webrtc.org
5621057956 Removing unused code.
Review URL: https://webrtc-codereview.appspot.com/349008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1442 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-17 12:45:47 +00:00
pwestin@webrtc.org
9cbe6867e7 Removed experiment.
Review URL: http://webrtc-codereview.appspot.com/345005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1413 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-12 15:35:28 +00:00
kjellander@webrtc.org
cc33737a80 Changing all PSNR/SSIM calculations to use libyuv.
Removed old PSNR/SSIM implementations in:
* test/testsupport/metrics/video_metrics.cc
* src/modules/video_coding/codecs/test_framework/test.cc
The functions in video_metrics.cc is now using code in libyuv instead. Old code in test.cc is using the same functions.
The code for video_metrics.h had to be moved into a separate GYP file to avoid circular dependency error on Mac (see issue 160 for more details). The reason for this is that libyuv's unittest target depends on test_support_main.

BUG=
TEST=metrics_unittests in Debug+Release on Linux, Mac and Windows.

Review URL: http://webrtc-codereview.appspot.com/333025

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1325 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-04 08:09:32 +00:00
kjellander@webrtc.org
a643d5c4ef Integration test for videoprocessor
Added temporal layers number flag for video_quality_measurement tool.
This tool now also uses webrtc::VideoCodingModule::Codec() to get its
VideoCodec struct configuration instead of filling it in manually.

Updated paths for header files to use full directory paths.

Tested in Debug+Release on Linux, Mac and Windows. Passes Valgrind memcheck on Linux.

BUG=
TEST=video_codecs_test_framework_integrationtests. Also executed out/Debug/video_quality_measurement --input_filename=resources/foreman_cif.yuv  --width=352 --height=288

Review URL: http://webrtc-codereview.appspot.com/339001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1310 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-30 14:44:07 +00:00
stefan@webrtc.org
efd0a48c61 Add error resilient mode options to the VP8 specific VideoCodec struct.
It is useful to disable error resilience when we know we won't decode
with errors.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/329015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1305 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-29 10:12:35 +00:00
henrik.lundin@webrtc.org
4a19030131 New VCM robustness API
This CL defines and starts to implement a new robustness API for
video coding module. The API is partly implemented. Some of the
modes and methods are still TBD.

Also including a new unittest with mocking of decoder and callbacks,
and faking of system clock.

Review URL: http://webrtc-codereview.appspot.com/333006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1276 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-21 20:38:37 +00:00
stefan@webrtc.org
8c5d24266e Fix VP8 layer 2 sync dependencies.
BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/333010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1259 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-21 08:56:04 +00:00
stefan@webrtc.org
62fdc42e9c Fix build issue with clang.
BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/330009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1244 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-20 09:27:09 +00:00
mikhal@webrtc.org
0e7d9d862a Adding layer info consideration when applying FEC protection. In this first version, we hard code protection zero for non-base layer frames. As a future enhancement, an array should be passed from mediaOpt to set the protection per layer. A TODO was added in MediaOpt.
Review URL: http://webrtc-codereview.appspot.com/330005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1238 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-19 19:04:49 +00:00
stefan@webrtc.org
b33f9dccd6 Correction to how the VP8 wrapper generates picture ids.
BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/329006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1229 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-19 10:24:02 +00:00
leozwang@webrtc.org
0c839fe873 Add new source file to makefile
Review URL: http://webrtc-codereview.appspot.com/322015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1209 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-15 19:10:24 +00:00
pwestin@webrtc.org
9fe3d51372 Set the new layer sync bit in the VP8 info struct.
Review URL: http://webrtc-codereview.appspot.com/324010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1185 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 15:13:04 +00:00
stefan@webrtc.org
0c40d3315f Fixes an assert triggered in jitter_buffer_test and disables deblocking.
When deblocking is enabled the first frames can include uninitialized
memory. Disabling for now.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/320010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1181 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 09:39:30 +00:00
henrik.lundin@webrtc.org
eda86dc76b Adding a LayerSync bit to VP8 RTP header
Updated RtpFormatVp8, ModuleRTPUtility, VP8Encoder and VP8Decoder
to support a new LayerSync ("Y") bit. Note, in VP8Encoder the bit
must be used together with a non-negative value for temporalIdx.
Fixing the plumbing between RTP module and and from VP8 wrapper.
Updating unit tests; all pass.

The new bit is yet to be used by the VP8 wrapper.

Review URL: http://webrtc-codereview.appspot.com/323008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1169 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 14:11:06 +00:00
stefan@webrtc.org
1480f02faf Fix VCM test build warnings on Mac with clang.
BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/318008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1160 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-12 13:45:59 +00:00
mikhal@webrtc.org
2ab104e6be Switching WebRtc to LibYuv.
General Notes:
1. In general, API structure was not modified and is based on VPLIB. 
2. Modification to API: Return values are based on libyuv, i.e. 0 if ok, a negative value in case of an error (instead of length). 
3. All scaling (inteprolation) is now done via the scale interface. Crop/Pad is not being used.
4. VPLIB was completely removed. All tests are now part of the libyuv unit test (significantly more comprehensive and based on gtest).   
5. JPEG is yet to be implemented in LibYuv and therefore existing implementation remains.
Review URL: http://webrtc-codereview.appspot.com/258001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1140 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-09 02:46:22 +00:00
kjellander@webrtc.org
7de6e10410 Fixing compilation error on Linux 64-bit
Problem was introduced in http://webrtc-codereview.appspot.com/311001/ because I had projects generated with Valgrind configuration, which is more forgiving about these implicit conversions.

BUG=
TEST=Compiling in Debug+Release on Linux, Mac and Windows.

Review URL: http://webrtc-codereview.appspot.com/318002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1127 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-08 08:39:13 +00:00
kjellander@webrtc.org
5b97b1216f Splitted FileHandler into FrameReader and FrameWriter classes and moved them to testsupport in test.gyp.
Fixed unit tests so they don't use ASSERT_DEATH since that doesn't work with Valgrind.

Fixed all Valgrind warnings except the one caused by CriticalSectionWrapper in system_wrappers.

Reworked all includes and GYP include paths to use full directory paths.

Removed util.h for logging, since it rendered warnings in Valgrind because of gflags. Replaced it with a verbose flag and a new function in video_quality_measurement.cc

BUG=
TEST=Passed test_support_unittests and video_codecs_test_framework_unittests on Linux, Mac and Windows.

Review URL: http://webrtc-codereview.appspot.com/311001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1126 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-08 07:42:18 +00:00
stefan@webrtc.org
58927e8d8f Disable deblocking temporarily due to Valgrind warnings.
Also corrects the copying of the decoded image data for frames
with odd width or height.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/307002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1116 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-07 08:13:31 +00:00
stefan@webrtc.org
c7e2bffb66 Fix header/lib mismatch caused by a constant not defined for header file.
BUG=http://code.google.com/p/webrtc/issues/detail?id=170
TEST=

Review URL: http://webrtc-codereview.appspot.com/300008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1110 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-06 13:44:25 +00:00
stefan@webrtc.org
0ae71b9ccb Disable temporal layers when building with Chromium.
BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/301010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1099 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-05 08:42:52 +00:00
pwestin@webrtc.org
db221d2b81 Fixes to temporal layers, Henrika please review src/common_types.h
Review URL: http://webrtc-codereview.appspot.com/286001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1091 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-02 11:31:08 +00:00
stefan@webrtc.org
9cb2b56b65 Corrected a fread verification.
BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/301006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1088 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-02 10:22:29 +00:00
stefan@webrtc.org
772d70bcd2 Fix release build error.
BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/304005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1083 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-02 09:18:49 +00:00
stefan@webrtc.org
a4a88f90c4 Implemented NACK based reference picture selection.
This CL implements NACK based reference picture selection for VP8. A separate
class is used for keeping track of the references and managing the VP8 encode
flags. Appropriate tests have also been added.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/284002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1082 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-02 08:34:05 +00:00
kjellander@webrtc.org
5f4f69ac57 Removing sleeps from vp8_test.
These sleeps were remains from earlier tests that required them to work with some codecs. Removing these sleep calls cut the execution time from 90s to 30s on my machine.

Review URL: http://webrtc-codereview.appspot.com/304004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1077 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 15:50:04 +00:00
kjellander@webrtc.org
4c4b7f500f Converting vp8_test to use fileutils and gtest
Review URL: http://webrtc-codereview.appspot.com/289012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1074 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 15:24:36 +00:00
stefan@webrtc.org
0c2adf0b75 Fix bug introduced when enabling VP8 frame dropping.
Also fixes two unit test mismatches.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/299002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1061 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 14:41:58 +00:00
marpan@webrtc.org
d1b7932adf VP8: Setting non-zero (conservative) threshold for frame dropper.
Review URL: http://webrtc-codereview.appspot.com/291001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1040 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-28 19:20:31 +00:00
stefan@webrtc.org
0ee8ba1929 Remove WebRTC dependency on libvpx_lib and libvpx_include.
Removes dependencies on libvpx_lib and libvpx_include targets when
building with Chromium.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/293004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1026 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-25 12:12:43 +00:00
henrik.lundin@webrtc.org
859626570a VP8 RTP work
Fixing the plumbing to get the KEYIDX between VP8 wrapper and
rtp_rtcp module. Also fixing a missing pipe for temporalIdx

Review URL: http://webrtc-codereview.appspot.com/295004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1024 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-25 10:17:00 +00:00
kjellander@webrtc.org
543c3eaa46 Fixing Release compilation errors
Review URL: http://webrtc-codereview.appspot.com/267026

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1000 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 12:20:35 +00:00
marpan@webrtc.org
3caa327af0 VP8 wrapper: Turn on some mild amount of deblocking in post-processing.
Review URL: http://webrtc-codereview.appspot.com/268015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@982 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-19 01:08:09 +00:00
kjellander@webrtc.org
cd7b57ef9e Fixing release compilation error
Review URL: http://webrtc-codereview.appspot.com/279007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@968 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-17 14:26:21 +00:00