util.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * The contents of this file are subject to the Mozilla Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/MPL/
  6.  * 
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  * 
  12.  * The Original Code is MPEG4IP.
  13.  * 
  14.  * The Initial Developer of the Original Code is Cisco Systems Inc.
  15.  * Portions created by Cisco Systems Inc. are
  16.  * Copyright (C) Cisco Systems Inc. 2000, 2001.  All Rights Reserved.
  17.  * 
  18.  * Contributor(s): 
  19.  *              Bill May        wmay@cisco.com
  20.  */
  21. #ifndef __UTIL_H__
  22. #define __UTIL_H__
  23. inline void* Malloc(size_t size) {
  24. void* p = malloc(size);
  25. if (p == NULL && size > 0) {
  26. throw;
  27. }
  28. return p;
  29. inline void imgcpy(
  30. u_int8_t* dst, u_int8_t* src, 
  31. u_int16_t width, u_int16_t height, u_int16_t src_stride) {
  32. if (width == src_stride) {
  33. memcpy(dst, src, width * height);
  34. } else {
  35. for (u_int16_t i = 0; i < height; i++) {
  36. memcpy(dst, src, width);
  37. dst += width;
  38. src += src_stride;
  39. }
  40. }
  41. }
  42. #ifdef __cplusplus
  43. extern "C" {
  44. #endif
  45. void error_message(const char *fmt, ...)
  46. #ifndef _WINDOWS
  47.        __attribute__((format(__printf__, 1, 2)))
  48. #endif
  49. ;
  50. void debug_message(const char *fmt, ...)
  51. #ifndef _WINDOWS
  52.        __attribute__((format(__printf__, 1, 2)))
  53. #endif
  54.    ;
  55. void lib_message(int loglevel, const char* lib, const char *fmt, ...)
  56. #ifndef _WINDOWS
  57.        __attribute__((format(__printf__, 3, 4)))
  58. #endif
  59.    ;
  60. #ifdef __cplusplus
  61. }
  62. #endif
  63. #endif