diff options
Diffstat (limited to 'TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/motionvector.cpp')
-rw-r--r-- | TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/motionvector.cpp | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/motionvector.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/motionvector.cpp deleted file mode 100644 index 7525a3ee802..00000000000 --- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/motionvector.cpp +++ /dev/null @@ -1,192 +0,0 @@ -/* $Id$ */ -/* - * Copyright (c) 1992 The Regents of the University of California. - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT - * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF - * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ -#include "video.h" -#include "proto.h" -#include "util.h" - - -/* - *-------------------------------------------------------------- - * - * ComputeVector -- - * - * Computes motion vector given parameters previously parsed - * and reconstructed. - * - * Results: - * Reconstructed motion vector info is put into recon_* parameters - * passed to this function. Also updated previous motion vector - * information. - * - * Side effects: - * None. - * - *-------------------------------------------------------------- - */ - -#define ComputeVector(recon_right_ptr, recon_down_ptr, recon_right_prev, recon_down_prev, f, full_pel_vector, motion_h_code, motion_v_code, motion_h_r, motion_v_r) \ - \ -{ \ - int comp_h_r, comp_v_r; \ - int right_little, right_big, down_little, down_big; \ - int max, min, new_vector; \ - \ - /* The following procedure for the reconstruction of motion vectors \ - is a direct and simple implementation of the instructions given \ - in the mpeg December 1991 standard draft. \ - */ \ - \ - if (f == 1 || motion_h_code == 0) \ - comp_h_r = 0; \ - else \ - comp_h_r = f - 1 - motion_h_r; \ - \ - if (f == 1 || motion_v_code == 0) \ - comp_v_r = 0; \ - else \ - comp_v_r = f - 1 - motion_v_r; \ - \ - right_little = motion_h_code * f; \ - if (right_little == 0) \ - right_big = 0; \ - else { \ - if (right_little > 0) { \ - right_little = right_little - comp_h_r; \ - right_big = right_little - 32 * f; \ - } \ - else { \ - right_little = right_little + comp_h_r; \ - right_big = right_little + 32 * f; \ - } \ - } \ - \ - down_little = motion_v_code * f; \ - if (down_little == 0) \ - down_big = 0; \ - else { \ - if (down_little > 0) { \ - down_little = down_little - comp_v_r; \ - down_big = down_little - 32 * f; \ - } \ - else { \ - down_little = down_little + comp_v_r; \ - down_big = down_little + 32 * f; \ - } \ - } \ - \ - max = 16 * f - 1; \ - min = -16 * f; \ - \ - new_vector = recon_right_prev + right_little; \ - \ - if (new_vector <= max && new_vector >= min) \ - *recon_right_ptr = recon_right_prev + right_little; \ - /* just new_vector */ \ - else \ - *recon_right_ptr = recon_right_prev + right_big; \ - recon_right_prev = *recon_right_ptr; \ - if (full_pel_vector) \ - *recon_right_ptr = *recon_right_ptr << 1; \ - \ - new_vector = recon_down_prev + down_little; \ - if (new_vector <= max && new_vector >= min) \ - *recon_down_ptr = recon_down_prev + down_little; \ - /* just new_vector */ \ - else \ - *recon_down_ptr = recon_down_prev + down_big; \ - recon_down_prev = *recon_down_ptr; \ - if (full_pel_vector) \ - *recon_down_ptr = *recon_down_ptr << 1; \ -} - -/* - *-------------------------------------------------------------- - * - * ComputeForwVector -- - * - * Computes forward motion vector by calling ComputeVector - * with appropriate parameters. - * - * Results: - * Reconstructed motion vector placed in recon_right_for_ptr and - * recon_down_for_ptr. - * - * Side effects: - * None. - * - *-------------------------------------------------------------- - */ - -void -ComputeForwVector(int *recon_right_for_ptr, int *recon_down_for_ptr) -{ - - Pict *picture; - Macroblock *mblock; - - picture = &(curVidStream->picture); - mblock = &(curVidStream->mblock); - - ComputeVector(recon_right_for_ptr, recon_down_for_ptr, - mblock->recon_right_for_prev, - mblock->recon_down_for_prev, - picture->forw_f, picture->full_pel_forw_vector, - mblock->motion_h_forw_code, mblock->motion_v_forw_code, - mblock->motion_h_forw_r, mblock->motion_v_forw_r); -} - - -/* - *-------------------------------------------------------------- - * - * ComputeBackVector -- - * - * Computes backward motion vector by calling ComputeVector - * with appropriate parameters. - * - * Results: - * Reconstructed motion vector placed in recon_right_back_ptr and - * recon_down_back_ptr. - * - * Side effects: - * None. - * - *-------------------------------------------------------------- - */ - -void -ComputeBackVector(int *recon_right_back_ptr, int *recon_down_back_ptr) -{ - Pict *picture; - Macroblock *mblock; - - picture = &(curVidStream->picture); - mblock = &(curVidStream->mblock); - - ComputeVector(recon_right_back_ptr, recon_down_back_ptr, - mblock->recon_right_back_prev, - mblock->recon_down_back_prev, - picture->back_f, picture->full_pel_back_vector, - mblock->motion_h_back_code, mblock->motion_v_back_code, - mblock->motion_h_back_r, mblock->motion_v_back_r); - -} |