public static int GetDefaultNumberOfBFrames(x265PresetLevelModes oPresetLevel, x265PsyTuningModes oTuningMode, bool bTuneZeroLatency, bool blurayCompat) { int iDefaultSetting = 0; if (bTuneZeroLatency) { return(iDefaultSetting); } switch (oPresetLevel) { case x265Settings.x265PresetLevelModes.ultrafast: iDefaultSetting = 0; break; case x265Settings.x265PresetLevelModes.superfast: case x265Settings.x265PresetLevelModes.veryfast: case x265Settings.x265PresetLevelModes.faster: case x265Settings.x265PresetLevelModes.fast: case x265Settings.x265PresetLevelModes.medium: case x265Settings.x265PresetLevelModes.slow: case x265Settings.x265PresetLevelModes.slower: iDefaultSetting = 3; break; case x265Settings.x265PresetLevelModes.veryslow: iDefaultSetting = 8; break; case x265Settings.x265PresetLevelModes.placebo: iDefaultSetting = 16; break; } if (iDefaultSetting > 16) { iDefaultSetting = 16; } return(iDefaultSetting); }
public static int GetDefaultNumberOfWeightp(x265PresetLevelModes oPresetLevel, bool bFastDecode, bool bBlurayCompat) { if (bFastDecode) // Fast Decode { return(0); } int iDefaultSetting = 0; switch (oPresetLevel) { case x265Settings.x265PresetLevelModes.ultrafast: iDefaultSetting = 0; break; case x265Settings.x265PresetLevelModes.superfast: case x265Settings.x265PresetLevelModes.veryfast: case x265Settings.x265PresetLevelModes.faster: case x265Settings.x265PresetLevelModes.fast: iDefaultSetting = 1; break; case x265Settings.x265PresetLevelModes.medium: case x265Settings.x265PresetLevelModes.slow: case x265Settings.x265PresetLevelModes.slower: case x265Settings.x265PresetLevelModes.veryslow: case x265Settings.x265PresetLevelModes.placebo: iDefaultSetting = 2; break; } if (bBlurayCompat) { return(Math.Min(iDefaultSetting, 1)); } else { return(iDefaultSetting); } }
public static int GetDefaultRCLookahead(x265PresetLevelModes oPresetLevel, bool bTuneZeroLatency) { int iDefaultSetting = 0; if (bTuneZeroLatency) { return(iDefaultSetting); } switch (oPresetLevel) { case x265Settings.x265PresetLevelModes.ultrafast: case x265Settings.x265PresetLevelModes.superfast: iDefaultSetting = 0; break; case x265Settings.x265PresetLevelModes.veryfast: iDefaultSetting = 10; break; case x265Settings.x265PresetLevelModes.faster: iDefaultSetting = 20; break; case x265Settings.x265PresetLevelModes.fast: iDefaultSetting = 30; break; case x265Settings.x265PresetLevelModes.medium: iDefaultSetting = 40; break; case x265Settings.x265PresetLevelModes.slow: iDefaultSetting = 50; break; case x265Settings.x265PresetLevelModes.slower: case x265Settings.x265PresetLevelModes.veryslow: case x265Settings.x265PresetLevelModes.placebo: iDefaultSetting = 60; break; } return(iDefaultSetting); }
public static int GetDefaultAQMode(x265PresetLevelModes oPresetLevel, x265PsyTuningModes oTuningMode) { if (oTuningMode == x265PsyTuningModes.SSIM) { return(2); } if (oTuningMode == x265PsyTuningModes.PSNR || oPresetLevel == x265Settings.x265PresetLevelModes.ultrafast) { return(0); } return(1); }
public static int GetDefaultNumberOfRefFrames(x265PresetLevelModes oPreset, x265PsyTuningModes oTuningMode, bool blurayCompat, int hRes, int vRes) { int iDefaultSetting = 1; switch (oPreset) { case x265Settings.x265PresetLevelModes.ultrafast: case x265Settings.x265PresetLevelModes.superfast: case x265Settings.x265PresetLevelModes.veryfast: iDefaultSetting = 1; break; case x265Settings.x265PresetLevelModes.faster: case x265Settings.x265PresetLevelModes.fast: iDefaultSetting = 2; break; case x265Settings.x265PresetLevelModes.medium: iDefaultSetting = 3; break; case x265Settings.x265PresetLevelModes.slow: iDefaultSetting = 5; break; case x265Settings.x265PresetLevelModes.slower: iDefaultSetting = 8; break; case x265Settings.x265PresetLevelModes.veryslow: case x265Settings.x265PresetLevelModes.placebo: iDefaultSetting = 16; break; } if (iDefaultSetting > 16) { iDefaultSetting = 16; } if (blurayCompat) { iDefaultSetting = Math.Min(6, iDefaultSetting); } /*if (hRes > 0 && vRes > 0) * { * int iMaxRefForLevel = MeGUI.packages.video.x265.x265SettingsHandler.getMaxRefForLevel(avcLevel, hRes, vRes); * if (iMaxRefForLevel > -1 && iMaxRefForLevel < iDefaultSetting) * iDefaultSetting = iMaxRefForLevel; * }*/ return(iDefaultSetting); }
/// <summary> /// default constructor, initializes codec default values /// </summary> public x265Settings() : base(ID, VideoEncoderType.X265) { preset = x265PresetLevelModes.medium; psyTuningMode = x265PsyTuningModes.NONE; deadZoneInter = 21; deadZoneIntra = 11; noFastPSkip = false; ssimCalc = false; psnrCalc = false; EncodingMode = 2; BitrateQuantizer = 28; KeyframeInterval = 250; nbRefFrames = 3; noMixedRefs = false; NbBframes = 3; deblock = true; alphaDeblock = 0; betaDeblock = 0; cabac = true; weightedBPrediction = true; weightedPPrediction = 2; NewadaptiveBFrames = 1; bFramePyramid = 2; subPelRefinement = 7; psyRDO = new decimal(1.0); psyTrellis = new decimal(0.0); macroBlockOptions = 3; chromaME = true; p8x8mv = true; b8x8mv = true; p4x4mv = false; i4x4mv = true; i8x8mv = true; MinQuantizer = 0; MaxQuantizer = 69; maxQuantDelta = 4; CreditsQuantizer = new decimal(40); ipFactor = new decimal(1.4); pbFactor = new decimal(1.3); chromaQPOffset = new decimal(0.0); vbvBufferSize = 0; vbvMaxBitrate = 0; vbvInitialBuffer = new decimal(0.9); bitrateVariance = 1; quantCompression = new decimal(0.6); tempComplexityBlur = 20; tempQuanBlurCC = new decimal(0.5); bframePredictionMode = 1; scdSensitivity = new decimal(40); bframeBias = new decimal(0); meType = 1; meRange = 16; NbThreads = 0; minGOPSize = 25; adaptiveDCT = true; quantizerMatrix = ""; quantizerMatrixType = 0; // none base.MaxNumberOfPasses = 3; AQMode = 1; AQStrength = new decimal(1.0); useQPFile = false; qpfile = ""; FullRange = false; range = "auto"; advSet = false; lookahead = 40; noMBTree = true; threadInput = true; noPsy = false; scenecut = true; slicesnb = 0; maxSliceSyzeBytes = 0; maxSliceSyzeMBs = 0; x265Nalhrd = 0; sampleAR = 0; colorMatrix = 0; transfer = 0; colorPrim = 0; profile = 3; // Autoguess. High if using default options. avcLevel = AVCLevels.Levels.L_UNRESTRICTED; openGop = "False"; picStruct = false; fakeInterlaced = false; nonDeterministic = false; _gopCalculation = 1; quantizerCrf = 23; tuneFastDecode = tuneZeroLatency = false; stitchable = false; }
public static int GetDefaultNumberOfRefFrames(x265PresetLevelModes oPreset, x265PsyTuningModes oTuningMode, bool blurayCompat) { return(GetDefaultNumberOfRefFrames(oPreset, oTuningMode, blurayCompat, -1, -1)); }