57 Commits

Author SHA1 Message Date
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
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
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
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
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
mikhal@webrtc.org
a412924c0e VP8:Setting number of cores based on image size
Review URL: http://webrtc-codereview.appspot.com/242010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@806 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-25 00:02:43 +00:00
stefan@webrtc.org
158f496030 Fixes a rate control bug in the VP8 wrapper.
Changes how we signal frame rate and frame durations to the encoder. Rather
than changing the time base, we now only modify the frame durations, while
keeping the timebase constant. The frame duration is currently calculated
from the average input frame rate. Ideally, the frame duration should
be calculated as the timestamp diff, which is the real duration of a
frame, but the encoder doesn't seem to like too varying durations.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@795 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-21 13:15:16 +00:00
stefan@webrtc.org
2b0f094c8f Avoid reallocating the decodedImage for every decoded frame.
Also made sure the right size is allocated.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@790 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-21 06:39:03 +00:00
mikhal@webrtc.org
1af915d8ae video_coding: vp8: Updating error propagation threshold
Review URL: http://webrtc-codereview.appspot.com/246002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@788 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-20 18:19:18 +00:00
kma@webrtc.org
d75889e2eb Change of Android makefiles to build latest video coding code.
Review URL: http://webrtc-codereview.appspot.com/239008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@786 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-20 16:28:56 +00:00
kjellander@webrtc.org
81f25f9ff8 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@779 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-19 20:06:56 +00:00
stefan@webrtc.org
ffd28f95c5 Request key frames to battle error propagation.
The VP8 decoder wrapper will request key frames 30 frames after seeing
a packet loss, if it hasn't received a state refresh (only possible
through key frames in this version).

For this to be possible the jitter buffer has been made aware of
picture ids to be able to detect frame losses. Legacy JB code to
handle streams without marker bits was also removed since it
conflicts with streams with FEC.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@774 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-19 15:55:39 +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
06887aebae Fixes two bugs when decoding with packet losses.
Disable _missingFrame bit since we can't set it correctly with FEC.

No longer return more than one decoded frame per Decode() call.
This is a work-around for a bug where the frame info map was popped more often than items were added to the map.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@722 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-10 14:17:46 +00:00
kjellander@webrtc.org
25e0b8e3a0 Python output flag and keyframe interval flags.
Refactored main method into using 6 helper methods for better overview.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@710 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-07 07:52:00 +00:00
kjellander@webrtc.org
a31b254084 Python output flag and keyframe interval flags.
Refactored main method into using 6 helper methods for better overview.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@709 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-07 06:50:22 +00:00
kjellander@webrtc.org
35a1756502 First version of video quality measurement program and test framework.
See https://docs.google.com/a/google.com/document/d/1w6Nrxw6yTg_sDu18Ux8oZPEMo5F_R-zt62udrmmTeOc/edit?hl=en_US
for background, details and additional instructions on usage.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@700 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-06 06:44:54 +00:00
stefan@webrtc.org
93d216c23f Fixed bug in jitter buffer which caused the missingFrames bit to never be set.
Also updated the VP8 wrapper to return fully concealed frames (for rendering).

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@687 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-04 06:48:11 +00:00
xians@google.com
d3185fe219 refactor the gyp file to gypi file.
Basically, the gypi file is a copy of gyp file, but has some difference on the
path of the dependencies.
Review URL: http://webrtc-codereview.appspot.com/137020

git-svn-id: http://webrtc.googlecode.com/svn/trunk@581 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-12 12:24:39 +00:00
stefan@webrtc.org
06e2c11703 Remove unintentional printfs
Review URL: http://webrtc-codereview.appspot.com/131018

git-svn-id: http://webrtc.googlecode.com/svn/trunk@563 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-08 13:16:24 +00:00
stefan@webrtc.org
167328eab6 Disable libvpx partitions code for libvpx versions prior Cayuga.
Necessary for WebRTC to build with Chromium. 
Also fixes the decoder wrapper's Reset() function so that properly
reinitializes the decoder.
Review URL: http://webrtc-codereview.appspot.com/132012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@562 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-08 13:05:48 +00:00
stefan@webrtc.org
42ab82bf2f Disable independent partitions by default.
Review URL: http://webrtc-codereview.appspot.com/140006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@559 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-08 06:55:29 +00:00
stefan@webrtc.org
c3d891059e Adds support for VP8 partitions
This change adds support for VP8 partitions in the video jitter buffer and 
the VP8 encoder and decoder wrappers. The feature is currently disabled by
default since it requires a later version of libvpx.

With this change the jitter buffer will also start keeping track of each
packet header until decoding, and the VCMSessionInfo and VCMPacket objects 
will keep pointers into the encoded frame buffers.
Review URL: http://webrtc-codereview.appspot.com/137021

git-svn-id: http://webrtc.googlecode.com/svn/trunk@558 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-08 06:50:28 +00:00
henrik.lundin@webrtc.org
dd07d5932a Let VP8 decoder handle NULL codecSpecificInfo
VP8Decoder::Decode() can now handle the case when
codecSpecificInfo is NULL. Previously, it would crash.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@554 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-07 15:21:38 +00:00
henrik.lundin@webrtc.org
1e53166569 Fix VP8 tests
These are changes that make the VP8 tests work again after the
wrapper was updated. The codec specific info is now propagated
properly through the encoder callback and into the queue struct.

Also added an fclose to get rid of a valgrind warning.
Review URL: http://webrtc-codereview.appspot.com/138011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@526 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-05 07:23:33 +00:00
henrik.lundin@webrtc.org
2641fd1d19 Remove warnings in vp8_test
Most modifications are either reordering of the initializers in constructors, removed unused variables, or comparison mismatches taken care of. A few other special cases are commented.
Review URL: http://webrtc-codereview.appspot.com/132008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@518 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-02 12:09:07 +00:00
andrew@webrtc.org
bbd8908664 Fix clang warnings in video coding.
Review URL: http://webrtc-codereview.appspot.com/138007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@511 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-01 17:30:01 +00:00
henrik.lundin@webrtc.org
8571af7be6 Updating to new VP8 rtp format
The VP8 packetizer and tests have been updated to the new
RTP draft (http://tools.ietf.org/html/draft-ietf-payload-vp8-01).
The receive-side parser is also updated, and a new unit test
is implemented for it. Finally, some data traversing work to
get the parsed information into the decoder.
Review URL: http://webrtc-codereview.appspot.com/116011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@482 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-29 15:37:12 +00:00
mikhal@webrtc.org
6724cf8183 VP8: Adding a flag to indicate the libvpx version. When in Cayuga, additional API's will be used.
Review URL: http://webrtc-codereview.appspot.com/120006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@433 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-24 00:51:36 +00:00
wjia@google.com
4482b04207 revert r430 to keep webrtc always ready to roll in chromium.
r430 will be used when libvpx in chromium is rolled to Cayuga.
Review URL: http://webrtc-codereview.appspot.com/119008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@431 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-23 23:41:00 +00:00
wjia@google.com
f9f1deba8f Get ready for libvpx Cayuga (v0.9.7-p1).
When building with Chromium, on Windows, only header files are needed; otherwise, libvpx.gyp:libvpx is needed.

This patch is based on http://webrtc-codereview.appspot.com/91019/
Review URL: http://webrtc-codereview.appspot.com/122005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@430 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-23 23:08:30 +00:00
mikhal@webrtc.org
0e16b78ec9 VP8: Removing VP8Latest flag following the update to the Cayuga release
Review URL: http://webrtc-codereview.appspot.com/116012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@415 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-22 21:25:39 +00:00
holmer@google.com
2cdc7b94d2 Enabling libvpx error concealment.
Review URL: http://webrtc-codereview.appspot.com/116010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@399 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-18 09:35:45 +00:00
henrik.lundin@webrtc.org
473bac8582 Propagate codec specific info to decoder
Add explicit use of CodecSpecificInfo to VCMGenericDecoder and
the codecs (VP8 and I420). Propagate information from
WebRtcRTPHeader in VCM (IncomingPacket) to GenericDecoder.
Review URL: http://webrtc-codereview.appspot.com/109011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@390 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-17 09:47:33 +00:00
andrew@webrtc.org
8910f278c5 Switch to webrtc.org accounts (for those which exist).
Review URL: http://webrtc-codereview.appspot.com/97010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@342 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-10 05:16:31 +00:00
mikhal@google.com
9e9f86743c VP8 wrapper: Adding check for no show frames (NULL images)
Review URL: http://webrtc-codereview.appspot.com/102001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@341 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-09 22:12:19 +00:00
mikhal@google.com
5ce0ff05ae Removing compiler warnings from video components
Review URL: http://webrtc-codereview.appspot.com/101002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@336 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-09 17:17:39 +00:00
xians@google.com
508eba5321 exclude vp8 and test_framework test targets from chromium.
BUG=http://code.google.com/p/webrtc/issues/detail?id=34
Test=None
Review URL: http://webrtc-codereview.appspot.com/95012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@324 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-08 12:48:13 +00:00
marpan@google.com
8726e270ec Build error fix from r316/r314.
Review URL: http://webrtc-codereview.appspot.com/95013

git-svn-id: http://webrtc.googlecode.com/svn/trunk@317 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-05 21:38:56 +00:00
marpan@google.com
7bb8a9444d Change to r315: code to return error for
incomplete frames (for _feedbackMode off) 
is commented out.
Review URL: http://webrtc-codereview.appspot.com/91016

git-svn-id: http://webrtc.googlecode.com/svn/trunk@316 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-05 21:20:29 +00:00
leozwang@google.com
79835d1bd3 Clean up Android.mk
Review URL: http://webrtc-codereview.appspot.com/92014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@315 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-05 21:01:02 +00:00
marpan@google.com
a1ec48dec2 Updates to VP8 wrapper:
1) Added VP8E_SET_STATIC_THRESHOLD which sets threshold for
   forcing static macroblocks to skipped mode
   (useful for encoding of static background).
2) Removed some code in decoding to allow for 
   decoding of incomplete frames.
3) Minor change to MaxIntraTarget()
4) Added control setting for maximum (target) size of 
   intra-frame.
5) Increased kf_max_dist(reduce/remove key-frame periodicity)  
   since we use kf_auto_mode. 
Review URL: http://webrtc-codereview.appspot.com/101001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@314 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-05 20:51:32 +00:00