📄 fsize.c
字号:
/*===========================================================================* * fsize.c * * * * procedures to keep track of frame size * * * * EXPORTED PROCEDURES: * * Fsize_Reset * * Fsize_Note * * Fsize_Validate * * * * EXPORTED VARIABLES: * * Fsize_x * * Fsize_y * * * *===========================================================================*//* * Copyright (c) 1995 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. *//*==============* * HEADER FILES * *==============*/#include "all.h"#include "fsize.h"#include "dct.h"/*==================* * GLOBAL VARIABLES * *==================*/int Fsize_x = 0;int Fsize_y = 0;/*=====================* * EXPORTED PROCEDURES * *=====================*//*===========================================================================* * * Fsize_Reset * * reset the frame size to 0 * * RETURNS: nothing * * SIDE EFFECTS: Fsize_x, Fsize_y * *===========================================================================*/voidFsize_Reset(){ Fsize_x = Fsize_y = 0;}/*===========================================================================* * * Fsize_Validate * * make sure that the x, y values are 16-pixel aligned * * RETURNS: modifies the x, y values to 16-pixel alignment * * SIDE EFFECTS: none * *===========================================================================*/voidFsize_Validate(x, y) int *x; int *y;{ *x &= ~(DCTSIZE * 2 - 1); *y &= ~(DCTSIZE * 2 - 1);}/*===========================================================================* * * Fsize_Note * * note the given frame size and modify the global values as appropriate * * RETURNS: nothing * * SIDE EFFECTS: Fsize_x, Fsize_y * *===========================================================================*/voidFsize_Note(id, width, height) int id; int width; int height;{ Fsize_x = width; Fsize_y = height; Fsize_Validate(&Fsize_x, &Fsize_y); if ((Fsize_x==0) || (Fsize_y==0)) { fprintf(stderr,"Frame %d: size is zero!\n",id);/* exit(1); */ }#ifdef BLEAH if (Fsize_x == 0) { Fsize_x = width; Fsize_y = height; Fsize_Validate(&Fsize_x, &Fsize_y); } else if (width < Fsize_x || height < Fsize_y) { fprintf(stderr, "Frame %d: wrong size: (%d,%d). Should be greater or equal to: (%d,%d)\n", id, width, height, Fsize_x, Fsize_y); exit(1); }#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -