[Sumover-dev] [svn commit] r4614 - in vic/branches/cc: . codec rtp
video
sumover-dev at cs.ucl.ac.uk
sumover-dev at cs.ucl.ac.uk
Mon Feb 15 21:14:38 GMT 2010
Author: soohyunc
Date: Mon Feb 15 21:14:38 2010
New Revision: 4614
Modified:
vic/branches/cc/cc/o.sh
vic/branches/cc/cc/seqno.sh
vic/branches/cc/codec/encoder-h261.cpp
vic/branches/cc/module.h
vic/branches/cc/rtp/session.cpp
vic/branches/cc/rtp/transmitter.cpp
vic/branches/cc/video/grabber-still.cpp
Log:
sync'ed time measurement method among grabber/session manager/transmitter/codec
Modified: vic/branches/cc/cc/o.sh
==============================================================================
--- vic/branches/cc/cc/o.sh (original)
+++ vic/branches/cc/cc/o.sh Mon Feb 15 21:14:38 2010
@@ -13,3 +13,15 @@
# encoding time difference
grep enc_time trace.s | grep -v pid | awk '{if($1=="num:" && $3=="enc_time:") print}' | awk '{print $2"\t"$4}' > enct.xg
+
+# start grab
+grep start_grab trace.s | awk '{print $3" "100}' > grs.xg
+
+# end grab
+grep end_grab trace.s | awk '{print $3" "100}' > gre.xg
+
+# grabbing time difference
+grep grab_time trace.s | awk '{print $2"\t"$4}' > grt.xg
+
+# incoming XR
+grep incomingXR trace.s | awk '{print $3" "100}' > inXR.xg
Modified: vic/branches/cc/cc/seqno.sh
==============================================================================
--- vic/branches/cc/cc/seqno.sh (original)
+++ vic/branches/cc/cc/seqno.sh Mon Feb 15 21:14:38 2010
@@ -18,6 +18,7 @@
plot \
"encs.xg" with impulses, \
"ence.xg" with impulses, \
+ "inXR.xg" with impulses, \
"seqno.xg" ls 3
EOF
Modified: vic/branches/cc/codec/encoder-h261.cpp
==============================================================================
--- vic/branches/cc/codec/encoder-h261.cpp (original)
+++ vic/branches/cc/codec/encoder-h261.cpp Mon Feb 15 21:14:38 2010
@@ -218,7 +218,6 @@
bs_(0), bc_(0), ngob_(12)
{
// h261 gettimeofday
- ts_off_ = h261_now();
enc_start_ = 0.0;
enc_end_ = 0.0;
encno_ = 1;
@@ -798,9 +797,10 @@
H261Encoder::encode(const VideoFrame* vf, const u_int8_t *crvec)
{
//fprintf(stderr,"\nH261Encoder encode()\n");
+ ts_off_ = offset();
tx_->tx_now_offset_ = ts_off_;
enc_start_ = h261_now() - ts_off_;
- fprintf(stderr,"\nh261_encode_start\tnow: %f\n", enc_start_);
+ fprintf(stderr,"h261_encode_start\tnow: %f\n", enc_start_);
tx_->flush();
@@ -896,10 +896,10 @@
}
cc += flush(pb, ((bc_ - bs_) << 3) + nbb_, 0);
- // XXX experimental
+ // time measurement
enc_end_ = h261_now() - ts_off_;
fprintf(stderr,"\nh261_encode_end\tnow: %f\n", enc_end_);
- fprintf(stderr,"\n\nnum: %d\tenc_time: %f\n\n",
+ fprintf(stderr,"num: %d\tenc_time: %f\n",
encno_++, (enc_end_ - enc_start_));
return (cc);
Modified: vic/branches/cc/module.h
==============================================================================
--- vic/branches/cc/module.h (original)
+++ vic/branches/cc/module.h Mon Feb 15 21:14:38 2010
@@ -122,6 +122,10 @@
virtual int consume(const VideoFrame*) = 0;
virtual int command(int argc, const char*const* argv);
inline int ft() const { return (ft_); }
+
+ double offset_;
+ inline double offset() { return offset_; }
+
protected:
Module(int ft);
static int atoft(const char* s);
Modified: vic/branches/cc/rtp/session.cpp
==============================================================================
--- vic/branches/cc/rtp/session.cpp (original)
+++ vic/branches/cc/rtp/session.cpp Mon Feb 15 21:14:38 2010
@@ -1318,6 +1318,8 @@
switch (cc_type_) {
case WBCC:
+ fprintf(stderr,
+ "\tincomingXR\tnow: %f\n",tx_now()-tx_now_offset_);
// TFWC sender (getting AckVec)
tfwc_sndr_recv(xr->BT, begin, end, chunk);
// we need to call Transmitter::output(pb) to make Ack driven
Modified: vic/branches/cc/rtp/transmitter.cpp
==============================================================================
--- vic/branches/cc/rtp/transmitter.cpp (original)
+++ vic/branches/cc/rtp/transmitter.cpp Mon Feb 15 21:14:38 2010
@@ -327,8 +327,8 @@
int jack = (int) tfwc_sndr_jacked();
//debug_msg("jack: %d\n", jack);
- //fprintf(stderr, "\tXXX num: %d\tcwnd: %d\tjack: %d\n",
- // ntohs(rh->rh_seqno), magic, jack);
+ //fprintf(stderr, "\tXXX now: %f\tnum: %d\tcwnd: %d\tjack: %d\n",
+ //tx_now()-tx_now_offset_, ntohs(rh->rh_seqno), magic, jack);
// while packet seqno is within "cwnd + jack", send that packet
while (ntohs(rh->rh_seqno) <= magic + jack) {
Modified: vic/branches/cc/video/grabber-still.cpp
==============================================================================
--- vic/branches/cc/video/grabber-still.cpp (original)
+++ vic/branches/cc/video/grabber-still.cpp Mon Feb 15 21:14:38 2010
@@ -79,6 +79,17 @@
StillYuvGrabber();
virtual ~StillYuvGrabber();
virtual int command(int argc, const char* const* argv);
+
+ inline double stillYuv_now() {
+ timeval tv;
+ ::gettimeofday(&tv, NULL);
+ return ((double) tv.tv_sec + 1e-6 * (double) tv.tv_usec);
+ }
+ double stillYuv_ts_off_;
+ double start_grab_;
+ double end_grab_;
+ int num_grab_;
+
protected:
void start();
void stop();
@@ -293,6 +304,10 @@
StillYuvGrabber::StillYuvGrabber() :
width_(0), height_(0), num_frame_(0)
{
+ stillYuv_ts_off_ = stillYuv_now();
+ start_grab_ = 0.0;
+ end_grab_ = 0.0;
+ num_grab_ = 1;
}
StillYuvGrabber::~StillYuvGrabber()
@@ -335,6 +350,12 @@
#ifdef DEBUG
debug_msg("StillYuvGrabber::grab() called\n");
#endif
+
+ // time measurement
+ target_->offset_ = stillYuv_ts_off_;
+ start_grab_ = stillYuv_now() - stillYuv_ts_off_;
+ fprintf(stderr, "start_grab\tnow: %f\n", start_grab_);
+
int frc=0; //SV-XXX: gcc4 warns for initialisation
// "framesize_" is just the number of pixels,
@@ -356,5 +377,11 @@
YuvFrame f(media_ts(), (u_int8_t *) frame_, crvec_, outw_, outh_);
frc = target_->consume(&f);
+
+ // time measurement
+ end_grab_ = stillYuv_now() - stillYuv_ts_off_;
+ fprintf(stderr, "end_grab\tnow: %f\n", end_grab_);
+ fprintf(stderr, "num: %d\tgrab_time: %f\n",
+ num_grab_++, end_grab_ - start_grab_);
return frc;
}
More information about the Sumover-dev
mailing list