46 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
frkoenig@google.com
fc9bcef8c7 Data alignment fix for SSIM.
WebRtc_UWord64[2] wasn't always aligned to 128 bytes, which
is necessary for _mm_store_si128.  By declaring the 
variable as __m128i it will always be 128 bytes aligned.

Incorrect include files.

__m128i is defined in emmintrin.h for visual studio.  Extra include on mac and linux is not a problem.
Review URL: http://webrtc-codereview.appspot.com/239013

git-svn-id: http://webrtc.googlecode.com/svn/trunk@816 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-26 00:07:32 +00:00
pwestin@webrtc.org
1da1ce0da5 First implementation of simulcast, adds VP8 simulcast to video engine.
Changed API to RTP module
Expanded Auto test with a test for simulcast
Made the video codec tests compile
Added the vp8_simulcast files to this cl
Added missing auto test file
Review URL: http://webrtc-codereview.appspot.com/188001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@736 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-13 15:19:55 +00:00
stefan@webrtc.org
4c059d87b3 Add metric for number of packets discarded by JB due to not being decodable
Also fixes a couple of bugs related to sequence number wrap found while
testing.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@732 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-13 07:35:37 +00:00
stefan@webrtc.org
791eec7424 Add API to get the number of packets discarded by the video jitter buffer due to being too late.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@723 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-11 07:53:43 +00:00
stefan@webrtc.org
61b4abf1f8 Proper use of frame rate argument in generic_codec_test.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@686 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-04 06:40:21 +00:00
mikhal@webrtc.org
e06be4f678 video coding tests: Adding ssimFrame to interface
Review URL: http://webrtc-codereview.appspot.com/188004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@685 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-03 22:54:43 +00:00
mikhal@webrtc.org
848fad23c6 video_coding: Updating media opt test - fixing call to protection callback.
Review URL: http://webrtc-codereview.appspot.com/179003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@653 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-27 16:30:59 +00:00
mikhal@webrtc.org
e185e9f68a video_coding: updates to jitter buffer logic: Make sure that every frame is inserted only once to the list.
Review URL: http://webrtc-codereview.appspot.com/165001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@648 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-23 22:02:40 +00:00
mikhal@webrtc.org
105ff39dec video coding: updating offline tests.
Additional clean-up to the offline test: Placing test callbacks in a designated file. 
Review URL: http://webrtc-codereview.appspot.com/167002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@642 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-23 16:41:11 +00:00
kjellander@webrtc.org
f0a8464b74 Added more statistics during SSIM/PSNR calculation, including calculation of min/max value.
Moved video_metrics.h into a GYP library so it can be used from other projects.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@582 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-12 13:45:39 +00:00
mikhal@webrtc.org
6f54c20703 video coding test: Adding MT functionality
Review URL: http://webrtc-codereview.appspot.com/135008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@570 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-09 14:38:59 +00:00
henrik.lundin@webrtc.org
ea05973e68 Fixing VCM tests for VP8
Removing asserts since the PictureID (and other parameters)
is now piped through codecSpecific. Also made sure the VCM
send callbacks (test code) copies the appropriate paramters.
Finally, enabling I420 in tests.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@553 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-07 15:20:17 +00:00
mikhal@webrtc.org
46171cf546 video coding tests: Adding a Normal distribution to simulate packet arrival times
Review URL: http://webrtc-codereview.appspot.com/138003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@483 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-29 23:38:04 +00:00
mikhal@webrtc.org
b7ac56d92b video coding tests: updating quality tests following r466
Review URL: http://webrtc-codereview.appspot.com/131009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@470 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-26 21:18:35 +00:00
mikhal@webrtc.org
d24a97fae1 video coding test: deleting unused file(resampler_test.cc)
Review URL: http://webrtc-codereview.appspot.com/137008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@469 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-26 21:18:17 +00:00
mikhal@webrtc.org
2c3b1fb4f3 video_coding tests: removing unused functionality from test_util
Review URL: http://webrtc-codereview.appspot.com/137009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@468 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-26 21:18:04 +00:00
mikhal@webrtc.org
552f173979 video_coding: Moving video metrics computation to a designated file.
This is the first stage of a general clean-up to test_util. Will try to divide this clean-up to small changes, so it will be easier to review. 
Review URL: http://webrtc-codereview.appspot.com/120004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@466 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-26 17:38:09 +00:00
mikhal@webrtc.org
ba9bd692ea video_coding_tests: Fix build error
Review URL: http://webrtc-codereview.appspot.com/132001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@452 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-25 20:12:03 +00:00
mikhal@webrtc.org
d70b77d19f video_coding: Updating offline tests
1. Adding parameters to the  input arguments. 
2. Introducing delay in the RTPSend callback
3. Clean-up
Review URL: http://webrtc-codereview.appspot.com/116006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@414 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-22 21:08:15 +00:00
frkoenig@google.com
9139fddf0e Optimize ssim_8x8 for SSE2.
Code was pulled from libvpx assembly and converted
to intrinsics.
Review URL: http://webrtc-codereview.appspot.com/122001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@409 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-19 22:33:08 +00:00
frkoenig@google.com
f53055d60e Use optimized SSIM from libvpx.
Review URL: http://webrtc-codereview.appspot.com/117005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@407 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-19 18:16:59 +00:00
mikhal@webrtc.org
ebeb5a656b video_coding - JB: Ensuring that every frame is inserted only once to the list
Review URL: http://webrtc-codereview.appspot.com/114006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@391 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-17 18:43:21 +00:00
marpan@google.com
319fbd107d Added simple model to test_util.cc to simulate bursty packet loss.
Review URL: http://webrtc-codereview.appspot.com/104002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@355 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-11 22:51:58 +00:00
holmer@google.com
e0f7d7b7e8 Fixing warnings in the VCM tests. Also fixes a couple of bugs related
to those warnings.
Review URL: http://webrtc-codereview.appspot.com/98003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@293 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-03 07:49:56 +00:00
marpan@google.com
b3916d54b0 Fix build error in VCM tests from r219.
Review URL: http://webrtc-codereview.appspot.com/86001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@234 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-07-19 19:56:40 +00:00
hlundin@google.com
edac1733e2 Fixing a number of issues in VCM and codec tests
Issues come from previous change to routing of CodecSpecificInfo.
A few tests are asserted out, and will be until the corresponding
routing has been made on the decoder side.
Review URL: http://webrtc-codereview.appspot.com/60007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@184 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-07-08 13:05:23 +00:00
holmer@google.com
12c9df1a69 Fixes build errors in the VCM tests introduced with r140.
Also fixes a memory problem in mt_rx_tx_test.
Review URL: http://webrtc-codereview.appspot.com/62004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@183 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-07-08 12:44:58 +00:00
niklase@google.com
470e71d364 git-svn-id: http://webrtc.googlecode.com/svn/trunk@156 4adac7df-926f-26a2-2b94-8c16560cd09d 2011-07-07 08:21:25 +00:00