• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*!
2  * \copy
3  *     Copyright (c)  2009-2013, Cisco Systems
4  *     All rights reserved.
5  *
6  *     Redistribution and use in source and binary forms, with or without
7  *     modification, are permitted provided that the following conditions
8  *     are met:
9  *
10  *        * Redistributions of source code must retain the above copyright
11  *          notice, this list of conditions and the following disclaimer.
12  *
13  *        * Redistributions in binary form must reproduce the above copyright
14  *          notice, this list of conditions and the following disclaimer in
15  *          the documentation and/or other materials provided with the
16  *          distribution.
17  *
18  *     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19  *     "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20  *     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21  *     FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22  *     COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23  *     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24  *     BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  *     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26  *     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27  *     LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28  *     ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  *     POSSIBILITY OF SUCH DAMAGE.
30  *
31  *
32  * \file    common.h
33  *
34  * \brief   common flag definitions
35  *
36  * \date    7/6/2009 Created
37  *
38  *************************************************************************************
39  */
40 
41 #ifndef AS264_COMMON_H_
42 #define AS264_COMMON_H_
43 
44 /* debug setting for console
45 $(TargetPath)
46 -iper 60 -lqp 26 -frin 2 -rc 1 -cf 4 -org desktop.bgra -sw 800 -sh 592 -bf desktop.h264
47 .\..\..\..\..\bin
48 */
49 
50 /****************************************************************************
51  * Options for algorithm, usually change bitrate
52  ****************************************************************************/
53 #define DISABLE_FMO_FEATURE             //
54 
55 /****************************************************************************
56  * Options for optimization, not change bitrate
57  ****************************************************************************/
58 //#undef        X86_ASM             // X86_ASM is included in project preprocessor definitions, undef it when need to disable asm code
59 #define SINGLE_REF_FRAME            // need to disable it when use multi-reference
60 
61 
62 #if defined(WELS_TESTBED)               // for SGE testing
63 #define ENABLE_FRAME_DUMP
64 
65 #ifdef FRAME_INFO_OUTPUT
66 #undef FRAME_INFO_OUTPUT
67 #endif//FRAME_INFO_OUTPUT
68 #endif//WELS_TESTBED
69 
70 
71 #if defined(__UNITTEST__)               // for unittest
72 #ifndef ENABLE_FRAME_DUMP
73 #define ENABLE_FRAME_DUMP
74 #endif//ENABLE_FRAME_DUMP
75 #endif//__UNITTEST__
76 
77 //#define ENABLE_PSNR_CALC
78 //#define STAT_OUTPUT
79 //#define MB_TYPES_CHECK
80 //
81 //#define FRAME_INFO_OUTPUT
82 //#define LAYER_INFO_OUTPUT
83 //#define SLICE_INFO_OUTPUT             // useful in multiple slice coding track
84 //#define MB_TYPES_INFO_OUTPUT
85 
86 
87 /* macros dependencies check */
88 //@if !FRAME_INFO_OUTPUT
89 #if !defined(FRAME_INFO_OUTPUT)
90 
91 #if defined(ENABLE_PSNR_CALC)
92 #undef ENABLE_PSNR_CALC
93 #endif//ENABLE_PSNR_CALC
94 
95 //#if defined(STAT_OUTPUT)
96 //#undef STAT_OUTPUT
97 //#endif//STAT_OUTPUT
98 
99 #if defined(LAYER_INFO_OUTPUT)
100 #undef LAYER_INFO_OUTPUT
101 #endif//LAYER_INFO_OUTPUT
102 
103 #if defined(SLICE_INFO_OUTPUT)
104 #undef SLICE_INFO_OUTPUT
105 #endif//SLICE_INFO_OUTPUT
106 
107 #if defined(MB_TYPES_INFO_OUTPUT)
108 #undef MB_TYPES_INFO_OUTPUT
109 #endif//MB_TYPES_INFO_OUTPUT
110 
111 #endif//FRAME_INFO_OUTPUT
112 
113 //@if SLICE_INFO_OUTPUT
114 #if defined(SLICE_INFO_OUTPUT)
115 
116 #if !defined(FRAME_INFO_OUTPUT)
117 #define FRAME_INFO_OUTPUT
118 #endif//FRAME_INFO_OUTPUT
119 
120 #if !defined(LAYER_INFO_OUTPUT)
121 #define LAYER_INFO_OUTPUT
122 #endif//LAYER_INFO_OUTPUT
123 
124 #endif//SLICE_INFO_OUTPUT
125 
126 #if defined(LAYER_INFO_OUTPUT)
127 
128 #if !defined(FRAME_INFO_OUTPUT)
129 #define FRAME_INFO_OUTPUT
130 #endif//!FRAME_INFO_OUTPUT
131 
132 #endif//LAYER_INFO_OUTPUT
133 
134 //@if MB_TYPES_INFO_OUTPUT
135 #if defined(MB_TYPES_INFO_OUTPUT)
136 
137 #if !defined(MB_TYPES_CHECK)
138 #define MB_TYPES_CHECK
139 #endif//MB_TYPES_CHECK
140 #endif//MB_TYPES_INFO_OUTPUT
141 
142 #endif // AS264_COMMON_H_
143 
144