26 Commits

Author SHA1 Message Date
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