From b1a35118eea3635b77ab9f0260f62a82b2e4e66b Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Sun, 17 Oct 2021 10:09:47 +0200 Subject: [PATCH] encoder/ffmpeg/nvenc: Fix localization file order --- data/locale/en-US.ini | 103 +++++++++++----------- source/encoders/handlers/nvenc_shared.cpp | 57 ++++++------ 2 files changed, 81 insertions(+), 79 deletions(-) diff --git a/data/locale/en-US.ini b/data/locale/en-US.ini index 43afed24..1cece513 100644 --- a/data/locale/en-US.ini +++ b/data/locale/en-US.ini @@ -128,6 +128,58 @@ Encoder.AOM.AV1.Advanced.Tune.Content="Content" Encoder.AOM.AV1.Advanced.Tune.Content.Screen="Screen" Encoder.AOM.AV1.Advanced.Tune.Content.Film="Film" +# Encoder/FFmpeg/NVENC +Encoder.FFmpeg.NVENC.Preset="Preset" +Encoder.FFmpeg.NVENC.Preset.Default="Default" +Encoder.FFmpeg.NVENC.Preset.Slow="Slow" +Encoder.FFmpeg.NVENC.Preset.Medium="Medium" +Encoder.FFmpeg.NVENC.Preset.Fast="Fast" +Encoder.FFmpeg.NVENC.Preset.HighPerformance="High Performance" +Encoder.FFmpeg.NVENC.Preset.HighQuality="High Quality" +Encoder.FFmpeg.NVENC.Preset.BluRayDisc="BluRay Disc" +Encoder.FFmpeg.NVENC.Preset.LowLatency="Low Latency" +Encoder.FFmpeg.NVENC.Preset.LowLatencyHighPerformance="Low Latency High Performance" +Encoder.FFmpeg.NVENC.Preset.LowLatencyHighQuality="Low Latency High Quality" +Encoder.FFmpeg.NVENC.Preset.Lossless="Lossless" +Encoder.FFmpeg.NVENC.Preset.LosslessHighPerformance="Lossless High Performance" +Encoder.FFmpeg.NVENC.RateControl="Rate Control Options" +Encoder.FFmpeg.NVENC.RateControl.Mode="Mode" +Encoder.FFmpeg.NVENC.RateControl.Mode.CQP="Constant Quantization Parameter" +Encoder.FFmpeg.NVENC.RateControl.Mode.VBR="Variable Bitrate" +Encoder.FFmpeg.NVENC.RateControl.Mode.VBR_HQ="High Quality Variable Bitrate" +Encoder.FFmpeg.NVENC.RateControl.Mode.CBR="Constant Bitrate" +Encoder.FFmpeg.NVENC.RateControl.Mode.CBR_HQ="High Quality Constant Bitrate" +Encoder.FFmpeg.NVENC.RateControl.Mode.CBR_LD_HQ="Low Delay High Quality Constant Bitrate" +Encoder.FFmpeg.NVENC.RateControl.TwoPass="Two Pass" +Encoder.FFmpeg.NVENC.RateControl.LookAhead="Look Ahead" +Encoder.FFmpeg.NVENC.RateControl.AdaptiveI="Adaptive I-Frames" +Encoder.FFmpeg.NVENC.RateControl.AdaptiveB="Adaptive B-Frames" +Encoder.FFmpeg.NVENC.RateControl.Limits="Limits" +Encoder.FFmpeg.NVENC.RateControl.Limits.BufferSize="Buffer Size" +Encoder.FFmpeg.NVENC.RateControl.Limits.Quality="Target Quality" +Encoder.FFmpeg.NVENC.RateControl.Limits.Bitrate.Target="Target Bitrate" +Encoder.FFmpeg.NVENC.RateControl.Limits.Bitrate.Maximum="Maximum Bitrate" +Encoder.FFmpeg.NVENC.RateControl.QP="Quantization Parameters" +Encoder.FFmpeg.NVENC.RateControl.QP.Minimum="Minimum QP" +Encoder.FFmpeg.NVENC.RateControl.QP.Maximum="Maximum QP" +Encoder.FFmpeg.NVENC.RateControl.QP.I="I-Frame QP" +Encoder.FFmpeg.NVENC.RateControl.QP.P="P-Frame QP" +Encoder.FFmpeg.NVENC.RateControl.QP.B="B-Frame QP" +Encoder.FFmpeg.NVENC.AQ="Adaptive Quantization" +Encoder.FFmpeg.NVENC.AQ.Spatial="Spatial Adaptive Quantization" +Encoder.FFmpeg.NVENC.AQ.Strength="Spatial Adaptive Quantization Strength" +Encoder.FFmpeg.NVENC.AQ.Temporal="Temporal Adaptive Quantization" +Encoder.FFmpeg.NVENC.Other="Other Options" +Encoder.FFmpeg.NVENC.Other.BFrames="Maximum B-Frames" +Encoder.FFmpeg.NVENC.Other.BFrameReferenceMode="B-Frame Reference Mode" +Encoder.FFmpeg.NVENC.Other.BFrameReferenceMode.Middle="Use only middle B-Frames as reference" +Encoder.FFmpeg.NVENC.Other.BFrameReferenceMode.Each="Use all B-Frames as reference" +Encoder.FFmpeg.NVENC.Other.ZeroLatency="Zero Latency" +Encoder.FFmpeg.NVENC.Other.WeightedPrediction="Weighted Prediction" +Encoder.FFmpeg.NVENC.Other.NonReferencePFrames="Non-reference P-Frames" +Encoder.FFmpeg.NVENC.Other.AccessUnitDelimiter="Access Unit Delimiter" +Encoder.FFmpeg.NVENC.Other.DecodedPictureBufferSize="Decoded Picture Buffer Size" + # Blur Blur.Type.Box="Box" Blur.Type.BoxLinear="Box Linear" @@ -454,53 +506,4 @@ FFmpegEncoder.AMF.Other.VBAQ="VBAQ" FFmpegEncoder.AMF.Other.AccessUnitDelimiter="Access Unit Delimiter" # Encoder: NVENC -FFmpegEncoder.NVENC.Preset="Preset" -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.CQP="Constant Quantization Parameter" -FFmpegEncoder.NVENC.RateControl.Mode.VBR="Variable Bitrate" -FFmpegEncoder.NVENC.RateControl.Mode.VBR_HQ="High Quality Variable Bitrate" -FFmpegEncoder.NVENC.RateControl.Mode.CBR="Constant Bitrate" -FFmpegEncoder.NVENC.RateControl.Mode.CBR_HQ="High Quality Constant Bitrate" -FFmpegEncoder.NVENC.RateControl.Mode.CBR_LD_HQ="Low Delay High Quality Constant Bitrate" -FFmpegEncoder.NVENC.RateControl.TwoPass="Two Pass" -FFmpegEncoder.NVENC.RateControl.LookAhead="Look Ahead" -FFmpegEncoder.NVENC.RateControl.AdaptiveI="Adaptive I-Frames" -FFmpegEncoder.NVENC.RateControl.AdaptiveB="Adaptive B-Frames" -FFmpegEncoder.NVENC.RateControl.Limits="Limits" -FFmpegEncoder.NVENC.RateControl.Limits.BufferSize="Buffer Size" -FFmpegEncoder.NVENC.RateControl.Limits.Quality="Target Quality" -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.Maximum="Maximum QP" -FFmpegEncoder.NVENC.RateControl.QP.I="I-Frame QP" -FFmpegEncoder.NVENC.RateControl.QP.P="P-Frame QP" -FFmpegEncoder.NVENC.RateControl.QP.B="B-Frame QP" -FFmpegEncoder.NVENC.AQ="Adaptive Quantization" -FFmpegEncoder.NVENC.AQ.Spatial="Spatial Adaptive Quantization" -FFmpegEncoder.NVENC.AQ.Strength="Spatial Adaptive Quantization Strength" -FFmpegEncoder.NVENC.AQ.Temporal="Temporal Adaptive Quantization" -FFmpegEncoder.NVENC.Other="Other Options" -FFmpegEncoder.NVENC.Other.BFrames="Maximum B-Frames" -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.WeightedPrediction="Weighted Prediction" -FFmpegEncoder.NVENC.Other.NonReferencePFrames="Non-reference P-Frames" -FFmpegEncoder.NVENC.Other.AccessUnitDelimiter="Access Unit Delimiter" -FFmpegEncoder.NVENC.Other.DecodedPictureBufferSize="Decoded Picture Buffer Size" + diff --git a/source/encoders/handlers/nvenc_shared.cpp b/source/encoders/handlers/nvenc_shared.cpp index 905385e8..1ec484f3 100644 --- a/source/encoders/handlers/nvenc_shared.cpp +++ b/source/encoders/handlers/nvenc_shared.cpp @@ -30,64 +30,63 @@ extern "C" { #pragma warning(pop) } -#define ST_I18N_PRESET "FFmpegEncoder.NVENC.Preset" +#define ST_I18N_PRESET "Encoder.FFmpeg.NVENC.Preset" #define ST_I18N_PRESET_(x) ST_I18N_PRESET "." D_VSTR(x) -#define ST_I18N_RATECONTROL "FFmpegEncoder.NVENC.RateControl" +#define ST_KEY_PRESET "Preset" +#define ST_I18N_RATECONTROL "Encoder.FFmpeg.NVENC.RateControl" #define ST_I18N_RATECONTROL_MODE ST_I18N_RATECONTROL ".Mode" #define ST_I18N_RATECONTROL_MODE_(x) ST_I18N_RATECONTROL_MODE "." D_VSTR(x) +#define ST_KEY_RATECONTROL_MODE "RateControl.Mode" #define ST_I18N_RATECONTROL_TWOPASS ST_I18N_RATECONTROL ".TwoPass" +#define ST_KEY_RATECONTROL_TWOPASS "RateControl.TwoPass" #define ST_I18N_RATECONTROL_LOOKAHEAD ST_I18N_RATECONTROL ".LookAhead" +#define ST_KEY_RATECONTROL_LOOKAHEAD "RateControl.LookAhead" #define ST_I18N_RATECONTROL_ADAPTIVEI ST_I18N_RATECONTROL ".AdaptiveI" +#define ST_KEY_RATECONTROL_ADAPTIVEI "RateControl.AdaptiveI" #define ST_I18N_RATECONTROL_ADAPTIVEB ST_I18N_RATECONTROL ".AdaptiveB" +#define ST_KEY_RATECONTROL_ADAPTIVEB "RateControl.AdaptiveB" #define ST_I18N_RATECONTROL_LIMITS ST_I18N_RATECONTROL ".Limits" #define ST_I18N_RATECONTROL_LIMITS_BUFFERSIZE ST_I18N_RATECONTROL_LIMITS ".BufferSize" +#define ST_KEY_RATECONTROL_LIMITS_BUFFERSIZE "RateControl.Limits.BufferSize" #define ST_I18N_RATECONTROL_LIMITS_QUALITY ST_I18N_RATECONTROL_LIMITS ".Quality" +#define ST_KEY_RATECONTROL_LIMITS_QUALITY "RateControl.Limits.Quality" #define ST_I18N_RATECONTROL_LIMITS_BITRATE ST_I18N_RATECONTROL_LIMITS ".Bitrate" #define ST_I18N_RATECONTROL_LIMITS_BITRATE_TARGET ST_I18N_RATECONTROL_LIMITS_BITRATE ".Target" +#define ST_KEY_RATECONTROL_LIMITS_BITRATE_TARGET "RateControl.Limits.Bitrate.Target" #define ST_I18N_RATECONTROL_LIMITS_BITRATE_MAXIMUM ST_I18N_RATECONTROL_LIMITS_BITRATE ".Maximum" +#define ST_KEY_RATECONTROL_LIMITS_BITRATE_MAXIMUM "RateControl.Limits.Bitrate.Maximum" #define ST_I18N_RATECONTROL_QP ST_I18N_RATECONTROL ".QP" #define ST_I18N_RATECONTROL_QP_MINIMUM ST_I18N_RATECONTROL_QP ".Minimum" -#define ST_I18N_RATECONTROL_QP_MAXIMUM ST_I18N_RATECONTROL_QP ".Maximum" -#define ST_I18N_RATECONTROL_QP_I ST_I18N_RATECONTROL_QP ".I" -#define ST_I18N_RATECONTROL_QP_P ST_I18N_RATECONTROL_QP ".P" -#define ST_I18N_RATECONTROL_QP_B ST_I18N_RATECONTROL_QP ".B" -#define ST_I18N_AQ "FFmpegEncoder.NVENC.AQ" -#define ST_I18N_AQ_SPATIAL ST_I18N_AQ ".Spatial" -#define ST_I18N_AQ_TEMPORAL ST_I18N_AQ ".Temporal" -#define ST_I18N_AQ_STRENGTH ST_I18N_AQ ".Strength" -#define ST_I18N_OTHER "FFmpegEncoder.NVENC.Other" -#define ST_I18N_OTHER_BFRAMES ST_I18N_OTHER ".BFrames" -#define ST_I18N_OTHER_BFRAMEREFERENCEMODE ST_I18N_OTHER ".BFrameReferenceMode" -#define ST_I18N_OTHER_ZEROLATENCY ST_I18N_OTHER ".ZeroLatency" -#define ST_I18N_OTHER_WEIGHTEDPREDICTION ST_I18N_OTHER ".WeightedPrediction" -#define ST_I18N_OTHER_NONREFERENCEPFRAMES ST_I18N_OTHER ".NonReferencePFrames" -#define ST_I18N_OTHER_ACCESSUNITDELIMITER ST_I18N_OTHER ".AccessUnitDelimiter" -#define ST_I18N_OTHER_DECODEDPICTUREBUFFERSIZE ST_I18N_OTHER ".DecodedPictureBufferSize" - -#define ST_KEY_PRESET "Preset" -#define ST_KEY_RATECONTROL_MODE "RateControl.Mode" -#define ST_KEY_RATECONTROL_TWOPASS "RateControl.TwoPass" -#define ST_KEY_RATECONTROL_LOOKAHEAD "RateControl.LookAhead" -#define ST_KEY_RATECONTROL_ADAPTIVEI "RateControl.AdaptiveI" -#define ST_KEY_RATECONTROL_ADAPTIVEB "RateControl.AdaptiveB" -#define ST_KEY_RATECONTROL_LIMITS_BUFFERSIZE "RateControl.Limits.BufferSize" -#define ST_KEY_RATECONTROL_LIMITS_QUALITY "RateControl.Limits.Quality" -#define ST_KEY_RATECONTROL_LIMITS_BITRATE_TARGET "RateControl.Limits.Bitrate.Target" -#define ST_KEY_RATECONTROL_LIMITS_BITRATE_MAXIMUM "RateControl.Limits.Bitrate.Maximum" #define ST_KEY_RATECONTROL_QP_MINIMUM "RateControl.Quality.Minimum" +#define ST_I18N_RATECONTROL_QP_MAXIMUM ST_I18N_RATECONTROL_QP ".Maximum" #define ST_KEY_RATECONTROL_QP_MAXIMUM "RateControl.Quality.Maximum" +#define ST_I18N_RATECONTROL_QP_I ST_I18N_RATECONTROL_QP ".I" #define ST_KEY_RATECONTROL_QP_I "RateControl.QP.I" +#define ST_I18N_RATECONTROL_QP_P ST_I18N_RATECONTROL_QP ".P" #define ST_KEY_RATECONTROL_QP_P "RateControl.QP.P" +#define ST_I18N_RATECONTROL_QP_B ST_I18N_RATECONTROL_QP ".B" #define ST_KEY_RATECONTROL_QP_B "RateControl.QP.B" +#define ST_I18N_AQ "Encoder.FFmpeg.NVENC.AQ" +#define ST_I18N_AQ_SPATIAL ST_I18N_AQ ".Spatial" #define ST_KEY_AQ_SPATIAL "AQ.Spatial" +#define ST_I18N_AQ_TEMPORAL ST_I18N_AQ ".Temporal" #define ST_KEY_AQ_TEMPORAL "AQ.Temporal" +#define ST_I18N_AQ_STRENGTH ST_I18N_AQ ".Strength" #define ST_KEY_AQ_STRENGTH "AQ.Strength" +#define ST_I18N_OTHER "Encoder.FFmpeg.NVENC.Other" +#define ST_I18N_OTHER_BFRAMES ST_I18N_OTHER ".BFrames" #define ST_KEY_OTHER_BFRAMES "Other.BFrames" +#define ST_I18N_OTHER_BFRAMEREFERENCEMODE ST_I18N_OTHER ".BFrameReferenceMode" #define ST_KEY_OTHER_BFRAMEREFERENCEMODE "Other.BFrameReferenceMode" +#define ST_I18N_OTHER_ZEROLATENCY ST_I18N_OTHER ".ZeroLatency" #define ST_KEY_OTHER_ZEROLATENCY "Other.ZeroLatency" +#define ST_I18N_OTHER_WEIGHTEDPREDICTION ST_I18N_OTHER ".WeightedPrediction" #define ST_KEY_OTHER_WEIGHTEDPREDICTION "Other.WeightedPrediction" +#define ST_I18N_OTHER_NONREFERENCEPFRAMES ST_I18N_OTHER ".NonReferencePFrames" #define ST_KEY_OTHER_NONREFERENCEPFRAMES "Other.NonReferencePFrames" +#define ST_I18N_OTHER_ACCESSUNITDELIMITER ST_I18N_OTHER ".AccessUnitDelimiter" #define ST_KEY_OTHER_ACCESSUNITDELIMITER "Other.AccessUnitDelimiter" +#define ST_I18N_OTHER_DECODEDPICTUREBUFFERSIZE ST_I18N_OTHER ".DecodedPictureBufferSize" #define ST_KEY_OTHER_DECODEDPICTUREBUFFERSIZE "Other.DecodedPictureBufferSize" using namespace streamfx::encoder::ffmpeg::handler;