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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
stefan@webrtc.org
d855c1a4e8
Reverts r807 and fixes the real issue in the VCM.
...
This fixes an issue in the VCM where we don't wait for a packet to arrive
if the jitter buffer is empty. This also fixes an issue where an old
packet can trigger a packet event signal for a future frame.
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/248001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@814 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-25 11:52:48 +00:00
wjia@webrtc.org
f0cd394a2e
Put fwrite calls under corresponding macros since they shouldn't show up in release build.
...
This also make chromeos build happy.
BUG=none
TEST=compile
Review URL: http://webrtc-codereview.appspot.com/247006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@808 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-25 00:40:43 +00:00
mikhal@webrtc.org
f31826e17b
adding a wait on the decode thread when no frames are available
...
Review URL: http://webrtc-codereview.appspot.com/246009
git-svn-id: http://webrtc.googlecode.com/svn/trunk@807 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-25 00:20:54 +00:00
stefan@webrtc.org
ead87b5051
Fix potential issue where frame buffers might be freed while being decoded.
...
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/243004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@791 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-21 06:46:37 +00:00