| 255 | } |
| 256 | |
| 257 | IStrategy* CVpFrameWork::CreateStrategy (EMethods m_eMethod, int32_t iCpuFlag) { |
| 258 | IStrategy* pStrategy = NULL; |
| 259 | |
| 260 | switch (m_eMethod) { |
| 261 | case METHOD_COLORSPACE_CONVERT: |
| 262 | //not support yet |
| 263 | break; |
| 264 | case METHOD_DENOISE: |
| 265 | pStrategy = WelsDynamicCast (IStrategy*, new CDenoiser (iCpuFlag)); |
| 266 | break; |
| 267 | case METHOD_SCROLL_DETECTION: |
| 268 | pStrategy = WelsDynamicCast (IStrategy*, new CScrollDetection (iCpuFlag)); |
| 269 | break; |
| 270 | case METHOD_SCENE_CHANGE_DETECTION_VIDEO: |
| 271 | case METHOD_SCENE_CHANGE_DETECTION_SCREEN: |
| 272 | pStrategy = BuildSceneChangeDetection (m_eMethod, iCpuFlag); |
| 273 | break; |
| 274 | case METHOD_DOWNSAMPLE: |
| 275 | pStrategy = WelsDynamicCast (IStrategy*, new CDownsampling (iCpuFlag)); |
| 276 | break; |
| 277 | case METHOD_VAA_STATISTICS: |
| 278 | pStrategy = WelsDynamicCast (IStrategy*, new CVAACalculation (iCpuFlag)); |
| 279 | break; |
| 280 | case METHOD_BACKGROUND_DETECTION: |
| 281 | pStrategy = WelsDynamicCast (IStrategy*, new CBackgroundDetection (iCpuFlag)); |
| 282 | break; |
| 283 | case METHOD_ADAPTIVE_QUANT: |
| 284 | pStrategy = WelsDynamicCast (IStrategy*, new CAdaptiveQuantization (iCpuFlag)); |
| 285 | break; |
| 286 | case METHOD_COMPLEXITY_ANALYSIS: |
| 287 | pStrategy = WelsDynamicCast (IStrategy*, new CComplexityAnalysis (iCpuFlag)); |
| 288 | break; |
| 289 | case METHOD_COMPLEXITY_ANALYSIS_SCREEN: |
| 290 | pStrategy = WelsDynamicCast (IStrategy*, new CComplexityAnalysisScreen (iCpuFlag)); |
| 291 | break; |
| 292 | case METHOD_IMAGE_ROTATE: |
| 293 | pStrategy = WelsDynamicCast (IStrategy*, new CImageRotating (iCpuFlag)); |
| 294 | break; |
| 295 | default: |
| 296 | break; |
| 297 | } |
| 298 | |
| 299 | return pStrategy; |
| 300 | } |
| 301 | |
| 302 | WELSVP_NAMESPACE_END |
nothing calls this directly
no test coverage detected