Commit Graph

38 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
mikhal@google.com
506bc3cf12 video_coding: Removing compiler warnings
Review URL: http://webrtc-codereview.appspot.com/88010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@274 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-07-29 20:23:18 +00:00
niklase@google.com
9ad0cf1ae2 git-svn-id: http://webrtc.googlecode.com/svn/trunk@164 4adac7df-926f-26a2-2b94-8c16560cd09d 2011-07-07 08:43:35 +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