EvalVid Example

EvalVid Example in Download sample based on Evalvid example code also designed for transmission of MPEG video of signals using more than medium of communication container format  to store video and audio files.

Evalvid-RA:

  • Evalvid-RA, which is a tool-set for trace file simulation of rate adaptive MPEG-4 video.
  • It was created by modifying the original EvalVid v1.2, original ns-2 interface of EvalVid and implementing a rate adaptive version of SVBR into ns-2.
  • Note that Evalvid-RA is not compatible with EvalVid 2.x. The practical impact of this is that one have to work on “raw” *.m4v files, and not the ISO Media File format *.mp4.
  • Thus it is not possible to hint *.m4v files with certain MTU settings, as it is possible with *.mp4 files.
  • The MTU parameter is however given directly in the ns-2 simulation, and the packetization will hence follow this MTU parameter without taking notice of macro-block boundaries.

Sample code for Evalvid example:

This is the code for transmission of mpeg video files simulated using EvalVid tool.

static unsigned bit_ = 8, pos_;

void resetbuf()

{

pos_ = 0;

bit_ = 8;

}

unsigned nextbits(char *s, unsigned n)

{

unsigned i, v = 0;

for (i=0; i<n; i++) {

if (!bit_) pos_++, bit_ = 8;

v = v << 1 | !!(s[pos_] & 1U << –bit_);

}

return v;

}

unsigned skipbits(char *s, unsigned b)

{

unsigned count = 0;

if (b > 1) return 0;

for (;;) {

if (!bit_) pos_++, bit_ = 8;

if (b == !!(s[pos_] & 1U << –bit_)) count++; else break;

}

return count;

}

int VOP_not_coded(char *s, VOL_header *VOL_h)

{

if (nextbits(s, 8) != 0) goto E;

if (nextbits(s, 8) != 0) goto E;

if (nextbits(s, 8) != 1) goto E;

if (nextbits(s, 8) != 0xB6) goto E;

nextbits(s, 2);

skipbits(s, 1);

if (!nextbits(s, 1)) goto E;

nextbits(s, CalcMinBits(VOL_h->vop_time_inc_res));

if (!nextbits(s, 1)) goto E;

CLRBIT(s[pos_], bit_ – 1);

if (nextbits(s, 1)) goto E;

return pos_;

fprintf(stderr, “frame parsing error!\n”);

return 0;

}