MCPcopy Create free account
hub / github.com/cisco/openh264 / CreateStrategy

Method CreateStrategy

codec/processing/src/common/WelsFrameWork.cpp:257–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

255}
256
257IStrategy* 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
302WELSVP_NAMESPACE_END

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected