Commit Graph

257 Commits

Author SHA1 Message Date
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
stefan@webrtc.org
8ddf9a4e18 Ported more jitter buffer tests to unit tests.
BUG=
TEST=jitter_buffer_unittest

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1433 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-16 11:59:01 +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
stefan@webrtc.org
ad4af57abd Fixes a jitter buffer NACK bug.
If no frame has been decoded the jitter buffer might generate huge
erroneous NACK lists.

Adds a couple of new jitter buffer unittests (some ported from
jitter_buffer_test.cc).

Adds a test to the VCM robustness tests.

BUG=226
TEST=VCMRobustnessTest, TestJitterBufferFull, TestNackListFull, TestNackBeforeDecode, TestNormalOperation

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1412 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-12 15:16:49 +00:00
stefan@webrtc.org
cd8cea50a6 Fix decode error in NACK/FEC mode after network glitch.
Caused when recyclingframes until the next key frame to
regain frame buffers when the jitter buffer is full.

BUG=http://code.google.com/p/webrtc/issues/detail?id=225
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1390 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-11 14:17:44 +00:00
stefan@webrtc.org
b07aa403b3 Fixes issue 210. Removes diff between two different arrays.
Also fixes the FrameBuffer copy constructor.

BUG=210
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1364 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-10 11:45:05 +00:00
marpan@webrtc.org
2dad3fbe49 Media-opt: Added a filter type mode for the filtering of the received packet loss. This makes the filter selection explicit and easier to modify/test.
Removed the function UpdateLossPr(); the filter updates are done in the same function that returns the filtered loss.
Review URL: http://webrtc-codereview.appspot.com/333018

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1361 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-09 18:18:36 +00:00
pwestin@webrtc.org
c450a19669 Removed Version function from all modules.
TBR=henrik_a
Review URL: http://webrtc-codereview.appspot.com/329023

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1330 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-04 15:00:12 +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
mikhal@webrtc.org
cd64886a2f video_coding: Updating NACK functions naming
Review URL: http://webrtc-codereview.appspot.com/329018

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1322 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-03 23:59:42 +00:00
mikhal@webrtc.org
77c425b976 video_coding: Checking/updating seq num for an old packet regardless of size.
Review URL: http://webrtc-codereview.appspot.com/330028

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1318 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-03 20:35:25 +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
mikhal@webrtc.org
62665b8cd3 video_coding: Adding a unit test to the decodableState class
Review URL: http://webrtc-codereview.appspot.com/315001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1309 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-29 18:09:58 +00:00
mikhal@webrtc.org
9eeafbef3c Updating the frame buffer return value in InsertPacket: Return NoError when a packet is inserted to a frame which is being decoded.
Review URL: http://webrtc-codereview.appspot.com/330027

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1308 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-29 17:38:56 +00:00
mikhal@webrtc.org
bed34a341a video_coding: Updating seq number for old zero size packets. Updating function name to reflect zero size packets and not empty packets.
Review URL: http://webrtc-codereview.appspot.com/333009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1307 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-29 17:37:39 +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
stefan@webrtc.org
39670f6aa6 Only reset the last decoded sequence number after flushing until key frame.
We can't reset the complete last decoded state when we recycle until a
key frame because that will allow any delta frame to be decoded afterwards,
and since the decoder isn't reset we will get decode errors.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1295 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-23 09:08:51 +00:00
stefan@webrtc.org
f5edb923b1 Remove unused variable.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1279 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-22 08:34:31 +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
henrik.lundin@webrtc.org
7d8c72e2db Re-implement dependency injection of TickTime into VCM and tests
This change basicly re-enables the change of r1220, which was
reverted in r1235 due to Clang issues.

The difference from r1220 is that the TickTimeInterface was
renamed to TickTimeClass, and no longer inherits from TickTime.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1267 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-21 15:24:01 +00:00
stefan@webrtc.org
898f881e32 Make sure the next frame to be decoded is cleaned up if it's empty.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1261 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-21 09:13:14 +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
mikhal@webrtc.org
61045a4a03 video_coding/jitter_buffer: Account for layer info when searching for the next frame
Review URL: http://webrtc-codereview.appspot.com/328003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1256 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-20 23:24:19 +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
stefan@webrtc.org
8dc9e4760e Fixes for selective NACKing.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1243 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-20 09:12:50 +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
mikhal@webrtc.org
190e88a6d3 video_coding: When in hybrid mode, don't NACK non-base layer packets
Review URL: http://webrtc-codereview.appspot.com/334002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1237 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-19 18:57:14 +00:00
mikhal@webrtc.org
884d8e7f4b video_coding: Updating sync state based on the layer flag
Review URL: http://webrtc-codereview.appspot.com/333004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1236 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-19 18:53:05 +00:00
henrik.lundin@webrtc.org
303158588b Revert "Inject TickTimeInterface into VCM and tests"
This CL reverts r1220.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1235 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-19 17:55:45 +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
henrik.lundin@webrtc.org
e7d8c56c56 Fix for dual decoder in VCM receiver
In VCMReceiver::FrameForDecoding, one of the if-cases could sometimes
extract an incomplete frame without first copying the state to the
dual decoder.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1221 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-16 15:40:52 +00:00
henrik.lundin@webrtc.org
a70f945086 Inject TickTimeInterface into VCM and tests
The purpose of this change is to introduce dependency injection
of the timer into the video coding module.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1220 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-16 14:40:05 +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
henrik.lundin@webrtc.org
0a10e3c4b2 Fix order of include and guard in tick_time_interface.h
Review URL: http://webrtc-codereview.appspot.com/331002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1207 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-15 16:08:36 +00:00
henrik.lundin@webrtc.org
c74b2861f3 Fix the include in fake_tick_timer_interface.h
The include was in error.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1204 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-15 11:28:31 +00:00
leozwang@webrtc.org
9aa9f44ebc Add new source files because of r1174
Review URL: http://webrtc-codereview.appspot.com/320011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1193 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 19:08:33 +00:00
stefan@webrtc.org
780a07a843 Fix infinite loop bug introduced in r1174.
Merges CleanUpSizeZeroFrames with CleanUpOldFrames, and changes the
behavior to go through all frames looking for empty frames.

TBR=mikhals

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1186 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 15:55:19 +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
henrik.lundin@webrtc.org
fbf5af444b Adding a mockable wrapper class for TickTime in VCM
The class is called TickTimeInterface, with a fake implementation in FakeTickTime.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1183 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 10:36:10 +00:00
stefan@webrtc.org
ef5247b5b1 Fix session_info_unittest error.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1182 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 10:25:38 +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
mikhal@webrtc.org
832cacacff video-coding: Adding a decoded state to the JB logic (JB refactor).
This new class stores the last decoded info, including temporal info. 
Review URL: http://webrtc-codereview.appspot.com/300005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1174 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 21:15:05 +00:00
stefan@webrtc.org
f4c8286222 Pass NACK and FEC overhead rates through the ProtectionCallback to VCM.
These overhead rates are used by the VCM to compensate the source
coding rate for NACK and FEC.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1171 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 15:38:14 +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
076fa6e674 The second step towards a list based SessionInfo.
Added unittests for most of public functions of SessionInfo.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1166 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 07:54:56 +00:00
mikhal@webrtc.org
352ade7023 video_coding: Allocating encoded buffer based on length and not size
Review URL: http://webrtc-codereview.appspot.com/318010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1163 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 00:54:28 +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
stefan@webrtc.org
7889a9b49a Remove use of CriticalSectionScoped(CriticalSectionWrapper& critsect) in VCM.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1159 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-12 08:18:24 +00:00
mikhal@webrtc.org
ea71440aec video_coding: Adding the non reference flag to the receive side logic.
Review URL: http://webrtc-codereview.appspot.com/323005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1157 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-12 02:29:34 +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
mikhal@webrtc.org
f5ee1dc3e6 video_coding: Adding temporal layer info support to receive side
Review URL: http://webrtc-codereview.appspot.com/303005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1134 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-08 19:04:47 +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
b3bd1cd5f1 Fixes Valgrind warnings in the default VCM tests.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1120 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-07 11:48:09 +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
mikhal@webrtc.org
a5e980a906 Updating jitter buffer test following latest changes.
Review URL: http://webrtc-codereview.appspot.com/294002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1106 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-05 18:27:31 +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
mikhal@webrtc.org
b9db43e1b6 video_coding/jitter buffer: Reduce delay on a complete frame: No need for the next frame when current frame is already complete.
Review URL: http://webrtc-codereview.appspot.com/289007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1069 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 18:38:01 +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
stefan@webrtc.org
ac2c677bf6 Make all video_coding tests use the resources and output directories.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1060 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 14:23:39 +00:00
stefan@webrtc.org
932ab18d32 Default to always NACKing residual losses when having both FEC and NACK.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1047 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 11:33:31 +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
mikhal@webrtc.org
2b838b4121 video_coding: updating the session info unit test following recent changes
Review URL: http://webrtc-codereview.appspot.com/290002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@996 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 00:20:19 +00:00
mikhal@webrtc.org
425b377973 video_coding: Updating internal_defines to resolve latest build error. Refers to JB flush update.
Review URL: http://webrtc-codereview.appspot.com/289001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@995 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 23:41:29 +00:00
mikhal@webrtc.org
f13388f134 video_coding: Requesting a key frame after a JB flush
Review URL: http://webrtc-codereview.appspot.com/280006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@994 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 22:57:51 +00:00
mikhal@webrtc.org
6b9a7f8704 video_coding: Allowing for a decodable state independent of selective nacking
Review URL: http://webrtc-codereview.appspot.com/263001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@993 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 22:48:20 +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
kjellander@webrtc.org
85596d5bf4 Setting completeFrame to true for all created encoded images.
Review URL: http://webrtc-codereview.appspot.com/276008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@948 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-15 13:45:25 +00:00
phoglund@webrtc.org
1144ba2268 Base and codec tests now run verify output and render to file instead of to screen.
Rewrote the codec test to render to file and do video comparisons.

Refactored the coded tests somewhat. I still need to figure out how to do comparison in the automated case.

Added video analysis to the test. This will make sure that the system output roughly the right thing.

Moved the video metrics library into the test_support library. Made the metrics library available in the automated tests.

Made sure no one passes in too large YUV videos into the autotest.

The standard test's output now gets captured for both the left and right windows.

Wrote a rendering device which just writes the raw frames to file, for analysis. Updated the base standard test to dump its left window output to file. We don't do anything with it yet though.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@931 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-11 09:01:03 +00:00
mflodman@webrtc.org
637a59e68e jitter buffer update: waiting for key frame when Nack is enabled and continuity cannot be determined.
Review URL: http://webrtc-codereview.appspot.com/266010
Patch from mikhals <mikhal@webrtc.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@924 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-10 12:50:48 +00:00
kjellander@webrtc.org
ad79d6f164 Removing exceptions since not used
Review URL: http://webrtc-codereview.appspot.com/267002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@910 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-09 16:11:14 +00:00
henrikg@webrtc.org
c58ef08da2 Removes system CPU measurement for Chrome build.
It does not work on Chrome Windows, and is anyway not needed for Chrome.
Review URL: http://webrtc-codereview.appspot.com/243006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@902 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-08 08:44:17 +00:00
kjellander@webrtc.org
20a370e875 Changing the namespace of TestSuite to webrtc::test.
Adding gmock initialization into main test runner class

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@885 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-04 01:19:16 +00:00
kjellander@webrtc.org
1a8d08ad76 Changing usage of gtest_main target, to use test_support_main instead.
Review URL: http://webrtc-codereview.appspot.com/252002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@884 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-03 23:28:47 +00:00
mikhal@webrtc.org
e203de7ba2 jitter_buffer updates:
1. Determining continuity based on pictureId and not seq. numbers when available.
2. Hybrid bug fix: Don't set to decodable when the nack list is empty.
Review URL: http://webrtc-codereview.appspot.com/255001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@878 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-03 00:42:52 +00:00
henrik.lundin@webrtc.org
679cb07980 Fix build error for release build
Review URL: http://webrtc-codereview.appspot.com/252003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@874 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-02 19:52:27 +00:00
henrik.lundin@webrtc.org
baf6db5ead Making dual decoder work again in VCM
Changing the assignment operator in VCMJitterBuffer to a named
function (CopyFrom) instead, since it is not a straight
assignment. Also fixing two bugs in the jitter copy function.

Bug fix in VCMEncodedFrame: The copy constructor did not
copy _length.

In VCM codec database, make sure that the callback object is
preserved when copying back from secondary to primary decoder.

In VP8 wrapper, adding code to copy the _decodedImage to the
Copy() method.

Bugfix in video_coding_test rtp_player:
The retransmissions where made in reverse order. Now new items are
appended to the end of the LostPackets list, which makes the order
correct when retransmitting.

Handling the case when cloning an unused decoder state:
When the decoder has not successfully decoded a frame yet,
it cannot be cloned. A NULL pointer will be returned all
the way out to VideoCodingModuleImpl::Decode(). When this
happens, the VCM will call Reset() for the dual receiver,
in order to reset the state to kPassive.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@873 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-02 18:58:39 +00:00
kjellander@webrtc.org
d292b9c9da Unit tests now compile and run at all platforms.
Cosmetic changes to mocks.h.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@871 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-02 16:34:52 +00:00
punyabrata@webrtc.org
0ab521f754 Resolving a crash related to strncopy followed by a strcat
call. strncopy will not explicity copy or add a "\0" therefore
strcat did not know where to append the "\n" which was causing
an out of bounds crash.
Because we are checking the length, strcpy should be good enough
as it also copies the "\0". Please note that that I am pre-emptively
adding 2 instead of 1 to the length to take into account of the \n
that will be added later.
Review URL: http://webrtc-codereview.appspot.com/253004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@857 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-01 15:19:44 +00:00
stefan@webrtc.org
f960211f8b Fixes two jitter buffer bugs related to NACK.
Avoid decoding delta frames after a Flush() and after requesting
a key frame due to full NACK list.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@837 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-28 16:00:49 +00:00
stefan@webrtc.org
eb65860720 Reverts the workaround in r823 and solves a macro bug.
The macro bug caused frames to be dropped after being grabbed
for decoding.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@831 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-28 12:25:34 +00:00
mikhal@webrtc.org
5200a05500 video_coding/jitter_buffer Updating condition on which we return a frame.
Review URL: http://webrtc-codereview.appspot.com/240011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@825 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-27 16:54:54 +00:00
mikhal@webrtc.org
30f6376802 VP8: Updating codec version: VP8 version will now return the libvpx version used.
Review URL: http://webrtc-codereview.appspot.com/247009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@824 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-27 16:45:00 +00:00
stefan@webrtc.org
2d28aff785 Workaround for an issue where frames are grabbed for decoding prematurely.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@823 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-27 16:13:18 +00:00
mflodman@webrtc.org
7e4269e9ee Changed VP8 qp min and added noise reduction.
Review URL: http://webrtc-codereview.appspot.com/248003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@821 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-27 12:59:47 +00:00
kjellander@webrtc.org
6b7799021c Fixing build errors on Windows platform. Minor changes...
Review URL: http://webrtc-codereview.appspot.com/241004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@819 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-26 02:38:09 +00:00