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
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
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
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
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
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
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
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