summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.cpp')
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.cpp137
1 files changed, 0 insertions, 137 deletions
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.cpp
deleted file mode 100644
index e6e69f4228d..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/* $Id$ */
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-#include <string.h>
-#include "sendpt.h"
-
-/* parameters:
- pat -- pattern
- buf -- buffer for holding sendpattern computed;
- len -- length of pattern and send pattern (number of frames);
- f -- number of frames to send (represented by result send pattern);
-*/
-void ComputeSendPattern(char * pat, char * buf, int len, int f)
-{
- memset(buf, 0, len);
- if (f >= len)
- {
- memset(buf, 1, len);
- }
- else if (f <= 1)
- {
- buf[0] = 1;
- }
- else
- {
- int i, is = 0, ps = 0, bs = 0;
-
- memset(buf, 1, len);
- for (i = 0; i < len; i++)
- {
- if (pat[i] == 'I')
- is ++;
- else if (pat[i] == 'P')
- ps ++;
- else /* B frame */
- bs ++;
- }
- f = len - f; /* number of frames to drop */
- if (f < bs) /* drops only B frames */
- {
- double scale = (double)bs / (double)f;
- int ptr = 0, ptr1 = 0;
- for (i = 0; i < len; i ++)
- {
- if (pat[i] == 'B')
- {
- if ( ptr == (int) ((double)ptr1 * scale + 0.5))
- {
- buf[i] = 0;
- ptr1 ++;
- }
- ptr ++;
- }
- }
- goto endOfCompute;
- }
-
- /* drop all B frames */
- for (i = 0; i < len; i ++)
- if (pat[i] == 'B')
- buf[i] = 0;
-
- if (f == bs)
- goto endOfCompute;
-
- if (f > bs && f < bs + ps) /* drop also some P frames */
- {
- int ptr = len - 1;
- for (i = 0; i < is; i ++)
- {
- int j;
- for (j = 0; j < (f - bs) / is; j ++)
- {
- while (pat[ptr] != 'P') ptr --;
- buf[ptr] = 0;
- ptr --;
- }
- while (pat[ptr] != 'I') ptr --;
- }
- ptr = len - 1;
- for (i = 0; i < (f - bs) % is; i ++)
- {
- while (pat[ptr] != 'P' || buf[ptr] == 0) ptr --;
- buf[ptr] = 0;
- while (pat[ptr] != 'I') ptr --;
- }
- goto endOfCompute;
- }
-
- /* drop all P frames */
- for (i = 0; i < len; i ++)
- if (pat[i] == 'P')
- buf[i] = 0;
-
- if (f > bs + ps) /* needs to drop some I frames */
- {
- double scale = (double)is / (double)(f - bs - ps);
- int ptr = 0, ptr1 = 0;
- for (i = 0; i < len; i ++)
- {
- if (pat[i] == 'I')
- {
- if ( ptr == (int) ((double)ptr1 * scale + 0.5))
- {
- buf[i] = 0;
- ptr1 ++;
- }
- ptr ++;
- }
- }
- goto endOfCompute;
- }
- }
- endOfCompute:;
-}