# Generic
Advanced="Advanced Options"
Channel.Red="Red"
Channel.Green="Green"
Channel.Blue="Blue"
Channel.Alpha="Alpha"
FileType.Image="Image"
FileType.Images="Images"
FileType.Video="Video"
FileType.Videos="Videos"
FileType.Sound="Sound"
FileType.Sounds="Sounds"
FileType.Effect="Effect"
FileType.Effects="Effects"
SourceType.Source="Source"
SourceType.Scene="Scene"
Alignment.Center="Center"
Alignment.Left="Left"
Alignment.Right="Right"
Alignment.Top="Top"
Alignment.Bottom="Bottom"
State.Disabled="Disabled"
State.Enabled="Enabled"
State.Manual="Manual"
State.Automatic="Automatic"
State.Default="Default"

# Front-end
UI.Menu="StreamFX"
UI.Menu.Website="Visit the Website"
UI.Menu.Discord="Join the Discord"
UI.Menu.Github="Source Code on Github"
UI.Menu.ReportIssue="Report a Bug or Crash"
UI.Menu.RequestHelp="Request Help && Support"
UI.Menu.About="About StreamFX"
UI.About.Title="About StreamFX"
UI.About.Text="<html><head/><body><p>StreamFX is made possible by all the supporters on <a href='https://patreon.com/Xaymar'><span style='text-decoration: underline;'>Patreon</span></a>, on <a href='https://github.com/sponsors/xaymar'><span style='text-decoration: underline;'>Github Sponsors</span></a>, and anyone donating through <a href='https://paypal.me/Xaymar'><span style='text-decoration: underline;'>PayPal</span></a>. Additional thanks go out to all the translators helping out with the localization on <a href='https://crowdin.com/project/obs-stream-effects'><span style='text-decoration: underline;'>Crowdin</span></a>. You all are amazing!</p></body></html>"
UI.About.Role.Contributor="Contributor"
UI.About.Role.Translator="Translator"
UI.About.Role.Family="%s's Family"
UI.About.Role.Friend="%s's Friend"
UI.About.Role.Supporter.Github="Github Sponsor"
UI.About.Role.Supporter.Patreon="Patreon Supporter"
UI.About.Role.Supporter.Twitch="Twitch Subscriber"
UI.About.Role.Creator="Content Creator"
UI.About.Version="Version:"

# Front-end - Updater
UI.Updater.Dialog.Title="StreamFX Version %s is now available!"
UI.Updater.Dialog.Text="A new version of StreamFX is available to download."
UI.Updater.Dialog.Version.Current="Current Version:"
UI.Updater.Dialog.Version.Latest="Latest Version:"
UI.Updater.Dialog.Button.Ok="Open Download Page"
UI.Updater.Dialog.Button.Cancel="Remind me later"
UI.Updater.GitHubPermission.Title="StreamFX requires your permission to connect to GitHub!"
UI.Updater.GitHubPermission.Text="In order to provide manual or automated update checking, StreamFX relies on the GitHub API to retrieve the latest information.<br>Please read the <a href='https://docs.github.com/en/github/site-policy/github-privacy-statement'><span style='text-decoration: underline;'>Github Privacy Statement</span></a>, and click 'OK' if you agree, or 'Cancel' if you disagree."
UI.Updater.Menu.CheckForUpdates="Check for Updates"
UI.Updater.Menu.CheckForUpdates.Automatically="Automatically check for Updates"
UI.Updater.Menu.Channel="Update Channel"
UI.Updater.Menu.Channel.Release="Release"
UI.Updater.Menu.Channel.Testing="Testing"

# Blur
Blur.Type.Box="Box"
Blur.Type.Box.Description="The 'Box' blur takes the average of all pixels in the given area, which results in its distinct box shape."
Blur.Type.BoxLinear="Box Linear"
Blur.Type.BoxLinear.Description="This is a slightly optimized version of the 'Box' blur, which attempts to halve the required samples at the cost of some quality."
Blur.Type.Gaussian="Gaussian"
Blur.Type.Gaussian.Description="The 'Gaussian' uses the gaussian bell curve as a weight for each pixel to add in the given area, which results in a smooth shape. This is a very expensive blur, and should be avoided unless necessary - consider using 'Dual Filtering' for larger blur sizes instead."
Blur.Type.GaussianLinear="Gaussian Linear"
Blur.Type.GaussianLinear.Description="This is a slightly optimized version of the 'Gaussian' blur, which attempts to halve the required samples at the cost of quality. In almost all cases it is recommended to instead use 'Dual Filtering' if performance matters."
Blur.Type.DualFiltering="Dual Filtering"
Blur.Type.DualFiltering.Description="The 'Dual Filtering' method is an approximation of 'Gaussian' blur which achieves a ~95% identical image to 'Gaussian' blur, though has less features available. It's performance impact should be minimal to unnoticable, which makes it perfect for large blur sizes."
Blur.Subtype.Area="Area"
Blur.Subtype.Area.Description="Area blurring is the default way to blur and blurs both horizontally and vertically.\nThe effect can be compared to an object that is out of focus in a camera."
Blur.Subtype.Directional="Directional"
Blur.Subtype.Directional.Description="Directional blurring allows control of the exact direction in which blur should happen.\nThe effect is similar to a camera in motion, or an object being in motion."
Blur.Subtype.Rotational="Rotational"
Blur.Subtype.Rotational.Description="Rotational blurring performs blurring in a circle around a center point.\nThe effect is very similar to rolling a camera around the center point of its sensor."
Blur.Subtype.Zoom="Zoom"
Blur.Subtype.Zoom.Description="Zoom blurring performs blurring in a line towards a center point.\nThe effect is similar to moving a camera forward towards to or backwards away from something."

# Mip Generator
MipGenerator="Mip-Map Generator"
MipGenerator.Description="Which Mip-Map generator should be used?"
MipGenerator.Point="Point"
MipGenerator.Point.Description="Simple point sampling resulting in a very aliased image, comparable to no Mip-Mapping at all."
MipGenerator.Linear="Linear"
MipGenerator.Linear.Description="Linear sampled Mip-Maps which can be quickly generated, but only result in okay looking smooth Mip-Maps."
MipGenerator.Sharpen="Sharpen"
MipGenerator.Sharpen.Description="Linear sampled Mip-Maps with additional sharpen, allowing details to be kept in the Mip-Maps."
MipGenerator.Smoothen="Smoothen"
MipGenerator.Smoothen.Description="Linear sampled Mip-Maps with additional smoothing, reducing details in the Mip-Maps."
MipGenerator.Bicubic="Bicubic"
MipGenerator.Lanczos="Lanczos"
MipGenerator.Intensity="Intensity"
MipGenerator.Intensity.Description="Intensity of the generator."

# Shader
Shader="Shader"
Shader.Refresh="Refresh Options and Parameters"
Shader.Shader="Shader Options"
Shader.Shader.File="File"
Shader.Shader.File.Description="Which file should be loaded as a shader?"
Shader.Shader.Technique="Technique"
Shader.Shader.Technique.Description="What shader technique should be drawn?"
Shader.Shader.Size="Size"
Shader.Shader.Size.Description="Size of the source, can be one of the following units:\n- '###.##%' which is relative to the parent source, filter or scene.\n- '###' to specify the size in pixels. (Default)\nIf the value can't be parsed, it will be treated as 100%."
Shader.Shader.Size.Width="Width"
Shader.Shader.Size.Height="Height"
Shader.Shader.Seed="Randomization Seed"
Shader.Shader.Seed.Description="Seed used for the Per-Instance, Per-Activation and Per-Frame random values.\nThe same seed will always produce identical results if the identical number of runs were made."
Shader.Parameters="Shader Parameters"
Shader.Parameters.Description="All the shader parameters that the loaded shader offers.\nMake sure to refresh these every now and then."
Filter.Shader="Shader"
Source.Shader="Shader"
Transition.Shader="Shader"

# Filter - Blur
Filter.Blur="Blur"
Filter.Blur.Type="Type"
Filter.Blur.Type.Description="The type of blur to apply."
Filter.Blur.Subtype="Subtype"
Filter.Blur.Subtype.Description="The way this blur should be applied."
Filter.Blur.Size="Size"
Filter.Blur.Size.Description="Size of the blur filter to apply. Large sizes may have a negative effect on performance."
Filter.Blur.Angle="Angle (Degrees)"
Filter.Blur.Angle.Description="Angle of the Blur"
Filter.Blur.Center.X="Center (X) (Percent)"
Filter.Blur.Center.X.Description="The horizontal center of the blur effect, in percent."
Filter.Blur.Center.Y="Center (Y) (Percent)"
Filter.Blur.Center.Y.Description="The vertical center of the blur effect, in percent."
Filter.Blur.StepScale="Step Scaling"
Filter.Blur.StepScale.Description="Scale the texel step used in the Blur shader, which allows for smaller Blur sizes to cover more space, at the cost of some quality.\nCan be combined with Directional Blur to change the behavior drastically."
Filter.Blur.StepScale.X="Step Scale X"
Filter.Blur.StepScale.Y="Step Scale Y"
Filter.Blur.Mask="Apply a Mask"
Filter.Blur.Mask.Description="Apply a mask to the area that needs to be blurred, which allows for more control over the blurred area."
Filter.Blur.Mask.Type="Mask Type"
Filter.Blur.Mask.Type.Description="What kind of mask to you want to apply?"
Filter.Blur.Mask.Type.Region="Region"
Filter.Blur.Mask.Type.Image="Image"
Filter.Blur.Mask.Type.Source="Source"
Filter.Blur.Mask.Region.Left="Left Edge"
Filter.Blur.Mask.Region.Left.Description="Distance to left edge of the source in percent."
Filter.Blur.Mask.Region.Top="Top Edge"
Filter.Blur.Mask.Region.Top.Description="Distance to top edge of the source in percent."
Filter.Blur.Mask.Region.Right="Right Edge"
Filter.Blur.Mask.Region.Right.Description="Distance to right edge of the source in percent."
Filter.Blur.Mask.Region.Bottom="Bottom Edge"
Filter.Blur.Mask.Region.Bottom.Description="Distance to bottom edge of the source in percent."
Filter.Blur.Mask.Region.Feather="Feather Area"
Filter.Blur.Mask.Region.Feather.Description="The size of the feathering area in percent of the source size.\nFeathering allows for a smooth gradient between blurred and original image."
Filter.Blur.Mask.Region.Feather.Shift="Feather Shift"
Filter.Blur.Mask.Region.Feather.Shift.Description="The shift of the feathering area in percent.\nPositive values push the feathering area into the region, while negative values push the feathering area out of the region."
Filter.Blur.Mask.Region.Invert="Invert Region"
Filter.Blur.Mask.Region.Invert.Description="Invert the region so that everything but this area is blurred."
Filter.Blur.Mask.Image="Image Mask"
Filter.Blur.Mask.Image.Description="Image to use for the mask."
Filter.Blur.Mask.Source="Source Mask"
Filter.Blur.Mask.Source.Description="Source to use for the mask."
Filter.Blur.Mask.Color="Mask Color Filter"
Filter.Blur.Mask.Color.Description="Filter the mask by this color before applying it."
Filter.Blur.Mask.Alpha="Mask Alpha Filter"
Filter.Blur.Mask.Alpha.Description="Filter the mask by this alpha value before applying it."
Filter.Blur.Mask.Multiplier="Mask Multiplier"
Filter.Blur.Mask.Multiplier.Description="Multiply the final mask value by this value."

# Filter - Color Grade
Filter.ColorGrade="Color Grading"
Filter.ColorGrade.Tool="Color Grading Tool"
Filter.ColorGrade.Lift="Lift"
Filter.ColorGrade.Lift.Red="Red Lift"
Filter.ColorGrade.Lift.Green="Green Lift"
Filter.ColorGrade.Lift.Blue="Blue Lift"
Filter.ColorGrade.Lift.All="All Lift"
Filter.ColorGrade.Gamma="Gamma"
Filter.ColorGrade.Gamma.Red="Red Gamma"
Filter.ColorGrade.Gamma.Green="Green Gamma"
Filter.ColorGrade.Gamma.Blue="Blue Gamma"
Filter.ColorGrade.Gamma.All="All Gamma"
Filter.ColorGrade.Gain="Gain"
Filter.ColorGrade.Gain.Red="Red Gain"
Filter.ColorGrade.Gain.Green="Green Gain"
Filter.ColorGrade.Gain.Blue="Blue Gain"
Filter.ColorGrade.Gain.All="All Gain"
Filter.ColorGrade.Offset="Offset"
Filter.ColorGrade.Offset.Red="Red Offset"
Filter.ColorGrade.Offset.Green="Green Offset"
Filter.ColorGrade.Offset.Blue="Blue Offset"
Filter.ColorGrade.Offset.All="All Offset"
Filter.ColorGrade.Tint="Tint"
Filter.ColorGrade.Tint.Detection="Tint Luma Detection Method"
Filter.ColorGrade.Tint.Detection.HSV="Hue Saturation Value"
Filter.ColorGrade.Tint.Detection.HSL="Hue Saturation Lightness"
Filter.ColorGrade.Tint.Detection.YUV.SDR="Luma Chroma (BT.709 SDR)"
Filter.ColorGrade.Tint.Mode="Tint Luma Mode"
Filter.ColorGrade.Tint.Mode.Linear="Linear"
Filter.ColorGrade.Tint.Mode.Exp="Exp"
Filter.ColorGrade.Tint.Mode.Exp2="Exp2"
Filter.ColorGrade.Tint.Mode.Log="Log"
Filter.ColorGrade.Tint.Mode.Log10="Log10"
Filter.ColorGrade.Tint.Exponent="Tint Luma Exponent"
Filter.ColorGrade.Tint.Shadow.Red="Shadow Red Tint"
Filter.ColorGrade.Tint.Shadow.Green="Shadow Green Tint"
Filter.ColorGrade.Tint.Shadow.Blue="Shadow Blue Tint"
Filter.ColorGrade.Tint.Midtone.Red="Midtone Red Tint"
Filter.ColorGrade.Tint.Midtone.Green="Midtone Green Tint"
Filter.ColorGrade.Tint.Midtone.Blue="Midtone Blue Tint"
Filter.ColorGrade.Tint.Highlight.Red="Highlight Red Tint"
Filter.ColorGrade.Tint.Highlight.Green="Highlight Green Tint"
Filter.ColorGrade.Tint.Highlight.Blue="Highlight Blue Tint"
Filter.ColorGrade.Correction="Color Correction"
Filter.ColorGrade.Correction.Hue="Hue Shift"
Filter.ColorGrade.Correction.Saturation="Saturation"
Filter.ColorGrade.Correction.Lightness="Lightness"
Filter.ColorGrade.Correction.Contrast="Contrast"

# Filter - Displacement
Filter.Displacement="Displacement Mapping"
Filter.Displacement.File="File"
Filter.Displacement.File.Description="Image file to use as the displacement map."
Filter.Displacement.Scale="Scale"
Filter.Displacement.Scale.Description="Scale of the displacement, either in pixels (Scale Type = 100.0) or in UVs (Scale Type = 0.0)."
Filter.Displacement.Scale.Type="Scaling Type"
Filter.Displacement.Scale.Type.Description="Type of the displacement scale, with\nvalues closer to 0.00 being UV space and\nvalues closer to 100.00 being Pixel space."

# Filter - Dynamic Mask
Filter.DynamicMask="Dynamic Mask"
Filter.DynamicMask.Input="Input Source"
Filter.DynamicMask.Input.Description="Input source to use for all further calculations, may also be left blank to use itself as the input.\nSets 'source' in the calculation 'mask[%s] = (base[%s] + value[%s][Red] * source[Red] + value[%s][Green] * source[Green] + value[%s][Blue] * source[Blue] + value[%s] * source[Alpha]) * multiplier[%s]'."
Filter.DynamicMask.Channel="%s Channel"
Filter.DynamicMask.Channel.Value="Base Value"
Filter.DynamicMask.Channel.Value.Description="The base value before everything else is added to it.\nSets 'base[%s]' in the calculation 'mask[%s] = (base[%s] + value[%s][Red] * source[Red] + value[%s][Green] * source[Green] + value[%s][Blue] * source[Blue] + value[%s] * source[Alpha]) * multiplier[%s]'."
Filter.DynamicMask.Channel.Multiplier="Multiplier"
Filter.DynamicMask.Channel.Multiplier.Description="The multiplier value that everything is multiplied with.\nSets 'multiplier[%s]' in the calculation 'mask[%s] = (base[%s] + value[%s][Red] * source[Red] + value[%s][Green] * source[Green] + value[%s][Blue] * source[Blue] + value[%s] * source[Alpha]) * multiplier[%s]'."
Filter.DynamicMask.Channel.Input="%s Input Value"
Filter.DynamicMask.Channel.Input.Description="The input value for channel %s.\nSets 'value[%s][%s]' in the calculation 'mask[%s] = (base[%s] + value[%s][Red] * source[Red] + value[%s][Green] * source[Green] + value[%s][Blue] * source[Blue] + value[%s][Alpha] * source[Alpha]) * multiplier[%s]'."

# Filter - Nvidia Face Tracking
Filter.Nvidia.FaceTracking="NVIDIA Face Tracking"
Filter.Nvidia.FaceTracking.ROI="Region of Interest"
Filter.Nvidia.FaceTracking.ROI.Zoom="Zoom"
Filter.Nvidia.FaceTracking.ROI.Zoom.Description="Restrict the maximum zoom level based on the current maximum and minimum zoom level.\nValues above 100% zoom into the face, while values below 100% will keep their distance from the face."
Filter.NVidia.FaceTracking.ROI.Offset="Offset"
Filter.NVidia.FaceTracking.ROI.Offset.X="X"
Filter.NVidia.FaceTracking.ROI.Offset.X.Description="Horizontal offset relative to center of the detected face."
Filter.Nvidia.FaceTracking.ROI.Offset.Y="Y"
Filter.NVidia.FaceTracking.ROI.Offset.Y.Description="Vertical offset relative to center of the detected face."
Filter.Nvidia.FaceTracking.ROI.Stability="Stability"
Filter.NVidia.FaceTracking.ROI.Stability.Description="Controls the responsiveness of the tracking filter to filter out noisy and/or bad results.\nValues closer to 0% will be quicker but more noisy, while values closer to 100% will be slower but noise free.\nDue to unique noise patterns of modern Webcams, there is no universal setting for this."

# Filter - SDF Effects
Filter.SDFEffects="SDF Effects"
Filter.SDFEffects.Shadow.Inner="Inner Shadow"
Filter.SDFEffects.Shadow.Inner.Description="Draw a shadow on the inside of the source?"
Filter.SDFEffects.Shadow.Inner.Range.Minimum="Inner Shadow Minimum Distance"
Filter.SDFEffects.Shadow.Inner.Range.Maximum="Inner Shadow Maximum Distance"
Filter.SDFEffects.Shadow.Inner.Offset.X="Inner Shadow Offset X"
Filter.SDFEffects.Shadow.Inner.Offset.Y="Inner Shadow Offset Y"
Filter.SDFEffects.Shadow.Inner.Color="Inner Shadow Color"
Filter.SDFEffects.Shadow.Inner.Alpha="Inner Shadow Alpha"
Filter.SDFEffects.Shadow.Outer="Outer Shadow"
Filter.SDFEffects.Shadow.Outer.Description="Draw a shadow on the outside of the source?"
Filter.SDFEffects.Shadow.Outer.Range.Minimum="Outer Shadow Minimum Distance"
Filter.SDFEffects.Shadow.Outer.Range.Maximum="Outer Shadow Maximum Distance"
Filter.SDFEffects.Shadow.Outer.Offset.X="Outer Shadow Offset X"
Filter.SDFEffects.Shadow.Outer.Offset.Y="Outer Shadow Offset Y"
Filter.SDFEffects.Shadow.Outer.Color="Outer Shadow Color"
Filter.SDFEffects.Shadow.Outer.Alpha="Outer Shadow Alpha"
Filter.SDFEffects.Glow.Outer="Outer Glow"
Filter.SDFEffects.Glow.Outer.Description="Draw an outline?"
Filter.SDFEffects.Glow.Outer.Color="Outer Glow Color"
Filter.SDFEffects.Glow.Outer.Color.Description="Color of the Glow."
Filter.SDFEffects.Glow.Outer.Alpha="Outer Glow Alpha"
Filter.SDFEffects.Glow.Outer.Alpha.Description="Alpha of the Glow."
Filter.SDFEffects.Glow.Outer.Width="Outer Glow Width"
Filter.SDFEffects.Glow.Outer.Width.Description="Size of the glow from the center line."
Filter.SDFEffects.Glow.Outer.Sharpness="Outer Glow Sharpness"
Filter.SDFEffects.Glow.Outer.Sharpness.Description="The sharpness of the glow in percent, with higher values being sharper."
Filter.SDFEffects.Glow.Inner="Inner Glow"
Filter.SDFEffects.Glow.Inner.Description="Draw an outline?"
Filter.SDFEffects.Glow.Inner.Color="Inner Glow Color"
Filter.SDFEffects.Glow.Inner.Color.Description="Color of the Glow."
Filter.SDFEffects.Glow.Inner.Alpha="Inner Glow Alpha"
Filter.SDFEffects.Glow.Inner.Alpha.Description="Alpha of the Glow."
Filter.SDFEffects.Glow.Inner.Width="Inner Glow Width"
Filter.SDFEffects.Glow.Inner.Width.Description="Size of the glow from the center."
Filter.SDFEffects.Glow.Inner.Sharpness="Inner Glow Sharpness"
Filter.SDFEffects.Glow.Inner.Sharpness.Description="The sharpness of the glow in percent, with higher values being sharper."
Filter.SDFEffects.Outline="Outline"
Filter.SDFEffects.Outline.Description="Draw an outline?"
Filter.SDFEffects.Outline.Color="Outline Color"
Filter.SDFEffects.Outline.Color.Description="Color of the Outline."
Filter.SDFEffects.Outline.Alpha="Outline Alpha"
Filter.SDFEffects.Outline.Alpha.Description="Alpha of the Outline."
Filter.SDFEffects.Outline.Width="Outline Width"
Filter.SDFEffects.Outline.Width.Description="Size of the outline in both direction from the center."
Filter.SDFEffects.Outline.Offset="Outline Offset"
Filter.SDFEffects.Outline.Offset.Description="Moves the center line by the given offset.\nA positive offset pushes the outline away from the source, while a negative one pulls it into the source."
Filter.SDFEffects.Outline.Sharpness="Outline Sharpness"
Filter.SDFEffects.Outline.Sharpness.Description="The sharpness of the outline in percent, with higher values being sharper."
Filter.SDFEffects.SDF.Scale="SDF Texture Scale"
Filter.SDFEffects.SDF.Scale.Description="Percentage to scale the SDF Texture Size by, relative to the Source Size.\nA higher value results in better quality, but slower updates,\n while lower values result in faster updates, but lower quality."
Filter.SDFEffects.SDF.Threshold="SDF Alpha Threshold"
Filter.SDFEffects.SDF.Threshold.Description="Minimum opacity value in percent for SDF generation to consider the pixel solid."

# Filter - Transform
Filter.Transform="3D Transform"
Filter.Transform.Camera="Camera"
Filter.Transform.Camera.Description="Projection mode used by the camera."
Filter.Transform.Camera.Orthographic="Orthographic"
Filter.Transform.Camera.Perspective="Perspective"
Filter.Transform.Camera.FieldOfView="Field Of View"
Filter.Transform.Camera.FieldOfView.Description="Vertical Field of View of the camera."
Filter.Transform.Position="Position"
Filter.Transform.Position.Description="Position of the rendered quad."
Filter.Transform.Position.X="X"
Filter.Transform.Position.Y="Y"
Filter.Transform.Position.Z="Z"
Filter.Transform.Scale="Scale"
Filter.Transform.Scale.Description="Scale of the rendered quad."
Filter.Transform.Scale.X="X"
Filter.Transform.Scale.Y="Y"
Filter.Transform.Shear="Shear"
Filter.Transform.Shear.Description="Shearing of the rendered quad."
Filter.Transform.Shear.X="X"
Filter.Transform.Shear.Y="Y"
Filter.Transform.Rotation="Rotation"
Filter.Transform.Rotation.Description="Euler rotation of the rendered quad, applied using the rotation order."
Filter.Transform.Rotation.X="Pitch (X)"
Filter.Transform.Rotation.Y="Yaw (Y)"
Filter.Transform.Rotation.Z="Roll (Z)"
Filter.Transform.Rotation.Order="Rotation Order"
Filter.Transform.Rotation.Order.Description="The order in which to apply the euler angles to the rendered quad."
Filter.Transform.Rotation.Order.XYZ="Pitch, Yaw, Roll"
Filter.Transform.Rotation.Order.XZY="Pitch, Roll, Yaw"
Filter.Transform.Rotation.Order.YXZ="Yaw, Pitch, Roll"
Filter.Transform.Rotation.Order.YZX="Yaw, Roll, Pitch"
Filter.Transform.Rotation.Order.ZXY="Roll, Pitch, Yaw"
Filter.Transform.Rotation.Order.ZYX="Roll, Yaw, Pitch"
Filter.Transform.Mipmapping="Enable Mipmapping"
Filter.Transform.Mipmapping.Description="Generate mipmaps for the source, so that angled and far away parts are smoother."

# Source - Mirror
Source.Mirror="Source Mirror"
Source.Mirror.Source="Source"
Source.Mirror.Source.Description="Which Source should be mirrored?"
Source.Mirror.Source.Audio="Enable Audio"
Source.Mirror.Source.Audio.Description="Enables audio mirroring from this source."
Source.Mirror.Source.Audio.Layout="Audio Layout"
Source.Mirror.Source.Audio.Layout.Description="Override the audio layout if the automatically detected one doesn't match the source.\nThis does not perform down or upmixing of any kind."
Source.Mirror.Source.Audio.Layout.Unknown="Unknown"
Source.Mirror.Source.Audio.Layout.Mono="Mono"
Source.Mirror.Source.Audio.Layout.Stereo="Stereo"
Source.Mirror.Source.Audio.Layout.StereoLFE="Stereo with LFE"
Source.Mirror.Source.Audio.Layout.Quadraphonic="Quadraphonic"
Source.Mirror.Source.Audio.Layout.QuadraphonicLFE="Quadraphonic With LFE"
Source.Mirror.Source.Audio.Layout.Surround="Surround"
Source.Mirror.Source.Audio.Layout.FullSurround="Full Surround"

# Codec: H264
Codec.H264="H264"
Codec.H264.Profile="Profile"
Codec.H264.Profile.baseline="Baseline"
Codec.H264.Profile.main="Main"
Codec.H264.Profile.high="High"
Codec.H264.Profile.high444p="High 4:4:4 Predictive"
Codec.H264.Profile.Description="H.264 profile determines which features of the codec can be used.\nHigh 4:4:4 Predictive is required for YUV 4:4:4 color space."
Codec.H264.Level="Level"
Codec.H264.Level.Description="Level determines the upper limits of resolution, frame rate and bitrate for the video."

# Codec: HEVC
Codec.HEVC="HEVC"
Codec.HEVC.Profile="Profile"
Codec.HEVC.Profile.main="Main"
Codec.HEVC.Profile.main10="Main 10-bit"
Codec.HEVC.Profile.rext="Range Extended"
Codec.HEVC.Profile.Description="H.265 profile determines which features of the codec can be used."
Codec.HEVC.Tier="Tier"
Codec.HEVC.Tier.main="Main"
Codec.HEVC.Tier.high="High"
Codec.HEVC.Tier.Description="H.265 tier determines the bitrate guidelines used for the video."
Codec.HEVC.Level="Level"
Codec.HEVC.Level.Description="Level determines the upper limits of resolution and frame rate."

# Codec: Apple ProRes
Codec.ProRes.Profile="Profile"
Codec.ProRes.Profile.APCO="422 Proxy (APCO)"
Codec.ProRes.Profile.APCS="422 Lite/LT (APCS)"
Codec.ProRes.Profile.APCN="422 Standard (APCN)"
Codec.ProRes.Profile.APCH="422 High Quality/HQ (APCH)"
Codec.ProRes.Profile.AP4H="4444 High Quality/HQ (AP4H)"
Codec.ProRes.Profile.AP4X="4444 Extreme Quality/XQ (AP4X)"

# Encoder: FFmpeg
FFmpegEncoder="FFmpeg Options"
FFmpegEncoder.Suffix=" (via FFmpeg)"
FFmpegEncoder.CustomSettings="Custom Settings"
FFmpegEncoder.CustomSettings.Description="Override any options shown (or not shown) above with your own.\nThe format is similar to that of the FFmpeg command line:\n  -key=value -key2=value2 -key3='quoted value'"
FFmpegEncoder.Threads="Number of Threads"
FFmpegEncoder.Threads.Description="The number of threads to use for encoding, if supported by the encoder.\nA value of 0 is equal to 'auto-detect' and may result in excessive CPU usage."
FFmpegEncoder.ColorFormat="Override Color Format"
FFmpegEncoder.ColorFormat.Description="Overriding the color format can unlock higher quality, but might cause additional stress.\nNot all encoders support all color formats, and you might end up causing errors or corrupted video due to this."
FFmpegEncoder.StandardCompliance="Standard Compliance"
FFmpegEncoder.StandardCompliance.Description="How strict should the encoder keep to the standard? A strictness below 'Normal' may cause issues with playback."
FFmpegEncoder.StandardCompliance.VeryStrict="Very Strict"
FFmpegEncoder.StandardCompliance.Strict="Strict"
FFmpegEncoder.StandardCompliance.Normal="Normal"
FFmpegEncoder.StandardCompliance.Unofficial="Unofficial"
FFmpegEncoder.StandardCompliance.Experimental="Experimental"
FFmpegEncoder.GPU="GPU"
FFmpegEncoder.GPU.Description="For multiple GPU systems, selects which GPU to use as the main encoder"
FFmpegEncoder.KeyFrames="Key Frames"
FFmpegEncoder.KeyFrames.IntervalType="Interval Type"
FFmpegEncoder.KeyFrames.IntervalType.Frames="Frames"
FFmpegEncoder.KeyFrames.IntervalType.Seconds="Seconds"
FFmpegEncoder.KeyFrames.IntervalType.Description="Keyframe interval type"
FFmpegEncoder.KeyFrames.Interval.Description="Distance between key frames, in frames or seconds."
FFmpegEncoder.KeyFrames.Interval="Interval"

# Encoder: AMF
FFmpegEncoder.AMF.Preset="Preset"
FFmpegEncoder.AMF.Preset.Description="The preset to use for encoding, which sets up internal values in the driver for encoding.\nThe names roughly match the expected encoding speed, but quality varies.\nIt is entirely possible to get a better quality with Balanced than with Quality at low bitrates."
FFmpegEncoder.AMF.Preset.Speed="Speed"
FFmpegEncoder.AMF.Preset.Balanced="Balanced"
FFmpegEncoder.AMF.Preset.Quality="Quality"
FFmpegEncoder.AMF.RateControl="Rate Control Options"
FFmpegEncoder.AMF.RateControl.Mode="Mode"
FFmpegEncoder.AMF.RateControl.Mode.Description="Rate control mode selection"
FFmpegEncoder.AMF.RateControl.Mode.CQP="Constant Quantization Parameter"
FFmpegEncoder.AMF.RateControl.Mode.CQP.Description="A flat compression ratio with no regard for bit rates."
FFmpegEncoder.AMF.RateControl.Mode.VBR_PEAK="Variable Bitrate (Peak Constrained)"
FFmpegEncoder.AMF.RateControl.Mode.VBR_PEAK.Description="TODO"
FFmpegEncoder.AMF.RateControl.Mode.VBR_LATENCY="Variable Bitrate (Latency Constrained)"
FFmpegEncoder.AMF.RateControl.Mode.VBR_LATENCY.Description="TODO"
FFmpegEncoder.AMF.RateControl.Mode.CBR="Constant Bitrate"
FFmpegEncoder.AMF.RateControl.Mode.CBR.Description="Compresses footage so that it matches the target bitrate over the duration of\none second. This comes at a cost in quality during high motion scenes or\nscenes with flickering brightness like often seen in RPGs."
FFmpegEncoder.AMF.RateControl.LookAhead="Look Ahead"
FFmpegEncoder.AMF.RateControl.LookAhead.Description="Look ahead in the encoding, slightly increasing latency but improving bitrate distribution over time."
FFmpegEncoder.AMF.RateControl.FrameSkipping="Frame Skipping"
FFmpegEncoder.AMF.RateControl.FrameSkipping.Description="Allow skipping frames to meet the bitrate target/maximum."
FFmpegEncoder.AMF.RateControl.Limits="Limits"
FFmpegEncoder.AMF.RateControl.Limits.BufferSize="Buffer Size"
FFmpegEncoder.AMF.RateControl.Limits.BufferSize.Description="Specifies the buffer size used for bitrate constrained modes.\nIdeally set to (KeyFrame Interval In Seconds * Bitrate Target), so at 2 seconds and 6000 kbit it should be 12000."
FFmpegEncoder.AMF.RateControl.Limits.Bitrate.Target="Target Bitrate"
FFmpegEncoder.AMF.RateControl.Limits.Bitrate.Maximum="Maximum Bitrate"
FFmpegEncoder.AMF.RateControl.QP="Quantization Parameters"
FFmpegEncoder.AMF.RateControl.QP.I="I-Frame QP"
FFmpegEncoder.AMF.RateControl.QP.I.Description="Quantization parameter for I-Frames.\nSmaller values mean better quality in exchange for higher bitrate, while higher values mean less bitrate in exchange for less quality."
FFmpegEncoder.AMF.RateControl.QP.P="P-Frame QP"
FFmpegEncoder.AMF.RateControl.QP.P.Description="Quantization parameter for P-Frames.\nSmaller values mean better quality in exchange for higher bitrate, while higher values mean less bitrate in exchange for less quality."
FFmpegEncoder.AMF.RateControl.QP.B="B-Frame QP"
FFmpegEncoder.AMF.RateControl.QP.B.Description="Quantization parameter for B-Frames.\nSmaller values mean better quality in exchange for higher bitrate, while higher values mean less bitrate in exchange for less quality."
FFmpegEncoder.AMF.Other="Other Options"
FFmpegEncoder.AMF.Other.BFrames="Maximum B-Frames"
FFmpegEncoder.AMF.Other.BFrames.Description="Maximum number of B-Frames to insert into the encoded bitstream.\nActual number of B-Frames may be lower depending on content and lookahead settings.\nB-Frames may not be supported on all AMD GPUs."
FFmpegEncoder.AMF.Other.BFrameReferences="B-Frame References"
FFmpegEncoder.AMF.Other.BFrameReferences.Description="Enable references to B-Frames, which can improve quality but reduces encoder performance drastically."
FFmpegEncoder.AMF.Other.ReferenceFrames="Reference Frames"
FFmpegEncoder.AMF.Other.ReferenceFrames.Description="Maximum number of reference frames to create in the encoded footage.\nActual number may be lower and is decided by the encoder."
FFmpegEncoder.AMF.Other.EnforceHRD="Enforce HRD"
FFmpegEncoder.AMF.Other.EnforceHRD.Description="TODO"
FFmpegEncoder.AMF.Other.VBAQ="VBAQ"
FFmpegEncoder.AMF.Other.VBAQ.Description="Enable 'Variance (Based) Adaptive Quantization', which improves the bitrate distribution over the frame by focusing areas which need the detail, like edges and foliage.\nThis option is only available on newer AMD GPUs."
FFmpegEncoder.AMF.Other.AccessUnitDelimiter="Access Unit Delimiter"
FFmpegEncoder.AMF.Other.AccessUnitDelimiter.Description="Enable insertion of an Access Unit Delimiter."

# Encoder: NVENC
FFmpegEncoder.NVENC.Preset="Preset"
FFmpegEncoder.NVENC.Preset.Description="Presets are NVIDIA's preconfigured default settings.\nThe values set via the preset are overridden by parameters below, unless they are set to 'Default' or '-1'."
FFmpegEncoder.NVENC.Preset.Default="Default"
FFmpegEncoder.NVENC.Preset.Slow="Slow"
FFmpegEncoder.NVENC.Preset.Medium="Medium"
FFmpegEncoder.NVENC.Preset.Fast="Fast"
FFmpegEncoder.NVENC.Preset.HighPerformance="High Performance"
FFmpegEncoder.NVENC.Preset.HighQuality="High Quality"
FFmpegEncoder.NVENC.Preset.BluRayDisc="BluRay Disc"
FFmpegEncoder.NVENC.Preset.LowLatency="Low Latency"
FFmpegEncoder.NVENC.Preset.LowLatencyHighPerformance="Low Latency High Performance"
FFmpegEncoder.NVENC.Preset.LowLatencyHighQuality="Low Latency High Quality"
FFmpegEncoder.NVENC.Preset.Lossless="Lossless"
FFmpegEncoder.NVENC.Preset.LosslessHighPerformance="Lossless High Performance"
FFmpegEncoder.NVENC.RateControl="Rate Control Options"
FFmpegEncoder.NVENC.RateControl.Mode="Mode"
FFmpegEncoder.NVENC.RateControl.Mode.Description="Rate control mode selection"
FFmpegEncoder.NVENC.RateControl.Mode.CQP="Constant Quantization Parameter"
FFmpegEncoder.NVENC.RateControl.Mode.CQP.Description="A flat compression ratio with no regard for bit rates."
FFmpegEncoder.NVENC.RateControl.Mode.VBR="Variable Bitrate"
FFmpegEncoder.NVENC.RateControl.Mode.VBR.Description="Sacrifices quality to stay below the upper bitrate limit,\nor saves bitrate where possible."
FFmpegEncoder.NVENC.RateControl.Mode.VBR_HQ="High Quality Variable Bitrate"
FFmpegEncoder.NVENC.RateControl.Mode.VBR_HQ.Description="Variable Bitrate with two-pass encoding enabled by default."
FFmpegEncoder.NVENC.RateControl.Mode.CBR="Constant Bitrate"
FFmpegEncoder.NVENC.RateControl.Mode.CBR.Description="Compresses footage so that it matches the target bitrate over the duration of\none second. This comes at a cost in quality during high motion scenes or\nscenes with flickering brightness like often seen in RPGs."
FFmpegEncoder.NVENC.RateControl.Mode.CBR_HQ="High Quality Constant Bitrate"
FFmpegEncoder.NVENC.RateControl.Mode.CBR_HQ.Description="Constant Bitrate with two-pass encoding enabled by default."
FFmpegEncoder.NVENC.RateControl.Mode.CBR_LD_HQ="Low Delay High Quality Constant Bitrate"
FFmpegEncoder.NVENC.RateControl.Mode.CBR_LD_HQ.Description="Constant Bitrate optimized for lowest encoding latency."
FFmpegEncoder.NVENC.RateControl.TwoPass="Two Pass"
FFmpegEncoder.NVENC.RateControl.TwoPass.Description="Enable a secondary pass for encoding, which can help with quality and bitrate stability.\nImproves quality slightly at the cost of some GPU time.\nNvidia Turing hardware might actually see a quality degrade from this."
FFmpegEncoder.NVENC.RateControl.LookAhead="Look Ahead"
FFmpegEncoder.NVENC.RateControl.LookAhead.Description="Look ahead this many frames while encoding to better distribute bitrate.\nImproves quality slightly at the cost of some GPU time.\nSet to 0 to disable."
FFmpegEncoder.NVENC.RateControl.AdaptiveI="Adaptive I-Frames"
FFmpegEncoder.NVENC.RateControl.AdaptiveI.Description="Enables adaptive I-Frame insertion.\nOnly has an effect when look ahead is set to a value other than 0."
FFmpegEncoder.NVENC.RateControl.AdaptiveB="Adaptive B-Frames"
FFmpegEncoder.NVENC.RateControl.AdaptiveB.Description="Enables adaptive B-Frame insertion.\nOnly has an effect when look ahead is set to a value other than 0."
FFmpegEncoder.NVENC.RateControl.Limits="Limits"
FFmpegEncoder.NVENC.RateControl.Limits.BufferSize="Buffer Size"
FFmpegEncoder.NVENC.RateControl.Limits.BufferSize.Description="Specifies the buffer size used for bitrate constrained modes.\nIdeally set to (KeyFrame Interval In Seconds * Bitrate Target), so at 2 seconds and 6000 kbit it should be 12000."
FFmpegEncoder.NVENC.RateControl.Limits.Quality="Target Quality"
FFmpegEncoder.NVENC.RateControl.Limits.Quality.Description="Target quality to achieve, with values closer to 0 being better quality.\nSet to 0 to disable the target quality restriction."
FFmpegEncoder.NVENC.RateControl.Limits.Bitrate.Target="Target Bitrate"
FFmpegEncoder.NVENC.RateControl.Limits.Bitrate.Maximum="Maximum Bitrate"
FFmpegEncoder.NVENC.RateControl.QP="Quantization Parameters"
FFmpegEncoder.NVENC.RateControl.QP.Minimum="Minimum QP"
FFmpegEncoder.NVENC.RateControl.QP.Minimum.Description="Minimum QP to achieve, with values closer to 0 being better quality.\nSet to -1 to disable the maximum restriction."
FFmpegEncoder.NVENC.RateControl.QP.Maximum="Maximum QP"
FFmpegEncoder.NVENC.RateControl.QP.Maximum.Description="Maximum QP to achieve, with values closer to 0 being better quality.\nSet to -1 to disable the maximum restriction."
FFmpegEncoder.NVENC.RateControl.QP.I="I-Frame QP"
FFmpegEncoder.NVENC.RateControl.QP.I.Description="Quantization parameter for I-Frames.\nSmaller values mean better quality in exchange for higher bitrate, while higher values mean less bitrate in exchange for less quality."
FFmpegEncoder.NVENC.RateControl.QP.P="P-Frame QP"
FFmpegEncoder.NVENC.RateControl.QP.P.Description="Quantization parameter for P-Frames.\nSmaller values mean better quality in exchange for higher bitrate, while higher values mean less bitrate in exchange for less quality."
FFmpegEncoder.NVENC.RateControl.QP.B="B-Frame QP"
FFmpegEncoder.NVENC.RateControl.QP.B.Description="Quantization parameter for B-Frames.\nSmaller values mean better quality in exchange for higher bitrate, while higher values mean less bitrate in exchange for less quality."
FFmpegEncoder.NVENC.AQ="Adaptive Quantization"
FFmpegEncoder.NVENC.AQ.Spatial="Spatial Adaptive Quantization"
FFmpegEncoder.NVENC.AQ.Spatial.Description="Enable spatial adaptive quantization, also sometimes referred to as Psychovisual Adaptive Quantization."
FFmpegEncoder.NVENC.AQ.Strength="Spatial Adaptive Quantization Strength"
FFmpegEncoder.NVENC.AQ.Strength.Description="Strength of the spatial adaptive quantization.\nValues closer to 15 mean more aggressive, while values closer to 1 mean more relaxed."
FFmpegEncoder.NVENC.AQ.Temporal="Temporal Adaptive Quantization"
FFmpegEncoder.NVENC.AQ.Temporal.Description="Enable temporal adaptive quantization."
FFmpegEncoder.NVENC.Other="Other Options"
FFmpegEncoder.NVENC.Other.BFrames="Maximum B-Frames"
FFmpegEncoder.NVENC.Other.BFrames.Description="Maximum number of B-Frames to insert into the encoded bitstream.\nActual number of B-Frames may be lower depending on content and lookahead settings.\nOnly Turing NVENC supports B-Frames for HEVC."
FFmpegEncoder.NVENC.Other.BFrameReferenceMode="B-Frame Reference Mode"
FFmpegEncoder.NVENC.Other.BFrameReferenceMode.Middle="Use only middle B-Frames as reference"
FFmpegEncoder.NVENC.Other.BFrameReferenceMode.Each="Use all B-Frames as reference"
FFmpegEncoder.NVENC.Other.ZeroLatency="Zero Latency"
FFmpegEncoder.NVENC.Other.ZeroLatency.Description="Enable zero latency operation, which ensures that there is no reordering delay."
FFmpegEncoder.NVENC.Other.WeightedPrediction="Weighted Prediction"
FFmpegEncoder.NVENC.Other.WeightedPrediction.Description="Enable weighted prediction for encoding.\nCan't be used with B-Frames."
FFmpegEncoder.NVENC.Other.NonReferencePFrames="Non-reference P-Frames"
FFmpegEncoder.NVENC.Other.NonReferencePFrames.Description="Enable the automatic insertion of non-reference P-Frames."
FFmpegEncoder.NVENC.Other.AccessUnitDelimiter="Access Unit Delimiter"
FFmpegEncoder.NVENC.Other.AccessUnitDelimiter.Description="Enable insertion of an Access Unit Delimiter."
FFmpegEncoder.NVENC.Other.DecodedPictureBufferSize="Decoded Picture Buffer Size"
FFmpegEncoder.NVENC.Other.DecodedPictureBufferSize.Description="The maximum number of decoded pictures that the encoder should reference, or 0 to automatically determine.\nMust be at least the number of B-Frames plus one and actual limits depend on the selected level.\nIdeally set to the highest supported value by the level or left at 0 as the encoder detects the ideal setting."
