File disable-x264.patch of Package obs-studio
diff '--color=auto' -rubN obs-studio.orig/cmake/finders/FindLibx264.cmake obs-studio/cmake/finders/FindLibx264.cmake
--- obs-studio.orig/cmake/finders/FindLibx264.cmake 2025-10-20 20:23:38.037600245 -0300
+++ obs-studio/cmake/finders/FindLibx264.cmake 2025-10-21 20:22:34.866193323 -0300
@@ -38,6 +38,11 @@
include(FindPackageHandleStandardArgs)
+set(Libx264_FOUND FALSE CACHE BOOL "Disable x264 detection")
+set(Libx264_INCLUDE_DIR "")
+set(Libx264_LIBRARY "")
+message(STATUS "Libx264 detection forcibly disabled by build spec.")
+
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_search_module(PC_Libx264 QUIET x264)
diff '--color=auto' -rubN obs-studio.orig/frontend/plugins/decklink-output-ui/CMakeLists.txt obs-studio/frontend/plugins/decklink-output-ui/CMakeLists.txt
--- obs-studio.orig/frontend/plugins/decklink-output-ui/CMakeLists.txt 2025-10-20 20:23:38.175086646 -0300
+++ obs-studio/frontend/plugins/decklink-output-ui/CMakeLists.txt 2025-10-27 08:34:13.089442454 -0300
@@ -8,7 +8,7 @@
find_package(Qt6 REQUIRED Widgets)
if(OS_LINUX OR OS_FREEBSD OR OS_OPENBSD)
- find_package(Qt6 REQUIRED Gui)
+ find_package(Qt6 REQUIRED Gui GuiPrivate)
find_package(X11 REQUIRED)
endif()
diff '--color=auto' -rubN obs-studio.orig/frontend/settings/OBSBasicSettings.cpp obs-studio/frontend/settings/OBSBasicSettings.cpp
--- obs-studio.orig/frontend/settings/OBSBasicSettings.cpp 2025-10-20 20:23:38.183784350 -0300
+++ obs-studio/frontend/settings/OBSBasicSettings.cpp 2025-10-20 21:34:38.457164356 -0300
@@ -4734,8 +4734,12 @@
ADD_QUALITY("HQ");
ADD_QUALITY("Lossless");
- ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software"), QString(SIMPLE_ENCODER_X264));
- ui->simpleOutRecEncoder->addItem(ENCODER_STR("SoftwareLowCPU"), QString(SIMPLE_ENCODER_X264_LOWCPU));
+ if (EncoderAvailable("obs_x264")) {
+ ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software"),
+ QString(SIMPLE_ENCODER_X264));
+ ui->simpleOutRecEncoder->addItem(ENCODER_STR("SoftwareLowCPU"),
+ QString(SIMPLE_ENCODER_X264_LOWCPU));
+ }
if (EncoderAvailable("obs_qsv11"))
ui->simpleOutRecEncoder->addItem(ENCODER_STR("Hardware.QSV.H264"), QString(SIMPLE_ENCODER_QSV));
if (EncoderAvailable("obs_qsv11_av1"))
diff '--color=auto' -rubN obs-studio.orig/frontend/settings/OBSBasicSettings_Stream.cpp obs-studio/frontend/settings/OBSBasicSettings_Stream.cpp
--- obs-studio.orig/frontend/settings/OBSBasicSettings_Stream.cpp 2025-10-20 20:23:38.184299890 -0300
+++ obs-studio/frontend/settings/OBSBasicSettings_Stream.cpp 2025-10-20 21:39:13.845652492 -0300
@@ -1675,7 +1675,9 @@
#define ENCODER_STR(str) QTStr("Basic.Settings.Output.Simple.Encoder." str)
- ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software"), QString(SIMPLE_ENCODER_X264));
+ if (service_supports_encoder(vcodecs, "obs_x264"))
+ ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software"),
+ QString(SIMPLE_ENCODER_X264));
#ifdef _WIN32
if (service_supports_encoder(vcodecs, "obs_qsv11"))
ui->simpleOutStrEncoder->addItem(ENCODER_STR("Hardware.QSV.H264"), QString(SIMPLE_ENCODER_QSV));
diff '--color=auto' -rubN obs-studio.orig/frontend/utility/SimpleOutput.cpp obs-studio/frontend/utility/SimpleOutput.cpp
--- obs-studio.orig/frontend/utility/SimpleOutput.cpp 2025-10-20 20:23:38.189157662 -0300
+++ obs-studio/frontend/utility/SimpleOutput.cpp 2025-10-20 20:52:38.438094788 -0300
@@ -112,7 +112,7 @@
#endif
}
- return "obs_x264";
+ return "ffmpeg_aom_av1";
}
void SimpleOutput::LoadRecordingPreset()
Binary files obs-studio.orig/.git/index and obs-studio/.git/index differ
diff '--color=auto' -rubN obs-studio.orig/plugins/CMakeLists.txt obs-studio/plugins/CMakeLists.txt
--- obs-studio.orig/plugins/CMakeLists.txt 2025-10-20 20:23:38.235672621 -0300
+++ obs-studio/plugins/CMakeLists.txt 2025-10-21 20:08:52.352768880 -0300
@@ -79,7 +79,7 @@
check_obs_websocket()
-add_obs_plugin(obs-x264)
+#add_obs_plugin(obs-x264)
add_obs_plugin(oss-audio PLATFORMS FREEBSD OPENBSD)
add_obs_plugin(rtmp-services)
add_obs_plugin(sndio PLATFORMS LINUX FREEBSD OPENBSD)
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/cmake/windows/obs-module.rc.in obs-studio/plugins/obs-x264/cmake/windows/obs-module.rc.in
--- obs-studio.orig/plugins/obs-x264/cmake/windows/obs-module.rc.in 2025-10-20 20:23:38.375812253 -0300
+++ obs-studio/plugins/obs-x264/cmake/windows/obs-module.rc.in 1969-12-31 21:00:00.000000000 -0300
@@ -1,24 +0,0 @@
-1 VERSIONINFO
-FILEVERSION ${OBS_VERSION_MAJOR},${OBS_VERSION_MINOR},${OBS_VERSION_PATCH},0
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904B0"
- BEGIN
- VALUE "CompanyName", "${OBS_COMPANY_NAME}"
- VALUE "FileDescription", "OBS x264 encoder"
- VALUE "FileVersion", "${OBS_VERSION_CANONICAL}"
- VALUE "ProductName", "${OBS_PRODUCT_NAME}"
- VALUE "ProductVersion", "${OBS_VERSION_CANONICAL}"
- VALUE "Comments", "${OBS_COMMENTS}"
- VALUE "LegalCopyright", "${OBS_LEGAL_COPYRIGHT}"
- VALUE "InternalName", "obs-x264"
- VALUE "OriginalFilename", "obs-x264"
- END
- END
-
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x0409, 0x04B0
- END
-END
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/cmake/x264-test.cmake obs-studio/plugins/obs-x264/cmake/x264-test.cmake
--- obs-studio.orig/plugins/obs-x264/cmake/x264-test.cmake 2025-10-20 20:23:38.375812253 -0300
+++ obs-studio/plugins/obs-x264/cmake/x264-test.cmake 1969-12-31 21:00:00.000000000 -0300
@@ -1,11 +0,0 @@
-add_executable(obs-x264-test)
-
-target_sources(obs-x264-test PRIVATE obs-x264-test.c)
-
-target_compile_options(obs-x264-test PRIVATE $<$<COMPILE_LANG_AND_ID:C,AppleClang,Clang>:-Wno-strict-prototypes>)
-
-target_link_libraries(obs-x264-test PRIVATE OBS::opts-parser)
-
-add_test(NAME obs-x264-test COMMAND obs-x264-test)
-
-set_target_properties(obs-x264-test PROPERTIES FOLDER plugins/obs-x264)
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/CMakeLists.txt obs-studio/plugins/obs-x264/CMakeLists.txt
--- obs-studio.orig/plugins/obs-x264/CMakeLists.txt 2025-10-20 20:23:38.375093218 -0300
+++ obs-studio/plugins/obs-x264/CMakeLists.txt 1969-12-31 21:00:00.000000000 -0300
@@ -1,22 +0,0 @@
-cmake_minimum_required(VERSION 3.28...3.30)
-
-find_package(Libx264 REQUIRED)
-
-if(NOT TARGET OBS::opts-parser)
- add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser")
-endif()
-
-add_library(obs-x264 MODULE)
-add_library(OBS::x264 ALIAS obs-x264)
-
-target_sources(obs-x264 PRIVATE obs-x264.c obs-x264-plugin-main.c)
-target_link_libraries(obs-x264 PRIVATE OBS::opts-parser Libx264::Libx264)
-
-if(OS_WINDOWS)
- configure_file(cmake/windows/obs-module.rc.in obs-x264.rc)
- target_sources(obs-x264 PRIVATE obs-x264.rc)
-endif()
-
-set_target_properties_obs(obs-x264 PROPERTIES FOLDER plugins/obs-x264 PREFIX "")
-
-include(cmake/x264-test.cmake)
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/af-ZA.ini obs-studio/plugins/obs-x264/data/locale/af-ZA.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/af-ZA.ini 2025-10-20 20:23:38.376028260 -0300
+++ obs-studio/plugins/obs-x264/data/locale/af-ZA.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,8 +0,0 @@
-Bitrate="Bistempo"
-CustomBufsize="Gebruik pasgemaakte buffergrootte"
-BufferSize="Buffergrootte"
-KeyframeIntervalSec="sleutelraaminterval (0=outomaties)"
-Profile="Profiel"
-None="(Geen)"
-EncoderOptions="x264 opties (geskei deur spasies)"
-VFR="Reëlbare beeldduur (VFR)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ar-SA.ini obs-studio/plugins/obs-x264/data/locale/ar-SA.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ar-SA.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ar-SA.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="معدل النقل"
-CustomBufsize="استخدام حجم Buffer مخصص"
-BufferSize="حجم المخزون المؤقت"
-RateControl="التحكم بمعدل النقل"
-KeyframeIntervalSec="الفاصل الزمني للإطار المفتاح (0=تلقائي)"
-CPUPreset="إعداد مسبق لاستخدام CPU (الأعلى = CPU أقل)"
-Profile="الملف الشخصي"
-Tune="لحن"
-None="(بلا)"
-EncoderOptions="خيارات x264 (مفصولة بمسافة)"
-VFR="معدل إطارات متغيّر (VFR)"
-HighPrecisionUnsupported="لا يدعم OBS استخدام x264 بتنسيقات عالية الجودة إلى الألوان"
-HdrUnsupported="OBS لا يدعم استخدام x264 مع Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/az-AZ.ini obs-studio/plugins/obs-x264/data/locale/az-AZ.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/az-AZ.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/az-AZ.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Bit sürəti"
-CustomBufsize="Xüsusi Bufer Ölçüsü İstifadə Et"
-BufferSize="Bufer Ölçüsü"
-RateControl="Bitreytə Nəzarət"
-KeyframeIntervalSec="Açar Kadr İntervalı (0=avto)"
-CPUPreset="CPU İstifadəsi İlkin Sazlaması (yüksək = daha az CPU)"
-Profile="Profil"
-Tune="Sazlama"
-None="(Heç biri)"
-EncoderOptions="x264 Parametrləri (boşluqla ayrılmış)"
-VFR="Dəyişən Kadr Tezliyi (VFR)"
-HighPrecisionUnsupported="OBS, x264-ün yüksək dəqiqlikli rəng formatları ilə istifadəsini dəstəkləmir."
-HdrUnsupported="OBS, x264-ün Rec. 2100 ilə istifadəsini dəstəkləmir."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ba-RU.ini obs-studio/plugins/obs-x264/data/locale/ba-RU.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ba-RU.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ba-RU.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,4 +0,0 @@
-Bitrate="Битрейт"
-BufferSize="Буфер ҙурлығы"
-Tune="Көйләү"
-None="(Юҡ)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/be-BY.ini obs-studio/plugins/obs-x264/data/locale/be-BY.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/be-BY.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/be-BY.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Бітрэйт"
-CustomBufsize="Выкарыстоўваць карыстальніцкі памер буфера"
-BufferSize="Памер буфера"
-RateControl="Кіраванне бітрейтам"
-KeyframeIntervalSec="Інтэрвал ключавых кадраў (0=аўта)"
-CPUPreset="Набор налад выкарыстання ЦП (вышэй = менш ЦП)"
-Profile="Профіль"
-Tune="Налады"
-None="(Няма)"
-EncoderOptions="Налады x264 (падзеленыя прабелам)"
-VFR="Пераменная частата кадраў (VFR)"
-HighPrecisionUnsupported="OBS не падтрымлівае выкарыстанне x264 з высокадакладнымі фарматамі колеру."
-HdrUnsupported="OBS не падтрымлівае выкарыстанне x264 з Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/bg-BG.ini obs-studio/plugins/obs-x264/data/locale/bg-BG.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/bg-BG.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/bg-BG.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,11 +0,0 @@
-Bitrate="Битрейт"
-CustomBufsize="Използвай персонализиран буферен размер"
-BufferSize="Размер на буфера"
-RateControl="Управление на битрейта"
-KeyframeIntervalSec="Интервал между ключови кадри (0=автоматично)"
-CPUPreset="Шаблони за процесорно ползване (по-висок = по-малко процесор)"
-Profile="Профил"
-Tune="Настрой"
-EncoderOptions="x264 Опции (отделени с разстояние)"
-HighPrecisionUnsupported="OBS не поддържа изпозлването на x264 с високопрецизни формати за цветове."
-HdrUnsupported="OBS не поддържа използването на x264 с Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/bn-BD.ini obs-studio/plugins/obs-x264/data/locale/bn-BD.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/bn-BD.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/bn-BD.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,10 +0,0 @@
-Bitrate="বিটরেট"
-CustomBufsize="ব্যবহার স্বনির্বাচিত বাফারের আকার"
-BufferSize="বাফারের আকার"
-RateControl="হার নিয়ন্ত্রণ"
-CPUPreset="সিপিইউ ব্যবহারের প্রিসেট (উচ্চতর = কম সিপিইউ)"
-Profile="প্রোফাইল"
-Tune="টিউন"
-None="(একটিও না)"
-EncoderOptions="x264 বিকল্প (স্পেইস দিয়ে)"
-VFR="পরিবর্তনশীল ফ্রেমরেট (ভিএফআর)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ca-ES.ini obs-studio/plugins/obs-x264/data/locale/ca-ES.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ca-ES.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ca-ES.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Taxa de bits"
-CustomBufsize="Utilitza una mida de memòria intermèdia personalitzada"
-BufferSize="Mida de la memòria intermèdia"
-RateControl="Control de freqüència"
-KeyframeIntervalSec="Interval de fotogrames clau (0=auto)"
-CPUPreset="Preconfiguració d'ús de la CPU (més alt = menys CPU)"
-Profile="Perfil"
-Tune="Ajustament"
-None="(Cap)"
-EncoderOptions="Opcions x264 (separades amb espais)"
-VFR="Velocitat de fotogrames variable (VFR)"
-HighPrecisionUnsupported="L'OBS no admet l'ús de x264 amb formats d'alta precisió de color."
-HdrUnsupported="L'OBS no admet l'ús de x264 amb Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/cs-CZ.ini obs-studio/plugins/obs-x264/data/locale/cs-CZ.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/cs-CZ.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/cs-CZ.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,12 +0,0 @@
-CustomBufsize="Použít vlastní velikost vyrovnávací paměti"
-BufferSize="Velikost vyrovnávací paměti"
-RateControl="Řízení toku"
-KeyframeIntervalSec="Interval klíč. snímků (0=auto)"
-CPUPreset="Předvolba využití CPU (vyšší = méně CPU)"
-Profile="Profil"
-Tune="Ladění"
-None="(Žádné)"
-EncoderOptions="Možnosti x264 (odděleny mezerou)"
-VFR="Měnící se snímkování (VFR)"
-HighPrecisionUnsupported="OBS nepodporuje použití x264 s vysoce přesnými barevnými formáty."
-HdrUnsupported="OBS nepodporuje použití x264 s Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/da-DK.ini obs-studio/plugins/obs-x264/data/locale/da-DK.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/da-DK.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/da-DK.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Bit-hastighed"
-CustomBufsize="Benyt tilpasset bufferstørrelse"
-BufferSize="Bufferstørrelse"
-RateControl="Rate kontrol"
-KeyframeIntervalSec="Keyframe-interval (0=auto)"
-CPUPreset="CPU-forbrugsforvalg (højere = mindre CPU)"
-Profile="Profil"
-Tune="Tuning"
-None="(Ingen)"
-EncoderOptions="x264-indstillinger (adskilt af mellemrum)"
-VFR="Variable billedhastighed (VFR)"
-HighPrecisionUnsupported="OBS understøtter ikke brug af x264 med farveformater med høj præcision."
-HdrUnsupported="OBS understøtter ikke brug af x264 med Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/de-DE.ini obs-studio/plugins/obs-x264/data/locale/de-DE.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/de-DE.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/de-DE.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,10 +0,0 @@
-CustomBufsize="Benutzerdefinierte Puffergröße verwenden"
-BufferSize="Puffergröße"
-RateControl="Qualitätsregulierungsmethode"
-KeyframeIntervalSec="Keyframeintervall (0 = automatisch)"
-CPUPreset="CPU-Auslastungsvoreinstellung (Höher = niedrigere CPU-Nutzung)"
-Profile="Profil"
-None="(Nichts)"
-EncoderOptions="x264-Optionen (Durch Leerzeichen getrennt)"
-HighPrecisionUnsupported="Das Verwenden von x264 mit Farbformaten mit hoher Präzision wird nicht unterstützt."
-HdrUnsupported="Das Verwenden von x264 mit Rec. 2100 wird nicht unterstützt."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/el-GR.ini obs-studio/plugins/obs-x264/data/locale/el-GR.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/el-GR.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/el-GR.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Ρυθμός μετάδοσης bit"
-CustomBufsize="Χρήση Προσαρμοσμένου Μεγέθους Buffer"
-BufferSize="Μέγεθος buffer"
-RateControl="Έλεγχος ρυθμού"
-KeyframeIntervalSec="Διάστημα Πλαισίου Αναφοράς (0=αυτόματο)"
-CPUPreset="Προφίλ Χρήσης CPU (υψηλότερο = λιγότερη CPU)"
-Profile="Προφίλ"
-Tune="Βελτιστοποίηση"
-None="(Κανένα)"
-EncoderOptions="Επιλογές x264 (διαχωρισμένες από κενό)"
-VFR="Μεταβλητός Ρυθμός καρέ (VFR)"
-HighPrecisionUnsupported="Το OBS δεν υποστηρίζει τη χρήση x264 με μορφές χρώματος υψηλής ακρίβειας."
-HdrUnsupported="Το OBS δεν υποστηρίζει τη χρήση x264 με Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/en-GB.ini obs-studio/plugins/obs-x264/data/locale/en-GB.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/en-GB.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/en-GB.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1 +0,0 @@
-HighPrecisionUnsupported="OBS does not support using x264 with high-precision colour formats."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/en-US.ini obs-studio/plugins/obs-x264/data/locale/en-US.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/en-US.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/en-US.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,14 +0,0 @@
-Bitrate="Bitrate"
-CustomBufsize="Use Custom Buffer Size"
-BufferSize="Buffer Size"
-RateControl="Rate Control"
-CRF="CRF"
-KeyframeIntervalSec="Keyframe Interval (0=auto)"
-CPUPreset="CPU Usage Preset (higher = less CPU)"
-Profile="Profile"
-Tune="Tune"
-None="(None)"
-EncoderOptions="x264 Options (separated by space)"
-VFR="Variable Framerate (VFR)"
-HighPrecisionUnsupported="OBS does not support using x264 with high-precision color formats."
-HdrUnsupported="OBS does not support using x264 with Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/es-ES.ini obs-studio/plugins/obs-x264/data/locale/es-ES.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/es-ES.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/es-ES.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Tasa de bits"
-CustomBufsize="Usar tamaño de caché personalizado"
-BufferSize="Tamaño de la memoria intermedia"
-RateControl="Control de la frecuencia"
-KeyframeIntervalSec="Intervalo de fotogramas clave (0=auto)"
-CPUPreset="Perfíl de uso de CPU (superior = menos CPU)"
-Profile="Perfil"
-Tune="Sintonizar"
-None="(Ninguno)"
-EncoderOptions="Opciones x264 (separadas por espacio)"
-VFR="Framerate Variable (VFR)"
-HighPrecisionUnsupported="OBS no admite el uso de x264 con formatos de color de alta precisión."
-HdrUnsupported="OBS no admite el uso de x264 con Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/et-EE.ini obs-studio/plugins/obs-x264/data/locale/et-EE.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/et-EE.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/et-EE.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Bitikiirus"
-CustomBufsize="Kasuta kohandatud puhvri suurust"
-BufferSize="Puhvri suurus"
-RateControl="Bitrite kontroll"
-KeyframeIntervalSec="Võtmekaadri intervall (0=automaatne)"
-CPUPreset="CPU kasutus eelseadistus(kõrgem = vähem CPU)"
-Profile="Profiil"
-Tune="Häälestus"
-None="(Määramata)"
-EncoderOptions="x264 suvandid (eraldatud tühikutega)"
-VFR="Muutuv kaadrisagedus (VFR)"
-HighPrecisionUnsupported="OBS ei toeta x264 kasutamist ülitäpsete värvivormingutega."
-HdrUnsupported="OBS ei toeta x264 kasutamist koos Rec. 2100-ga."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/eu-ES.ini obs-studio/plugins/obs-x264/data/locale/eu-ES.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/eu-ES.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/eu-ES.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,12 +0,0 @@
-Bitrate="Bit-tasa"
-CustomBufsize="Erabili buffer tamaina pertsonalizatua"
-BufferSize="Buffer tamaina"
-RateControl="Tasaren kontrola"
-KeyframeIntervalSec="Gako-fotogramen tartea (0=automatikoa)"
-CPUPreset="PUZ erabilera aurrezarrita (handiagoa = PUZ gutxiago)"
-Profile="Profila"
-Tune="Sintonizatu"
-None="(Bat ere ez)"
-EncoderOptions="x264 aukerak (tarte batez bananduta)"
-VFR="Fotograma-tasa aldakorra (VFR)"
-HdrUnsupported="OBSk ez du onartzen x264 erabiltzea Rec. 2100-rekin."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/fa-IR.ini obs-studio/plugins/obs-x264/data/locale/fa-IR.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/fa-IR.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/fa-IR.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="نرخ بیت"
-CustomBufsize="استفاده از اندازه بافر سفارشی"
-BufferSize="اندازه بافر"
-RateControl="کنترل نرخ"
-KeyframeIntervalSec="فاصله فریم کلیدی (0=خودکار)"
-CPUPreset="استفاده پیشفرض از CPU (بالاتر = CPU کمتر)"
-Profile="نمایه"
-Tune="تون"
-None="(هیچ کدام)"
-EncoderOptions="آپشن های x264 (با فضای جدا شده )"
-VFR="فریم های متغیر (وی اف ار)"
-HighPrecisionUnsupported="OBS از استفاده از x264 با فرمت های رنگی با دقت بالا پشتیبانی نمی کند."
-HdrUnsupported="OBS از استفاده از x264 با ضبط 2100 پشتیبانی نمی کند."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/fi-FI.ini obs-studio/plugins/obs-x264/data/locale/fi-FI.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/fi-FI.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/fi-FI.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Bittinopeus"
-CustomBufsize="Käytä mukautettua puskurin kokoa"
-BufferSize="Puskurin koko"
-RateControl="Bittinopeuden säätely"
-KeyframeIntervalSec="Avainruutujen väli (0=automaattinen)"
-CPUPreset="Suorittimen käytön esiasetus (korkeampi = vähemmän intensiivinen CPU)"
-Profile="Profiili"
-Tune="Hienosäätö"
-None="(Ei mitään)"
-EncoderOptions="x264-asetukset (erotetaan välilyönnillä)"
-VFR="Muuttuva ruutunopeus (Variable Framerate (VFR))"
-HighPrecisionUnsupported="OBS ei tue x264:n käyttöä tarkkojen väriformaattien kanssa."
-HdrUnsupported="OBS ei tue x264:n käyttöä Rec. 2100:n kanssa."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/fil-PH.ini obs-studio/plugins/obs-x264/data/locale/fil-PH.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/fil-PH.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/fil-PH.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,12 +0,0 @@
-Bitrate="Bitreyt"
-CustomBufsize="Gamitin ang Pasadyang Sukat ng Buffer"
-BufferSize="Sukat Buffer"
-RateControl="Kontrolin ang Singil"
-KeyframeIntervalSec="Pagitan ng Keyframe (segundo, 0 = awto)"
-CPUPreset="Paggamit sa Preset ng CPU (mataas = konti CPU)"
-Profile="Propayl"
-Tune="Tono"
-None="(Wala)"
-EncoderOptions="x264 Pagpipilian (magkahiwalay sa pamamagitan ng patlang)"
-VFR="Pabago-bago ng Framerate (VFR)"
-HdrUnsupported="Hindi sinusuportahan ng OBS ang paggamit ng x264 na may Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/fr-FR.ini obs-studio/plugins/obs-x264/data/locale/fr-FR.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/fr-FR.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/fr-FR.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Débit"
-CustomBufsize="Utiliser une taille de tampon personnalisée"
-BufferSize="Taille du tampon"
-RateControl="Contrôle du débit"
-KeyframeIntervalSec="Intervalle d'images clés (0 = auto)"
-CPUPreset="Pré-réglages (plus rapide = charge CPU plus faible)"
-Profile="Profil"
-Tune="Réglage fin"
-None="(Aucun)"
-EncoderOptions="Options x264 (séparées par un espace)"
-VFR="Débit d'images variable (VFR)"
-HighPrecisionUnsupported="OBS ne prend pas en charge l'utilisation de x264 avec des formats de couleur à haute précision."
-HdrUnsupported="OBS ne prend pas en charge l'utilisation de l'encodeur x264 avec Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/gd-GB.ini obs-studio/plugins/obs-x264/data/locale/gd-GB.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/gd-GB.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/gd-GB.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,10 +0,0 @@
-Bitrate="Reat bhiodan"
-CustomBufsize="Cleachd meud bufair gnàthaichte"
-BufferSize="Meud a’ bhufair"
-RateControl="Smachd air an reat"
-CPUPreset="Ro-shuidheachadh cleachdadh a’ CPU (nas àirde = nas lugha dhen CPU)"
-Profile="Pròifil"
-Tune="Gleus"
-None="(Chan eil gin)"
-EncoderOptions="Roghainnean x264 (’gan sgaradh le geal-spàs)"
-VFR="Reat fhrèamaichean caochlaideach (VFR)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/gl-ES.ini obs-studio/plugins/obs-x264/data/locale/gl-ES.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/gl-ES.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/gl-ES.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Taxa de bits"
-CustomBufsize="Utilizar tamaño personalizado da memoria temporal"
-BufferSize="Tamaño da memoria temporal"
-RateControl="Control da taxa"
-KeyframeIntervalSec="Intervalo de fotogramas clave (0=auto)"
-CPUPreset="Uso predefinido da CPU (superior = menos CPU)"
-Profile="Perfil"
-Tune="Sintonizar"
-None="(Ningún)"
-EncoderOptions="Opcións x264 (separadas por un espazo)"
-VFR="Taxa variábel de fotogramas (VFR)"
-HighPrecisionUnsupported="OBS non admite o uso de x264 con formatos de cor de alta precisión."
-HdrUnsupported="OBS non admite o uso de x264 con Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/he-IL.ini obs-studio/plugins/obs-x264/data/locale/he-IL.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/he-IL.ini 2025-10-20 20:23:38.376158594 -0300
+++ obs-studio/plugins/obs-x264/data/locale/he-IL.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="קצב סיביות"
-CustomBufsize="שימוש בגודל מטמון מותאם אישית"
-BufferSize="גודל מטמון"
-RateControl="בקרת קצב"
-KeyframeIntervalSec="מרווח תמונות מפתח (0=אוטומטי)"
-CPUPreset="ערך שימוש במעבד (גבוה יותר = פחות מעבד)"
-Profile="פרופיל"
-Tune="כיוון"
-None="(ללא)"
-EncoderOptions="אפשרויות x264 (מופרדות באמצעות רווח)"
-VFR="קצב פריימים משתנה (VFR)"
-HighPrecisionUnsupported="OBS לא תומך בשימוש ב־x264 עם תצורות של צבעים בדיוק גבוה."
-HdrUnsupported="OBS לא תומך בשימוש ב־x264 עם Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/hi-IN.ini obs-studio/plugins/obs-x264/data/locale/hi-IN.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/hi-IN.ini 2025-10-20 20:23:38.377093284 -0300
+++ obs-studio/plugins/obs-x264/data/locale/hi-IN.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="बिटदर"
-CustomBufsize="निर्मित बफ़र आकार का प्रयोग करें"
-BufferSize="बफ़र आकार"
-RateControl="दर नियंत्रण"
-KeyframeIntervalSec="कीफ़्रेम अंतराल (0=स्वतः)"
-CPUPreset="CPU उपयोग प्रीसेट (उच्च = कम CPU)"
-Profile="प्रोफ़ाइल"
-Tune="अनुकूल"
-None="(कोई नहीं)"
-EncoderOptions="x264 विकल्प (बीच में खाली स्थान)"
-VFR="गतिशील फ़्रेमरेट (VFR)"
-HighPrecisionUnsupported="OBS उच्च-परिशुद्धता रंग स्वरूपों के साथ x264 का उपयोग करने का समर्थन नहीं करता है."
-HdrUnsupported="OBS, Rec. 2100 के साथ x264 का उपयोग करने का समर्थन नहीं करता है."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/hr-HR.ini obs-studio/plugins/obs-x264/data/locale/hr-HR.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/hr-HR.ini 2025-10-20 20:23:38.377093284 -0300
+++ obs-studio/plugins/obs-x264/data/locale/hr-HR.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Protok"
-CustomBufsize="Koristi specifičnu veličinu bafera"
-BufferSize="Veličina buffer-a"
-RateControl="Kontrola protoka"
-KeyframeIntervalSec="Interval kadrova (0=auto)"
-CPUPreset="Koristi CPU šablon (veće = manje CPU-a)"
-Profile="Profil"
-Tune="Doterivanje"
-None="(Nijedno)"
-EncoderOptions="x264 opcije (odvojene razmakom)"
-VFR="Promenjivi framerate (VFR)"
-HighPrecisionUnsupported="OBS ne podržava uporabu formata x264 s visokopreciznim bojama."
-HdrUnsupported="OBS ne podržava uporabu formata x264 s Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/hu-HU.ini obs-studio/plugins/obs-x264/data/locale/hu-HU.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/hu-HU.ini 2025-10-20 20:23:38.377309417 -0300
+++ obs-studio/plugins/obs-x264/data/locale/hu-HU.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Bitsebesség"
-CustomBufsize="Egyéni pufferméret használata"
-BufferSize="Pufferméret"
-RateControl="Sebesség Vezérlés"
-KeyframeIntervalSec="Kulcsképkockák időköze (0=automatikus)"
-CPUPreset="CPU készlet (magasabb = kevesebb CPU igény)"
-Profile="Profil"
-Tune="Hangolás"
-None="(Nincs)"
-EncoderOptions="x264 Opciók (szóközzel elválasztva)"
-VFR="Változó képkockasebesség (VFR)"
-HighPrecisionUnsupported="Az OBS nem támogatja az x264 használatát magas pontosságú színformátumokkal."
-HdrUnsupported="Az OBS nem támogatja az x264 és a Rec. 2100 használatát."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/hy-AM.ini obs-studio/plugins/obs-x264/data/locale/hy-AM.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/hy-AM.ini 2025-10-20 20:23:38.377309417 -0300
+++ obs-studio/plugins/obs-x264/data/locale/hy-AM.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Բիթրեյթ"
-CustomBufsize="Օգտագործել հատուկ բուֆերի չափը"
-BufferSize="Բուֆերի չափը"
-RateControl="Բիթերի կառավարում"
-KeyframeIntervalSec="Հիմնական կադրերի ընդմիջում (0=ավտոմատ)"
-CPUPreset="ԿՄՀ-ի օգտագործման նախադրված (ավելի բարձր = պակաս)"
-Profile="Պրոֆիլ"
-Tune="Կարգավորել"
-None="(Ոչ մի)"
-EncoderOptions="x264 կարգավորումներ (տարանջատված տարածք)"
-VFR="Փոփոխական կադրերի արագություն (VFR)"
-HighPrecisionUnsupported="OBS-ը չի աջակցում x264-ի օգտագործումը բարձր ճշգրտության գունային ձևաչափեր:"
-HdrUnsupported="OBS-ը չի աջակցում x264-ի օգտագործումը Rec.-ով 2100 թ."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/id-ID.ini obs-studio/plugins/obs-x264/data/locale/id-ID.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/id-ID.ini 2025-10-20 20:23:38.377309417 -0300
+++ obs-studio/plugins/obs-x264/data/locale/id-ID.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,11 +0,0 @@
-CustomBufsize="Gunakan Modifikasi Ukuran Buffer"
-BufferSize="Ukuran Buffer"
-RateControl="Kontrol Rate"
-KeyframeIntervalSec="Interval Keyframe (0=otomatis)"
-CPUPreset="Preset Penggunaan CPU (lebih tinggi = lebih sedikit CPU)"
-Profile="Profil"
-None="(Tidak ada)"
-EncoderOptions="Opsi x264 (dipisah oleh spasi)"
-VFR="Framerate Variabel (VFR)"
-HighPrecisionUnsupported="OBS tidak mendukung penggunaan x264 dengan format warna berpresisi tinggi."
-HdrUnsupported="OBS tidak mendukung penggunaan x264 dengan Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/it-IT.ini obs-studio/plugins/obs-x264/data/locale/it-IT.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/it-IT.ini 2025-10-20 20:23:38.377309417 -0300
+++ obs-studio/plugins/obs-x264/data/locale/it-IT.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Velocità in bit"
-CustomBufsize="Utilizza una dimensione personalizzata del buffer"
-BufferSize="Dimensione del buffer"
-RateControl="Tipo di controllo della frequenza"
-KeyframeIntervalSec="Intervallo fotogramma chiave (0=automatico)"
-CPUPreset="Preset dell'utilizzo della CPU (superiore = meno CPU)"
-Profile="Profilo"
-Tune="Regolazione di precisione"
-None="(nessuno)"
-EncoderOptions="Parametri x264 (separati da uno spazio)"
-VFR="Frequenza fotogrammi variabile (VFR)"
-HighPrecisionUnsupported="OBS non supporta l'uso di x264 con formati di colore ad alta precisione."
-HdrUnsupported="OBS non supporta l'uso di x264 con Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ja-JP.ini obs-studio/plugins/obs-x264/data/locale/ja-JP.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ja-JP.ini 2025-10-20 20:23:38.377309417 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ja-JP.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="ビットレート"
-CustomBufsize="カスタムバッファサイズを使用"
-BufferSize="バッファサイズ"
-RateControl="レート制御"
-KeyframeIntervalSec="キーフレーム間隔 (0 = 自動)"
-CPUPreset="CPU使用プリセット (上に行くほど = CPU使用率低い)"
-Profile="プロファイル"
-Tune="チューン"
-None="(なし)"
-EncoderOptions="x264 オプション (スペースで区切る)"
-VFR="可変フレームレート (VFR)"
-HighPrecisionUnsupported="OBSは高精度カラーフォーマットでの x264 の使用をサポートしていません。"
-HdrUnsupported="OBSは Rec. 2100 で x264 の使用をサポートしていません。"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/kaa.ini obs-studio/plugins/obs-x264/data/locale/kaa.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/kaa.ini 2025-10-20 20:23:38.377309417 -0300
+++ obs-studio/plugins/obs-x264/data/locale/kaa.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,5 +0,0 @@
-Bitrate="Bit tezligi"
-CustomBufsize="Arnawlı bufer kólemin qollanıw"
-BufferSize="Bufer kólemi"
-Profile="Profil"
-None="(Joq)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/kab-KAB.ini obs-studio/plugins/obs-x264/data/locale/kab-KAB.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/kab-KAB.ini 2025-10-20 20:23:38.377309417 -0300
+++ obs-studio/plugins/obs-x264/data/locale/kab-KAB.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,10 +0,0 @@
-Bitrate="Aktum"
-CustomBufsize="Seqdec tiddi yugnen i tkatut n weḥraz"
-BufferSize="Tiddi n tkatut n uḥraz"
-RateControl="Asenqed n uktum"
-CPUPreset="Azwirɣewwar n useqdec n CPU (afellay= drus n CPU)"
-Profile="Amaɣnu"
-Tune="Gerrez"
-None="(Ulac)"
-EncoderOptions="tinefrunin x264 (berzent s tallunt)"
-VFR="Aktum n yikataren ameskil (VFR)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ka-GE.ini obs-studio/plugins/obs-x264/data/locale/ka-GE.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ka-GE.ini 2025-10-20 20:23:38.377309417 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ka-GE.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="ბიტსიხშირე"
-CustomBufsize="მომარაგების მითითებული ზომა"
-BufferSize="მომარაგების ზომა"
-RateControl="სიხშირის მართვა"
-KeyframeIntervalSec="საკვანძო კადრ. შუალედი (0=თვითშერჩევა)"
-CPUPreset="პროცესორის მზა პარამეტრ. (მაღალი = ნაკლები CPU)"
-Profile="პროფილი"
-Tune="გამართვა"
-None="(არცერთი)"
-EncoderOptions="x264 პარამეტრები (ადგილის გამოტოვებით)"
-VFR="კადრის ცვლადი სიხშირე (VFR)"
-HighPrecisionUnsupported="OBS-ში ვერ გამოიყენება x264 მაღალი სიზუსტის ფერების მქონე ფორმატებისთვის."
-HdrUnsupported="OBS-ში ვერ იქნება გამოყენებული ერთად x264 და Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/kmr-TR.ini obs-studio/plugins/obs-x264/data/locale/kmr-TR.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/kmr-TR.ini 2025-10-20 20:23:38.377660499 -0300
+++ obs-studio/plugins/obs-x264/data/locale/kmr-TR.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,12 +0,0 @@
-Bitrate="Rêjeya bitê"
-CustomBufsize="Mezinahiya pêşbîra demkî ya kesanekirî bi kar bîne"
-BufferSize="Mezinahiya pêşbîra demkî"
-RateControl="Kontrola rêjeyê"
-KeyframeIntervalSec="Dabeşkera demkî di navbera çarçoveyan de (0=xweber)"
-CPUPreset="Pêşsazkirina bikaranîna YKN (bilindtir = kêmtir YKN)"
-Profile="Profîl"
-Tune="Awaz"
-None="(Ne yek)"
-EncoderOptions="Vebijarkên x264 (bi cîh veqetandî)"
-VFR="Rêjeya çarçoveya guherbar (VFR)"
-HdrUnsupported="OBS piştgiriya bikaranîna x264 bi Rec. 2100 re nake."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ko-KR.ini obs-studio/plugins/obs-x264/data/locale/ko-KR.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ko-KR.ini 2025-10-20 20:23:38.377704240 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ko-KR.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="비트레이트"
-CustomBufsize="사용자 정의 버퍼 크기 설정"
-BufferSize="버퍼 크기"
-RateControl="데이터율 제어"
-KeyframeIntervalSec="키프레임 간격 (0=자동)"
-CPUPreset="CPU 사용량 사전 설정 (높을수록 = 낮은 CPU부담)"
-Profile="프로파일"
-Tune="조정"
-None="(없음)"
-EncoderOptions="x264 설정 (공백으로 구분)"
-VFR="가변 프레임레이트 (VFR)"
-HighPrecisionUnsupported="OBS는 고정밀 색상 형식의 x264 인코딩을 지원하지 않습니다."
-HdrUnsupported="OBS는 x264로 Rec. 2100을 지원하지 않습니다."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/lv-LV.ini obs-studio/plugins/obs-x264/data/locale/lv-LV.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/lv-LV.ini 2025-10-20 20:23:38.377704240 -0300
+++ obs-studio/plugins/obs-x264/data/locale/lv-LV.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,4 +0,0 @@
-BufferSize="Bufera izmērs"
-Profile="Profils"
-None="(Nav)"
-EncoderOptions="x264 izvēles (ar baltstarpas rakstzīmes)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/mn-MN.ini obs-studio/plugins/obs-x264/data/locale/mn-MN.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/mn-MN.ini 2025-10-20 20:23:38.377786560 -0300
+++ obs-studio/plugins/obs-x264/data/locale/mn-MN.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,10 +0,0 @@
-Bitrate="Битийн хурд"
-CustomBufsize="Өөр Хэмжээг Хэрэглэх"
-BufferSize="Өөр Хэмжээ"
-RateControl="Чанарын Хяналт"
-CPUPreset="CPU-ны хэрэглэх хурд (илүү өндөр = бага CPU)"
-Profile="Профайл"
-Tune="Тааруулах"
-None="(Байхгүй)"
-EncoderOptions="x264 Сонголт (зайгаар тусгаарлагдсан)"
-VFR="Тогтмол Биш Фрэйм-ийн хэмжээ (VFR)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ms-MY.ini obs-studio/plugins/obs-x264/data/locale/ms-MY.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ms-MY.ini 2025-10-20 20:23:38.377833365 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ms-MY.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Kadar Bit"
-CustomBufsize="Guna Saiz Penimbal Suai"
-BufferSize="Saiz Penimbal"
-RateControl="Kawalan Kadar"
-KeyframeIntervalSec="Sela bingkai kunci (0=auto)"
-CPUPreset="Praset Penggunaan CPU (lebih tinggi = CPU kurang guna)"
-Profile="Profil"
-Tune="Tala"
-None="(Tiada)"
-EncoderOptions="Pilihan x264 (diasing dengan tanda jarak)"
-VFR="Kadar Bingkai Boleh Ubah (VFR)"
-HighPrecisionUnsupported="OBS tidak menyokong penggunaan x264 bersama format warna ketepatan-tinggi."
-HdrUnsupported="OBS tidak menyokong penggunaan x264 dengan Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/nb-NO.ini obs-studio/plugins/obs-x264/data/locale/nb-NO.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/nb-NO.ini 2025-10-20 20:23:38.377833365 -0300
+++ obs-studio/plugins/obs-x264/data/locale/nb-NO.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,9 +0,0 @@
-CustomBufsize="Bruk egendefinert bufferstørrelse"
-BufferSize="Buffer størrelse"
-RateControl="Hastighetskontroll"
-CPUPreset="Forhåndsinnstilling for prosessorbruk (raskere = mindre CPU-bruk)"
-Profile="Profil"
-Tune="Still inn"
-None="(Ingen)"
-EncoderOptions="x264 alternativer (separert med mellomrom)"
-VFR="Variabel bildefrekvens (VFR)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/nl-NL.ini obs-studio/plugins/obs-x264/data/locale/nl-NL.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/nl-NL.ini 2025-10-20 20:23:38.377918322 -0300
+++ obs-studio/plugins/obs-x264/data/locale/nl-NL.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,11 +0,0 @@
-CustomBufsize="Aangepaste buffergrootte gebruiken"
-BufferSize="Buffergrootte"
-KeyframeIntervalSec="Tijd tussen keyframes (0=auto)"
-CPUPreset="CPU-gebruik instelling (hoger = minder CPU)"
-Profile="Profiel"
-Tune="Afstemmen"
-None="(Geen)"
-EncoderOptions="x264 Opties (gescheiden door spaties)"
-VFR="Variabele Framerate (VFR)"
-HighPrecisionUnsupported="OBS ondersteunt niet het gebruiken van x264 met hoge precissie kleur formaten."
-HdrUnsupported="OBS ondersteunt niet het gebruiken van x264 met Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/nn-NO.ini obs-studio/plugins/obs-x264/data/locale/nn-NO.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/nn-NO.ini 2025-10-20 20:23:38.377918322 -0300
+++ obs-studio/plugins/obs-x264/data/locale/nn-NO.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1 +0,0 @@
-Profile="Profil"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/oc-FR.ini obs-studio/plugins/obs-x264/data/locale/oc-FR.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/oc-FR.ini 2025-10-20 20:23:38.377918322 -0300
+++ obs-studio/plugins/obs-x264/data/locale/oc-FR.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1 +0,0 @@
-Profile="Perfil"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/pl-PL.ini obs-studio/plugins/obs-x264/data/locale/pl-PL.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/pl-PL.ini 2025-10-20 20:23:38.378031769 -0300
+++ obs-studio/plugins/obs-x264/data/locale/pl-PL.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Przepływność bitowa"
-CustomBufsize="Użyj własnego rozmiaru bufora"
-BufferSize="Rozmiar bufora"
-RateControl="Typ przepływności"
-KeyframeIntervalSec="Odstęp między klatkami kluczowymi (0=automatyczny)"
-CPUPreset="Ustawienie obciążenia CPU (wyższe = mniej CPU)"
-Profile="Profil"
-Tune="Dostrajanie"
-None="(Brak)"
-EncoderOptions="Opcje x264 (rozdzielone spacją)"
-VFR="Zmienna liczba klatek na sekundę (VFR)"
-HighPrecisionUnsupported="OBS nie obsługuje kodeka x264 z formatami kolorów o wysokiej precyzji."
-HdrUnsupported="OBS nie obsługuje użycia x264 z Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/pt-BR.ini obs-studio/plugins/obs-x264/data/locale/pt-BR.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/pt-BR.ini 2025-10-20 20:23:38.378031769 -0300
+++ obs-studio/plugins/obs-x264/data/locale/pt-BR.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Taxa de bits"
-CustomBufsize="Utilizar um tamanho de buffer personalizado"
-BufferSize="Tamanho do buffer"
-RateControl="Controle da taxa de bits"
-KeyframeIntervalSec="Intervalo de keyframes (0=auto)"
-CPUPreset="Predef. de uso de CPU (maior = menos CPU)"
-Profile="Perfil"
-Tune="Ajustar para"
-None="(Nenhum)"
-EncoderOptions="Opções do x264 (separadas por espaço)"
-VFR="Taxa de quadros variável (VFR)"
-HighPrecisionUnsupported="OBS não suporta o uso de x264 com formatos de cor de alta precisão."
-HdrUnsupported="OBS não suporta o uso de x264 com Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/pt-PT.ini obs-studio/plugins/obs-x264/data/locale/pt-PT.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/pt-PT.ini 2025-10-20 20:23:38.378120104 -0300
+++ obs-studio/plugins/obs-x264/data/locale/pt-PT.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Taxa de bits"
-CustomBufsize="Utilizar tamanho de memória personalizado"
-BufferSize="Tamanho da memória temporária"
-RateControl="Controlo da frequência"
-KeyframeIntervalSec="Intervalo de fotogramas-chave ( 0=automático)"
-CPUPreset="Predefinição de uso do CPU (maior = menos CPU)"
-Profile="Perfil"
-Tune="Afinar"
-None="(nenhum)"
-EncoderOptions="Opções x264 (separadas por espaço)"
-VFR="Taxa de fotogramas variável (VFR)"
-HighPrecisionUnsupported="O OBS não suporta o uso de x264 com formatos de cores de alta precisão."
-HdrUnsupported="OBS não suporta o uso de x264 com Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ro-RO.ini obs-studio/plugins/obs-x264/data/locale/ro-RO.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ro-RO.ini 2025-10-20 20:23:38.378163337 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ro-RO.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Rată de biți"
-CustomBufsize="Folosește dimensiune personalizată pentru buffer"
-BufferSize="Dimensiune pentru buffer"
-RateControl="Controlul ratei"
-KeyframeIntervalSec="Interval de cadre cheie (0=auto)"
-CPUPreset="Presetare pentru utilizare CPU (mai mare = mai puțin CPU)"
-Profile="Profil"
-Tune="Reglaj"
-None="(Niciunul)"
-EncoderOptions="Opţiuni x264 (separate prin spațiu)"
-VFR="Frecvență de cadre variabilă (VFR)"
-HighPrecisionUnsupported="OBS nu acceptă utilizarea x264 cu formate de culoare de mare precizie."
-HdrUnsupported="OBS nu suportă utilizarea x264 cu Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ru-RU.ini obs-studio/plugins/obs-x264/data/locale/ru-RU.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ru-RU.ini 2025-10-20 20:23:38.378163337 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ru-RU.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Битрейт"
-CustomBufsize="Использовать свой размер буфера"
-BufferSize="Размер буфера"
-RateControl="Управление битрейтом"
-KeyframeIntervalSec="Интервал ключевых кадров (0: авто)"
-CPUPreset="Предустановка нагрузки на ЦП (выше = меньше)"
-Profile="Профиль"
-Tune="Настройка"
-None="(Нет)"
-EncoderOptions="Параметры x264 (через пробел)"
-VFR="Переменная частота кадров (VFR)"
-HighPrecisionUnsupported="OBS не поддерживает использование x264 с высокоточными цветовыми форматами."
-HdrUnsupported="OBS не поддерживает использование x264 с Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/si-LK.ini obs-studio/plugins/obs-x264/data/locale/si-LK.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/si-LK.ini 2025-10-20 20:23:38.378264598 -0300
+++ obs-studio/plugins/obs-x264/data/locale/si-LK.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,8 +0,0 @@
-Bitrate="බිටුඅනුපා."
-CustomBufsize="අභිරුචි අන්තරාචය ප්රමාණය"
-BufferSize="අන්තරාචය තරම"
-RateControl="අනුපාතය පාලනය"
-Profile="පැතිකඩ"
-Tune="සුසරය"
-None="(කිසිත් නැත)"
-EncoderOptions="x264 විකල්ප (හිස්තැනකින් වෙන්කර)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/sk-SK.ini obs-studio/plugins/obs-x264/data/locale/sk-SK.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/sk-SK.ini 2025-10-20 20:23:38.378310671 -0300
+++ obs-studio/plugins/obs-x264/data/locale/sk-SK.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,12 +0,0 @@
-CustomBufsize="Použiť vlastnú veľkosť medzipamäte"
-BufferSize="Veľkosť medzipamäte"
-RateControl="Riadenie toku"
-KeyframeIntervalSec="Interval kľúčových snímkov (0=automaticky)"
-CPUPreset="CPU predvoľba používania (vyššie = menej CPU)"
-Profile="Profil"
-Tune="Vyladenie"
-None="(Žiadne)"
-EncoderOptions="Možnosti enkodéra x264 (oddelené medzerou)"
-VFR="Premenlivá rýchlosť snímkov (VFR)"
-HighPrecisionUnsupported="OBS nepodporuje použitie x264 s vysoko-precíznymi farebnými formátmi."
-HdrUnsupported="OBS nepodporuje použitie x264 s Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/sl-SI.ini obs-studio/plugins/obs-x264/data/locale/sl-SI.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/sl-SI.ini 2025-10-20 20:23:38.378364941 -0300
+++ obs-studio/plugins/obs-x264/data/locale/sl-SI.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Bitna hitrost"
-CustomBufsize="Uporabi velikost medpomnilnika po meri"
-BufferSize="Velikost medpomnilnika"
-RateControl="Nadzor hitrosti"
-KeyframeIntervalSec="Razmik med ključnimi sličicami (0=samodejno)"
-CPUPreset="Prednastavitev porabe CPE-ja (višja = manj CPE-ja)"
-Profile="Profil"
-Tune="Uglasi"
-None="(brez)"
-EncoderOptions="Možnosti x264 (ločene s presledkom)"
-VFR="Spremenljiva hitrost sličic"
-HighPrecisionUnsupported="OBS ne podpira rabo x264 z visoko-natančnimi zapisi barv."
-HdrUnsupported="OBS ne podpira rabe x264 z Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/sq-AL.ini obs-studio/plugins/obs-x264/data/locale/sq-AL.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/sq-AL.ini 2025-10-20 20:23:38.378417091 -0300
+++ obs-studio/plugins/obs-x264/data/locale/sq-AL.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,3 +0,0 @@
-Profile="Profili"
-None="(Asnjë)"
-EncoderOptions="Parametrat e x264 (ndarë me hapësire)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/sr-CS.ini obs-studio/plugins/obs-x264/data/locale/sr-CS.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/sr-CS.ini 2025-10-20 20:23:38.378417091 -0300
+++ obs-studio/plugins/obs-x264/data/locale/sr-CS.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,10 +0,0 @@
-Bitrate="Protok"
-CustomBufsize="Koristi specifičnu veličinu bafera"
-BufferSize="Veličina buffer-a"
-RateControl="Kontrola protoka"
-CPUPreset="Koristi CPU šablon (veće = manje CPU-a)"
-Profile="Profil"
-Tune="Doterivanje"
-None="(Nijedno)"
-EncoderOptions="x264 opcije (odvojene razmakom)"
-VFR="Promenjivi framerate (VFR)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/sr-SP.ini obs-studio/plugins/obs-x264/data/locale/sr-SP.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/sr-SP.ini 2025-10-20 20:23:38.378525300 -0300
+++ obs-studio/plugins/obs-x264/data/locale/sr-SP.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Проток"
-CustomBufsize="Користи специфичну величину бафера"
-BufferSize="Величина buffer-а"
-RateControl="Контрола протока"
-KeyframeIntervalSec="Интервал кључних кадрова (0=аутоматски)"
-CPUPreset="Користи CPU шаблон (веће = мање CPU-а)"
-Profile="Профил"
-Tune="Дотеривање"
-None="(Ниједно)"
-EncoderOptions="x264 опције (одвојене размаком)"
-VFR="Промењиви framerate (VFR)"
-HighPrecisionUnsupported="OBS не подржава коришћење x264 са високопрецизним форматима боја."
-HdrUnsupported="OBS не подржава коришћење x264 са Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/sv-SE.ini obs-studio/plugins/obs-x264/data/locale/sv-SE.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/sv-SE.ini 2025-10-20 20:23:38.378525300 -0300
+++ obs-studio/plugins/obs-x264/data/locale/sv-SE.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,12 +0,0 @@
-Bitrate="Bithastighet"
-CustomBufsize="Använd anpassad buffertstorlek"
-BufferSize="Buffertstorlek"
-RateControl="Hastighetskontroll"
-KeyframeIntervalSec="Intervall för keyframes (0=automatiskt)"
-CPUPreset="CPU-användning förinställning (högre = mindre CPU)"
-Profile="Profil"
-None="(Inga)"
-EncoderOptions="x264-alternativ (separerade med blanksteg)"
-VFR="Varierande bildfrekvens (VFR)"
-HighPrecisionUnsupported="OBS har inte stöd för användning av x264 med färg-format med högprecision."
-HdrUnsupported="OBS saknar stöd för att använda x264 med Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/szl-PL.ini obs-studio/plugins/obs-x264/data/locale/szl-PL.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/szl-PL.ini 2025-10-20 20:23:38.378618913 -0300
+++ obs-studio/plugins/obs-x264/data/locale/szl-PL.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,9 +0,0 @@
-CustomBufsize="Użyj włosnyj miary bufōra"
-BufferSize="Miara bufōra"
-RateControl="Zorta przepływności"
-CPUPreset="Ôpcyje ôciōnżynio CPU (wyższe = mynij CPU)"
-Profile="Profil"
-Tune="Dostrajanie"
-None="(Brak)"
-EncoderOptions="Ôpcyje x264 (roztajlowane spacyjōm)"
-VFR="Zmiynno wielość klotek na sekōnda (VFR)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ta-IN.ini obs-studio/plugins/obs-x264/data/locale/ta-IN.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ta-IN.ini 2025-10-20 20:23:38.378663648 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ta-IN.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,4 +0,0 @@
-Bitrate="பிட்விகிதம்"
-Profile="சுயவிவரம்"
-None="(எதுவுமில்லை)"
-EncoderOptions="x264 விருப்பங்கள் (இடைவெளி விட்டு பிரிக்கப்பட்டவை)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/th-TH.ini obs-studio/plugins/obs-x264/data/locale/th-TH.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/th-TH.ini 2025-10-20 20:23:38.378713590 -0300
+++ obs-studio/plugins/obs-x264/data/locale/th-TH.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="บิตเรท"
-CustomBufsize="กำหนดขนาดของบัฟเฟอร์เอง"
-BufferSize="ขนาดของบัฟเฟอร์"
-RateControl="การควบคุมบิตเรต"
-KeyframeIntervalSec="ช่วงคีย์เฟรม (0=อัตโนมัติ)"
-CPUPreset="การใช้ CPU (ยิ่งเร็ว = ยิ่งใช้ CPU น้อย)"
-Profile="โปรไฟล์"
-Tune="จูน"
-None="(ไม่ใช้)"
-EncoderOptions="ตัวเลือก x264 (แบ่งโดยเว้นวรรค)"
-VFR="บิตเรทแปรผัน (VBR)"
-HighPrecisionUnsupported="OBS ไม่รองรับการใช้งาน x264 กับรูปแบบสีที่มีความแม่นยำสูง"
-HdrUnsupported="OBS ไม่รองรับการใช้งานรูปแบบ x264 กับ Rec 2100"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/tl-PH.ini obs-studio/plugins/obs-x264/data/locale/tl-PH.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/tl-PH.ini 2025-10-20 20:23:38.378765245 -0300
+++ obs-studio/plugins/obs-x264/data/locale/tl-PH.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,9 +0,0 @@
-Bitrate="Ang Bitrate"
-CustomBufsize="Gamitin ang Custom Buffer Size"
-BufferSize="Laki ng Buffer"
-RateControl="Kontrol ng Rate"
-CPUPreset="Ang Usage Preset ng CPU (mataas = mababang CPU)"
-Profile="Ang Profile"
-Tune="Ang tono"
-None="(Wala)"
-EncoderOptions="x264 Mga opsyon (pinaghiwalay ng espasyo)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/tr-TR.ini obs-studio/plugins/obs-x264/data/locale/tr-TR.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/tr-TR.ini 2025-10-20 20:23:38.378817571 -0300
+++ obs-studio/plugins/obs-x264/data/locale/tr-TR.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Bit hızı"
-CustomBufsize="İsteğe Bağlı Arabellek Boyutu Kullan"
-BufferSize="Arabellek Boyutu"
-RateControl="Oran Kontrolü"
-KeyframeIntervalSec="Anahtar Kare Aralığı (0=otomatik)"
-CPUPreset="CPU Kullanım Önayarı (yüksek = az CPU kullanımı)"
-Profile="Profil"
-Tune="Ayarla"
-None="(Yok)"
-EncoderOptions="x264 Ayarları (boşlukla ayrılmış)"
-VFR="Değişken Kare Hızı (VFR)"
-HighPrecisionUnsupported="OBS, x264'ün yüksek hassasiyetli renk biçimleriyle kullanılmasını desteklemez."
-HdrUnsupported="OBS, x264'ün Rec. 2100 ile kullanımını desteklemiyor."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/tt-RU.ini obs-studio/plugins/obs-x264/data/locale/tt-RU.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/tt-RU.ini 2025-10-20 20:23:38.378817571 -0300
+++ obs-studio/plugins/obs-x264/data/locale/tt-RU.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,4 +0,0 @@
-Bitrate="Битрейт"
-Profile="Профиль"
-Tune="Көйләү"
-None="(Юк)"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ug-CN.ini obs-studio/plugins/obs-x264/data/locale/ug-CN.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ug-CN.ini 2025-10-20 20:23:38.378912047 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ug-CN.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="بايت نىسبىتى"
-CustomBufsize="ئىختىيارى غەملەك چوڭلۇقىنى ئىشلىتىدۇ"
-BufferSize="غەملەك چوڭلۇقى"
-RateControl="نىسبەت تىزگىنى"
-KeyframeIntervalSec="ئاچقۇچلۇق كېشەك ئارىلىقى (0=ئۆزلۈكىدىن)"
-CPUPreset="CPU ئىشلىتىشنىڭ ئالدىن تەڭشىكى (يۇقىرىراق= CPU نى ئازراق ئىشلىتىدۇ)"
-Profile="سەپلىمە ھۆججەت"
-Tune="تەڭشەك"
-None="(يوق)"
-EncoderOptions="x264 تاللانما (بوشلۇق بىلەن ئايرىلىدۇ)"
-VFR="ئۆزگىرىشچان كېشەك نىسبىتى (VFR)"
-HighPrecisionUnsupported="OBS يۇقىرى ئېنىقلىقتىكى رەڭ پىچىمىدىكى x264 ئىشلىتىشنى قوللىمايدۇ"
-HdrUnsupported="OBS بۇ Rec. 2100 ھالىتىدە x264 ئىشلىتىشنى قوللىمايدۇ."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/uk-UA.ini obs-studio/plugins/obs-x264/data/locale/uk-UA.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/uk-UA.ini 2025-10-20 20:23:38.378964225 -0300
+++ obs-studio/plugins/obs-x264/data/locale/uk-UA.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Бітрейт"
-CustomBufsize="Використовувати настроюваний розмір буфера"
-BufferSize="Розмір буфера"
-RateControl="Керування бітрейтом"
-KeyframeIntervalSec="Інтервал ключових кадрів (0=авто)"
-CPUPreset="Профіль використання ЦП (вище = менше ЦП)"
-Profile="Профіль"
-Tune="Настроювання"
-None="(Немає)"
-EncoderOptions="Параметри x264 (відокремлені пробілом)"
-VFR="Змінна частота кадрів (VFR)"
-HighPrecisionUnsupported="OBS не підтримує використання x264 з високоточними кольоровими форматами."
-HdrUnsupported="OBS не підтримує використання x264 з Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/ur-PK.ini obs-studio/plugins/obs-x264/data/locale/ur-PK.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/ur-PK.ini 2025-10-20 20:23:38.379008161 -0300
+++ obs-studio/plugins/obs-x264/data/locale/ur-PK.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1 +0,0 @@
-Bitrate="بٹریٹ"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/vi-VN.ini obs-studio/plugins/obs-x264/data/locale/vi-VN.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/vi-VN.ini 2025-10-20 20:23:38.379008161 -0300
+++ obs-studio/plugins/obs-x264/data/locale/vi-VN.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="Tốc độ bit"
-CustomBufsize="Sử dụng tùy chỉnh bộ đệm kích thước"
-BufferSize="Bộ nhớ đệm lớn nhất"
-RateControl="Cách kiểm soát tốc độ bit"
-KeyframeIntervalSec="Khoảng thời gian giữa các khung chính (0=tự động)"
-CPUPreset="CPU sử dụng (cao hơn = ít sử dụng CPU)"
-Profile="Hồ sơ"
-Tune="Điều chỉnh"
-None="(Trống)"
-EncoderOptions="Các tuỳ chọn cho x264 (cách nhau bằng dấu cách)"
-VFR="Framerate thay đổi được (VFR)"
-HighPrecisionUnsupported="OBS không hỗ trợ sử dụng x264 với các định dạng màu có độ chính xác cao."
-HdrUnsupported="OBS không hỗ trợ sử dụng x264 với Rec. 2100."
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/zh-CN.ini obs-studio/plugins/obs-x264/data/locale/zh-CN.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/zh-CN.ini 2025-10-20 20:23:38.379129458 -0300
+++ obs-studio/plugins/obs-x264/data/locale/zh-CN.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="码率"
-CustomBufsize="使用自定义缓存大小"
-BufferSize="缓冲大小"
-RateControl="码率控制"
-KeyframeIntervalSec="关键帧间隔(0 = 自动)"
-CPUPreset="CPU 使用预设(高 = 较少的 CPU占用)"
-Profile="配置(Profile)"
-Tune="微调(Tune)"
-None="(无)"
-EncoderOptions="x264 选项(用空格分隔)"
-VFR="可变帧率(VFR)"
-HighPrecisionUnsupported="OBS不支持使用高精度颜色格式的x264。"
-HdrUnsupported="OBS 不支持在 Rec. 2100 下使用 x264。"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/data/locale/zh-TW.ini obs-studio/plugins/obs-x264/data/locale/zh-TW.ini
--- obs-studio.orig/plugins/obs-x264/data/locale/zh-TW.ini 2025-10-20 20:23:38.379129458 -0300
+++ obs-studio/plugins/obs-x264/data/locale/zh-TW.ini 1969-12-31 21:00:00.000000000 -0300
@@ -1,13 +0,0 @@
-Bitrate="位元率"
-CustomBufsize="使用自訂的緩衝區大小"
-BufferSize="緩衝區大小"
-RateControl="位元率控制"
-KeyframeIntervalSec="關鍵訊框間隔(0 = 自動)"
-CPUPreset="CPU 使用率設定 (越快 = 越少CPU使用率)"
-Profile="配置"
-Tune="微調類別"
-None="(無)"
-EncoderOptions="x264 參數(以空格分隔)"
-VFR="可變畫面播放速率 (VFR)"
-HighPrecisionUnsupported="OBS 不支援將 x264 與高精度色彩格式搭配使用。"
-HdrUnsupported="OBS 不支援將 x264 與 Rec. 2100 搭配使用。"
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/obs-x264.c obs-studio/plugins/obs-x264/obs-x264.c
--- obs-studio.orig/plugins/obs-x264/obs-x264.c 2025-10-20 20:23:38.379129458 -0300
+++ obs-studio/plugins/obs-x264/obs-x264.c 1969-12-31 21:00:00.000000000 -0300
@@ -1,865 +0,0 @@
-/******************************************************************************
- Copyright (C) 2023 by Lain Bailey <lain@obsproject.com>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-******************************************************************************/
-
-#include <stdio.h>
-#include <string.h>
-#include <util/bmem.h>
-#include <util/dstr.h>
-#include <util/darray.h>
-#include <util/platform.h>
-#include <obs-module.h>
-#include <opts-parser.h>
-
-#ifndef _STDINT_H_INCLUDED
-#define _STDINT_H_INCLUDED
-#endif
-
-#include <x264.h>
-
-#define do_log_enc(level, encoder, format, ...) \
- blog(level, "[x264 encoder: '%s'] " format, obs_encoder_get_name(encoder), ##__VA_ARGS__)
-#define do_log(level, format, ...) do_log_enc(level, obsx264->encoder, format, ##__VA_ARGS__)
-
-#define warn(format, ...) do_log(LOG_WARNING, format, ##__VA_ARGS__)
-#define warn_enc(encoder, format, ...) do_log_enc(LOG_WARNING, encoder, format, ##__VA_ARGS__)
-#define info(format, ...) do_log(LOG_INFO, format, ##__VA_ARGS__)
-#define debug(format, ...) do_log(LOG_DEBUG, format, ##__VA_ARGS__)
-
-//#define ENABLE_VFR
-
-/* ------------------------------------------------------------------------- */
-
-struct obs_x264 {
- obs_encoder_t *encoder;
-
- x264_param_t params;
- x264_t *context;
-
- DARRAY(uint8_t) packet_data;
-
- uint8_t *extra_data;
- uint8_t *sei;
-
- size_t extra_data_size;
- size_t sei_size;
-
- os_performance_token_t *performance_token;
-
- uint32_t roi_increment;
- float *quant_offsets;
-};
-
-/* ------------------------------------------------------------------------- */
-
-static const char *obs_x264_getname(void *unused)
-{
- UNUSED_PARAMETER(unused);
- return "x264";
-}
-
-static void clear_data(struct obs_x264 *obsx264)
-{
- if (obsx264->context) {
- x264_encoder_close(obsx264->context);
- bfree(obsx264->sei);
- bfree(obsx264->extra_data);
- bfree(obsx264->quant_offsets);
-
- obsx264->context = NULL;
- obsx264->sei = NULL;
- obsx264->extra_data = NULL;
- }
-}
-
-static void obs_x264_destroy(void *data)
-{
- struct obs_x264 *obsx264 = data;
-
- if (obsx264) {
- os_end_high_performance(obsx264->performance_token);
- clear_data(obsx264);
- da_free(obsx264->packet_data);
- bfree(obsx264);
- }
-}
-
-static void obs_x264_defaults(obs_data_t *settings)
-{
- obs_data_set_default_int(settings, "bitrate", 6000);
- obs_data_set_default_bool(settings, "use_bufsize", false);
- obs_data_set_default_int(settings, "buffer_size", 6000);
- obs_data_set_default_int(settings, "keyint_sec", 0);
- obs_data_set_default_int(settings, "crf", 23);
-#ifdef ENABLE_VFR
- obs_data_set_default_bool(settings, "vfr", false);
-#endif
- obs_data_set_default_string(settings, "rate_control", "CBR");
-
- obs_data_set_default_string(settings, "preset", "veryfast");
- obs_data_set_default_string(settings, "profile", "");
- obs_data_set_default_string(settings, "tune", "");
- obs_data_set_default_string(settings, "x264opts", "");
- obs_data_set_default_bool(settings, "repeat_headers", false);
-}
-
-static inline void add_strings(obs_property_t *list, const char *const *strings)
-{
- while (*strings) {
- obs_property_list_add_string(list, *strings, *strings);
- strings++;
- }
-}
-
-#define TEXT_RATE_CONTROL obs_module_text("RateControl")
-#define TEXT_BITRATE obs_module_text("Bitrate")
-#define TEXT_CUSTOM_BUF obs_module_text("CustomBufsize")
-#define TEXT_BUF_SIZE obs_module_text("BufferSize")
-#define TEXT_VFR obs_module_text("VFR")
-#define TEXT_CRF obs_module_text("CRF")
-#define TEXT_KEYINT_SEC obs_module_text("KeyframeIntervalSec")
-#define TEXT_PRESET obs_module_text("CPUPreset")
-#define TEXT_PROFILE obs_module_text("Profile")
-#define TEXT_TUNE obs_module_text("Tune")
-#define TEXT_NONE obs_module_text("None")
-#define TEXT_X264_OPTS obs_module_text("EncoderOptions")
-
-static bool use_bufsize_modified(obs_properties_t *ppts, obs_property_t *p, obs_data_t *settings)
-{
- bool use_bufsize = obs_data_get_bool(settings, "use_bufsize");
- const char *rc = obs_data_get_string(settings, "rate_control");
- bool rc_crf = astrcmpi(rc, "CRF") == 0;
-
- p = obs_properties_get(ppts, "buffer_size");
- obs_property_set_visible(p, use_bufsize && !rc_crf);
- return true;
-}
-
-static bool rate_control_modified(obs_properties_t *ppts, obs_property_t *p, obs_data_t *settings)
-{
- const char *rc = obs_data_get_string(settings, "rate_control");
- bool use_bufsize = obs_data_get_bool(settings, "use_bufsize");
- bool abr = astrcmpi(rc, "CBR") == 0 || astrcmpi(rc, "ABR") == 0;
- bool rc_crf = astrcmpi(rc, "CRF") == 0;
-
- p = obs_properties_get(ppts, "crf");
- obs_property_set_visible(p, !abr);
-
- p = obs_properties_get(ppts, "bitrate");
- obs_property_set_visible(p, !rc_crf);
- p = obs_properties_get(ppts, "use_bufsize");
- obs_property_set_visible(p, !rc_crf);
- p = obs_properties_get(ppts, "buffer_size");
- obs_property_set_visible(p, !rc_crf && use_bufsize);
- return true;
-}
-
-static obs_properties_t *obs_x264_props(void *unused)
-{
- UNUSED_PARAMETER(unused);
-
- obs_properties_t *props = obs_properties_create();
- obs_property_t *list;
- obs_property_t *p;
- obs_property_t *headers;
-
- list = obs_properties_add_list(props, "rate_control", TEXT_RATE_CONTROL, OBS_COMBO_TYPE_LIST,
- OBS_COMBO_FORMAT_STRING);
- obs_property_list_add_string(list, "CBR", "CBR");
- obs_property_list_add_string(list, "ABR", "ABR");
- obs_property_list_add_string(list, "VBR", "VBR");
- obs_property_list_add_string(list, "CRF", "CRF");
-
- obs_property_set_modified_callback(list, rate_control_modified);
-
- p = obs_properties_add_int(props, "bitrate", TEXT_BITRATE, 50, 10000000, 50);
- obs_property_int_set_suffix(p, " Kbps");
-
- p = obs_properties_add_bool(props, "use_bufsize", TEXT_CUSTOM_BUF);
- obs_property_set_modified_callback(p, use_bufsize_modified);
- obs_properties_add_int(props, "buffer_size", TEXT_BUF_SIZE, 0, 10000000, 1);
-
- obs_properties_add_int(props, "crf", TEXT_CRF, 0, 51, 1);
-
- p = obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 0, 20, 1);
- obs_property_int_set_suffix(p, " s");
-
- list = obs_properties_add_list(props, "preset", TEXT_PRESET, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING);
- add_strings(list, x264_preset_names);
-
- list = obs_properties_add_list(props, "profile", TEXT_PROFILE, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING);
- obs_property_list_add_string(list, TEXT_NONE, "");
- obs_property_list_add_string(list, "baseline", "baseline");
- obs_property_list_add_string(list, "main", "main");
- obs_property_list_add_string(list, "high", "high");
-
- list = obs_properties_add_list(props, "tune", TEXT_TUNE, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING);
- obs_property_list_add_string(list, TEXT_NONE, "");
- add_strings(list, x264_tune_names);
-
-#ifdef ENABLE_VFR
- obs_properties_add_bool(props, "vfr", TEXT_VFR);
-#endif
-
- obs_properties_add_text(props, "x264opts", TEXT_X264_OPTS, OBS_TEXT_DEFAULT);
-
- headers = obs_properties_add_bool(props, "repeat_headers", "repeat_headers");
- obs_property_set_visible(headers, false);
-
- return props;
-}
-
-static const char *validate(struct obs_x264 *obsx264, const char *val, const char *name, const char *const *list)
-{
- if (!val || !*val)
- return val;
-
- while (*list) {
- if (strcmp(val, *list) == 0)
- return val;
-
- list++;
- }
-
- warn("Invalid %s: %s", name, val);
- return NULL;
-}
-
-static void override_base_param(struct obs_x264 *obsx264, struct obs_option option, char **preset, char **profile,
- char **tune)
-{
- const char *name = option.name;
- const char *val = option.value;
- if (astrcmpi(name, "preset") == 0) {
- const char *valid_name = validate(obsx264, val, "preset", x264_preset_names);
- if (valid_name) {
- bfree(*preset);
- *preset = bstrdup(val);
- }
-
- } else if (astrcmpi(name, "profile") == 0) {
- const char *valid_name = validate(obsx264, val, "profile", x264_profile_names);
- if (valid_name) {
- bfree(*profile);
- *profile = bstrdup(val);
- }
-
- } else if (astrcmpi(name, "tune") == 0) {
- const char *valid_name = validate(obsx264, val, "tune", x264_tune_names);
- if (valid_name) {
- bfree(*tune);
- *tune = bstrdup(val);
- }
- }
-}
-
-static inline void override_base_params(struct obs_x264 *obsx264, const struct obs_options *options, char **preset,
- char **profile, char **tune)
-{
- for (size_t i = 0; i < options->count; ++i)
- override_base_param(obsx264, options->options[i], preset, profile, tune);
-}
-
-#define OPENCL_ALIAS "opencl_is_experimental_and_potentially_unstable"
-
-static inline void set_param(struct obs_x264 *obsx264, struct obs_option option)
-{
- const char *name = option.name;
- const char *val = option.value;
- if (strcmp(name, "preset") != 0 && strcmp(name, "profile") != 0 && strcmp(name, "tune") != 0 &&
- strcmp(name, "fps") != 0 && strcmp(name, "force-cfr") != 0 && strcmp(name, "width") != 0 &&
- strcmp(name, "height") != 0 && strcmp(name, "opencl") != 0 && strcmp(name, "stats") != 0 &&
- strcmp(name, "qpfile") != 0 && strcmp(name, "pass") != 0) {
- if (strcmp(option.name, OPENCL_ALIAS) == 0)
- name = "opencl";
- if (x264_param_parse(&obsx264->params, name, val) != 0)
- warn("x264 param: %s=%s failed", name, val);
- }
-}
-
-static inline void apply_x264_profile(struct obs_x264 *obsx264, const char *profile)
-{
- if (!obsx264->context && profile && *profile) {
- int ret = x264_param_apply_profile(&obsx264->params, profile);
- if (ret != 0)
- warn("Failed to set x264 profile '%s'", profile);
- }
-}
-
-static inline const char *validate_preset(struct obs_x264 *obsx264, const char *preset)
-{
- const char *new_preset = validate(obsx264, preset, "preset", x264_preset_names);
- return new_preset ? new_preset : "veryfast";
-}
-
-static bool reset_x264_params(struct obs_x264 *obsx264, const char *preset, const char *tune)
-{
- int ret = x264_param_default_preset(&obsx264->params, validate_preset(obsx264, preset),
- validate(obsx264, tune, "tune", x264_tune_names));
- return ret == 0;
-}
-
-static void log_x264(void *param, int level, const char *format, va_list args)
-{
- static const int level_map[] = {
- LOG_ERROR,
- LOG_WARNING,
- LOG_INFO,
- LOG_DEBUG,
- };
-
- UNUSED_PARAMETER(param);
- if (level < X264_LOG_ERROR)
- level = X264_LOG_ERROR;
- else if (level > X264_LOG_DEBUG)
- level = X264_LOG_DEBUG;
-
- blogva(level_map[level], format, args);
-}
-
-static inline int get_x264_cs_val(const char *const name, const char *const names[])
-{
- int idx = 0;
- do {
- if (strcmp(names[idx], name) == 0)
- return idx;
- } while (!!names[++idx]);
-
- return 0;
-}
-
-static void obs_x264_video_info(void *data, struct video_scale_info *info);
-
-enum rate_control { RATE_CONTROL_CBR, RATE_CONTROL_VBR, RATE_CONTROL_ABR, RATE_CONTROL_CRF };
-
-static void update_params(struct obs_x264 *obsx264, obs_data_t *settings, const struct obs_options *options,
- bool update)
-{
- video_t *video = obs_encoder_video(obsx264->encoder);
- const struct video_output_info *voi = video_output_get_info(video);
- struct video_scale_info info;
-
- info.format = voi->format;
- info.colorspace = voi->colorspace;
- info.range = voi->range;
-
- obs_x264_video_info(obsx264, &info);
-
- const char *rate_control = obs_data_get_string(settings, "rate_control");
-
- int bitrate = (int)obs_data_get_int(settings, "bitrate");
- int buffer_size = (int)obs_data_get_int(settings, "buffer_size");
- int keyint_sec = (int)obs_data_get_int(settings, "keyint_sec");
- int crf = (int)obs_data_get_int(settings, "crf");
- int width = (int)obs_encoder_get_width(obsx264->encoder);
- int height = (int)obs_encoder_get_height(obsx264->encoder);
- int bf = (int)obs_data_get_int(settings, "bf");
- bool use_bufsize = obs_data_get_bool(settings, "use_bufsize");
- bool cbr_override = obs_data_get_bool(settings, "cbr");
- enum rate_control rc;
-
-#ifdef ENABLE_VFR
- bool vfr = obs_data_get_bool(settings, "vfr");
-#endif
-
- /* XXX: "cbr" setting has been deprecated */
- if (cbr_override) {
- warn("\"cbr\" setting has been deprecated for all encoders! "
- "Please set \"rate_control\" to \"CBR\" instead. "
- "Forcing CBR mode. "
- "(Note to all: this is why you shouldn't use strings for "
- "common settings)");
- rate_control = "CBR";
- }
-
- if (astrcmpi(rate_control, "ABR") == 0) {
- rc = RATE_CONTROL_ABR;
- crf = 0;
-
- } else if (astrcmpi(rate_control, "VBR") == 0) {
- rc = RATE_CONTROL_VBR;
-
- } else if (astrcmpi(rate_control, "CRF") == 0) {
- rc = RATE_CONTROL_CRF;
- bitrate = 0;
- buffer_size = 0;
-
- } else { /* CBR */
- rc = RATE_CONTROL_CBR;
- crf = 0;
- }
-
- if (keyint_sec)
- obsx264->params.i_keyint_max = keyint_sec * voi->fps_num / voi->fps_den;
-
- if (!use_bufsize)
- buffer_size = bitrate;
-
-#ifdef ENABLE_VFR
- obsx264->params.b_vfr_input = vfr;
-#else
- obsx264->params.b_vfr_input = false;
-#endif
- obsx264->params.rc.i_vbv_max_bitrate = bitrate;
- obsx264->params.rc.i_vbv_buffer_size = buffer_size;
- obsx264->params.rc.i_bitrate = bitrate;
- obsx264->params.i_width = width;
- obsx264->params.i_height = height;
- obsx264->params.i_fps_num = voi->fps_num;
- obsx264->params.i_fps_den = voi->fps_den;
- obsx264->params.i_timebase_num = voi->fps_den;
- obsx264->params.i_timebase_den = voi->fps_num;
- obsx264->params.pf_log = log_x264;
- obsx264->params.p_log_private = obsx264;
- obsx264->params.i_log_level = X264_LOG_WARNING;
-
- if (obs_data_has_user_value(settings, "bf"))
- obsx264->params.i_bframe = bf;
-
- static const char *const smpte170m = "smpte170m";
- static const char *const bt709 = "bt709";
- const char *colorprim = bt709;
- const char *transfer = bt709;
- const char *colmatrix = bt709;
- switch (info.colorspace) {
- case VIDEO_CS_DEFAULT:
- case VIDEO_CS_709:
- colorprim = bt709;
- transfer = bt709;
- colmatrix = bt709;
- break;
- case VIDEO_CS_601:
- colorprim = smpte170m;
- transfer = smpte170m;
- colmatrix = smpte170m;
- break;
- case VIDEO_CS_SRGB:
- colorprim = bt709;
- transfer = "iec61966-2-1";
- colmatrix = bt709;
- break;
- default:
- break;
- }
-
- obsx264->params.vui.i_sar_height = 1;
- obsx264->params.vui.i_sar_width = 1;
- obsx264->params.vui.b_fullrange = info.range == VIDEO_RANGE_FULL;
- obsx264->params.vui.i_colorprim = get_x264_cs_val(colorprim, x264_colorprim_names);
- obsx264->params.vui.i_transfer = get_x264_cs_val(transfer, x264_transfer_names);
- obsx264->params.vui.i_colmatrix = get_x264_cs_val(colmatrix, x264_colmatrix_names);
-
- /* use the new filler method for CBR to allow real-time adjusting of
- * the bitrate */
- if (rc == RATE_CONTROL_CBR || rc == RATE_CONTROL_ABR) {
- obsx264->params.rc.i_rc_method = X264_RC_ABR;
-
- if (rc == RATE_CONTROL_CBR) {
-#if X264_BUILD >= 139
- obsx264->params.rc.b_filler = true;
-#else
- obsx264->params.i_nal_hrd = X264_NAL_HRD_CBR;
-#endif
- }
- } else {
- obsx264->params.rc.i_rc_method = X264_RC_CRF;
- obsx264->params.rc.f_rf_constant = (float)crf;
- }
-
- if (info.format == VIDEO_FORMAT_NV12)
- obsx264->params.i_csp = X264_CSP_NV12;
- else if (info.format == VIDEO_FORMAT_I420)
- obsx264->params.i_csp = X264_CSP_I420;
- else if (info.format == VIDEO_FORMAT_I444)
- obsx264->params.i_csp = X264_CSP_I444;
- else
- obsx264->params.i_csp = X264_CSP_NV12;
-
- for (size_t i = 0; i < options->ignored_word_count; ++i)
- warn("ignoring invalid x264 option: %s", options->ignored_words[i]);
- for (size_t i = 0; i < options->count; ++i)
- set_param(obsx264, options->options[i]);
-
- if (!update) {
- info("settings:\n"
- "\trate_control: %s\n"
- "\tbitrate: %d\n"
- "\tbuffer size: %d\n"
- "\tcrf: %d\n"
- "\tfps_num: %d\n"
- "\tfps_den: %d\n"
- "\twidth: %d\n"
- "\theight: %d\n"
- "\tkeyint: %d\n",
- rate_control, obsx264->params.rc.i_vbv_max_bitrate, obsx264->params.rc.i_vbv_buffer_size,
- (int)obsx264->params.rc.f_rf_constant, voi->fps_num, voi->fps_den, width, height,
- obsx264->params.i_keyint_max);
- }
-}
-
-static void log_custom_options(struct obs_x264 *obsx264, const struct obs_options *options)
-{
- if (options->count == 0) {
- return;
- }
- size_t settings_string_length = 0;
- for (size_t i = 0; i < options->count; ++i)
- settings_string_length += strlen(options->options[i].name) + strlen(options->options[i].value) + 5;
- size_t buffer_size = settings_string_length + 1;
- char *settings_string = bmalloc(settings_string_length + 1);
- char *p = settings_string;
- size_t remaining_buffer_size = buffer_size;
- for (size_t i = 0; i < options->count; ++i) {
- int chars_written = snprintf(p, remaining_buffer_size, "\n\t%s = %s", options->options[i].name,
- options->options[i].value);
- assert(chars_written >= 0);
- assert((size_t)chars_written <= remaining_buffer_size);
- p += chars_written;
- remaining_buffer_size -= chars_written;
- }
- assert(remaining_buffer_size == 1);
- assert(*p == '\0');
- info("custom settings: %s", settings_string);
- bfree(settings_string);
-}
-
-static bool update_settings(struct obs_x264 *obsx264, obs_data_t *settings, bool update)
-{
- char *preset = bstrdup(obs_data_get_string(settings, "preset"));
- char *profile = bstrdup(obs_data_get_string(settings, "profile"));
- char *tune = bstrdup(obs_data_get_string(settings, "tune"));
- struct obs_options options = obs_parse_options(obs_data_get_string(settings, "x264opts"));
- bool repeat_headers = obs_data_get_bool(settings, "repeat_headers");
-
- bool success = true;
-
- if (!update)
- blog(LOG_INFO, "---------------------------------");
-
- if (!obsx264->context) {
- override_base_params(obsx264, &options, &preset, &profile, &tune);
-
- if (preset && *preset)
- info("preset: %s", preset);
- if (profile && *profile)
- info("profile: %s", profile);
- if (tune && *tune)
- info("tune: %s", tune);
-
- success = reset_x264_params(obsx264, preset, tune);
- }
-
- if (repeat_headers) {
- obsx264->params.b_repeat_headers = 1;
- obsx264->params.b_annexb = 1;
- obsx264->params.b_aud = 1;
- }
-
- if (success) {
- update_params(obsx264, settings, &options, update);
- if (!update) {
- log_custom_options(obsx264, &options);
- }
-
- if (!obsx264->context)
- apply_x264_profile(obsx264, profile);
- }
-
- obs_free_options(options);
- bfree(preset);
- bfree(profile);
- bfree(tune);
-
- return success;
-}
-
-static bool obs_x264_update(void *data, obs_data_t *settings)
-{
- struct obs_x264 *obsx264 = data;
- bool success = update_settings(obsx264, settings, true);
- int ret;
-
- if (success) {
- ret = x264_encoder_reconfig(obsx264->context, &obsx264->params);
- if (ret != 0)
- warn("Failed to reconfigure: %d", ret);
- return ret == 0;
- }
-
- return false;
-}
-
-static void load_headers(struct obs_x264 *obsx264)
-{
- x264_nal_t *nals;
- int nal_count;
- DARRAY(uint8_t) header;
- DARRAY(uint8_t) sei;
-
- da_init(header);
- da_init(sei);
-
- x264_encoder_headers(obsx264->context, &nals, &nal_count);
-
- for (int i = 0; i < nal_count; i++) {
- x264_nal_t *nal = nals + i;
-
- if (nal->i_type == NAL_SEI)
- da_push_back_array(sei, nal->p_payload, nal->i_payload);
- else
- da_push_back_array(header, nal->p_payload, nal->i_payload);
- }
-
- obsx264->extra_data = header.array;
- obsx264->extra_data_size = header.num;
- obsx264->sei = sei.array;
- obsx264->sei_size = sei.num;
-}
-
-static void *obs_x264_create(obs_data_t *settings, obs_encoder_t *encoder)
-{
- video_t *video = obs_encoder_video(encoder);
- const struct video_output_info *voi = video_output_get_info(video);
- switch (voi->format) {
- case VIDEO_FORMAT_I010:
- case VIDEO_FORMAT_P010:
- case VIDEO_FORMAT_P216:
- case VIDEO_FORMAT_P416:
- obs_encoder_set_last_error(encoder, obs_module_text("HighPrecisionUnsupported"));
- warn_enc(encoder, "OBS does not support using x264 with high-precision formats");
- return NULL;
- default:
- if (voi->colorspace == VIDEO_CS_2100_PQ || voi->colorspace == VIDEO_CS_2100_HLG) {
- obs_encoder_set_last_error(encoder, obs_module_text("HdrUnsupported"));
- warn_enc(encoder, "OBS does not support using x264 with Rec. 2100");
- return NULL;
- }
- break;
- }
-
- struct obs_x264 *obsx264 = bzalloc(sizeof(struct obs_x264));
- obsx264->encoder = encoder;
-
- if (update_settings(obsx264, settings, false)) {
- obsx264->context = x264_encoder_open(&obsx264->params);
-
- if (obsx264->context == NULL)
- warn("x264 failed to load");
- else
- load_headers(obsx264);
- } else {
- warn("bad settings specified");
- }
-
- if (!obsx264->context) {
- bfree(obsx264);
- return NULL;
- }
-
- obsx264->performance_token = os_request_high_performance("x264 encoding");
-
- return obsx264;
-}
-
-static void parse_packet(struct obs_x264 *obsx264, struct encoder_packet *packet, x264_nal_t *nals, int nal_count,
- x264_picture_t *pic_out)
-{
- if (!nal_count)
- return;
-
- da_resize(obsx264->packet_data, 0);
-
- for (int i = 0; i < nal_count; i++) {
- x264_nal_t *nal = nals + i;
- da_push_back_array(obsx264->packet_data, nal->p_payload, nal->i_payload);
- }
-
- packet->data = obsx264->packet_data.array;
- packet->size = obsx264->packet_data.num;
- packet->type = OBS_ENCODER_VIDEO;
- packet->pts = pic_out->i_pts;
- packet->dts = pic_out->i_dts;
- packet->keyframe = pic_out->b_keyframe != 0;
-}
-
-static inline void init_pic_data(struct obs_x264 *obsx264, x264_picture_t *pic, struct encoder_frame *frame)
-{
- x264_picture_init(pic);
-
- pic->i_pts = frame->pts;
- pic->img.i_csp = obsx264->params.i_csp;
-
- if (obsx264->params.i_csp == X264_CSP_NV12)
- pic->img.i_plane = 2;
- else if (obsx264->params.i_csp == X264_CSP_I420)
- pic->img.i_plane = 3;
- else if (obsx264->params.i_csp == X264_CSP_I444)
- pic->img.i_plane = 3;
-
- for (int i = 0; i < pic->img.i_plane; i++) {
- pic->img.i_stride[i] = (int)frame->linesize[i];
- pic->img.plane[i] = frame->data[i];
- }
-}
-
-/* H.264 always uses 16x16 macroblocks */
-static const uint32_t MB_SIZE = 16;
-
-struct roi_params {
- uint32_t mb_width;
- uint32_t mb_height;
- float *map;
-};
-
-static void roi_cb(void *param, struct obs_encoder_roi *roi)
-{
- const struct roi_params *rp = param;
-
- const uint32_t roi_left = roi->left / MB_SIZE;
- const uint32_t roi_top = roi->top / MB_SIZE;
- const uint32_t roi_right = (roi->right - 1) / MB_SIZE;
- const uint32_t roi_bottom = (roi->bottom - 1) / MB_SIZE;
- /* QP range is 0..51 */
- const float qp_offset = -51.0f * roi->priority;
-
- for (uint32_t mb_y = 0; mb_y < rp->mb_height; mb_y++) {
- if (mb_y < roi_top || mb_y > roi_bottom)
- continue;
-
- for (uint32_t mb_x = 0; mb_x < rp->mb_width; mb_x++) {
- if (mb_x < roi_left || mb_x > roi_right)
- continue;
-
- rp->map[mb_y * rp->mb_width + mb_x] = qp_offset;
- }
- }
-}
-
-static void add_roi(struct obs_x264 *obsx264, x264_picture_t *pic)
-{
- const uint32_t increment = obs_encoder_get_roi_increment(obsx264->encoder);
-
- if (obsx264->quant_offsets && obsx264->roi_increment == increment) {
- pic->prop.quant_offsets = obsx264->quant_offsets;
- return;
- }
-
- const uint32_t width = obs_encoder_get_width(obsx264->encoder);
- const uint32_t height = obs_encoder_get_height(obsx264->encoder);
- const uint32_t mb_width = (width + MB_SIZE - 1) / MB_SIZE;
- const uint32_t mb_height = (height + MB_SIZE - 1) / MB_SIZE;
- const size_t map_size = sizeof(float) * mb_width * mb_height;
-
- float *map = bzalloc(map_size);
-
- struct roi_params par = {mb_width, mb_height, map};
-
- obs_encoder_enum_roi(obsx264->encoder, roi_cb, &par);
-
- pic->prop.quant_offsets = map;
- obsx264->quant_offsets = map;
- obsx264->roi_increment = increment;
-}
-
-static bool obs_x264_encode(void *data, struct encoder_frame *frame, struct encoder_packet *packet,
- bool *received_packet)
-{
- struct obs_x264 *obsx264 = data;
- x264_nal_t *nals;
- int nal_count;
- int ret;
- x264_picture_t pic, pic_out;
-
- if (!frame || !packet || !received_packet)
- return false;
-
- if (frame)
- init_pic_data(obsx264, &pic, frame);
-
- if (obs_encoder_has_roi(obsx264->encoder))
- add_roi(obsx264, &pic);
-
- ret = x264_encoder_encode(obsx264->context, &nals, &nal_count, (frame ? &pic : NULL), &pic_out);
- if (ret < 0) {
- warn("encode failed");
- return false;
- }
-
- *received_packet = (nal_count != 0);
- parse_packet(obsx264, packet, nals, nal_count, &pic_out);
-
- return true;
-}
-
-static bool obs_x264_extra_data(void *data, uint8_t **extra_data, size_t *size)
-{
- struct obs_x264 *obsx264 = data;
-
- if (!obsx264->context)
- return false;
-
- *extra_data = obsx264->extra_data;
- *size = obsx264->extra_data_size;
- return true;
-}
-
-static bool obs_x264_sei(void *data, uint8_t **sei, size_t *size)
-{
- struct obs_x264 *obsx264 = data;
-
- if (!obsx264->context)
- return false;
-
- *sei = obsx264->sei;
- *size = obsx264->sei_size;
- return true;
-}
-
-static inline bool valid_format(enum video_format format)
-{
- return format == VIDEO_FORMAT_I420 || format == VIDEO_FORMAT_NV12 || format == VIDEO_FORMAT_I444;
-}
-
-static void obs_x264_video_info(void *data, struct video_scale_info *info)
-{
- struct obs_x264 *obsx264 = data;
- enum video_format pref_format;
-
- pref_format = obs_encoder_get_preferred_video_format(obsx264->encoder);
-
- if (!valid_format(pref_format)) {
- pref_format = valid_format(info->format) ? info->format : VIDEO_FORMAT_NV12;
- }
-
- info->format = pref_format;
-}
-
-struct obs_encoder_info obs_x264_encoder = {
- .id = "obs_x264",
- .type = OBS_ENCODER_VIDEO,
- .codec = "h264",
- .get_name = obs_x264_getname,
- .create = obs_x264_create,
- .destroy = obs_x264_destroy,
- .encode = obs_x264_encode,
- .update = obs_x264_update,
- .get_properties = obs_x264_props,
- .get_defaults = obs_x264_defaults,
- .get_extra_data = obs_x264_extra_data,
- .get_sei_data = obs_x264_sei,
- .get_video_info = obs_x264_video_info,
- .caps = OBS_ENCODER_CAP_DYN_BITRATE | OBS_ENCODER_CAP_ROI,
-};
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/obs-x264-plugin-main.c obs-studio/plugins/obs-x264/obs-x264-plugin-main.c
--- obs-studio.orig/plugins/obs-x264/obs-x264-plugin-main.c 2025-10-20 20:23:38.379129458 -0300
+++ obs-studio/plugins/obs-x264/obs-x264-plugin-main.c 1969-12-31 21:00:00.000000000 -0300
@@ -1,16 +0,0 @@
-#include <obs-module.h>
-
-OBS_DECLARE_MODULE()
-OBS_MODULE_USE_DEFAULT_LOCALE("obs-x264", "en-US")
-MODULE_EXPORT const char *obs_module_description(void)
-{
- return "x264 based encoder";
-}
-
-extern struct obs_encoder_info obs_x264_encoder;
-
-bool obs_module_load(void)
-{
- obs_register_encoder(&obs_x264_encoder);
- return true;
-}
diff '--color=auto' -rubN obs-studio.orig/plugins/obs-x264/obs-x264-test.c obs-studio/plugins/obs-x264/obs-x264-test.c
--- obs-studio.orig/plugins/obs-x264/obs-x264-test.c 2025-10-20 20:23:38.379129458 -0300
+++ obs-studio/plugins/obs-x264/obs-x264-test.c 1969-12-31 21:00:00.000000000 -0300
@@ -1,71 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <opts-parser.h>
-
-#define CHECK(condition) \
- do { \
- if (!(condition)) { \
- fprintf(stderr, "%s:%d: error: check failed: %s\n", __FILE__, __LINE__, #condition); \
- exit(1); \
- } \
- } while (0)
-
-static void test_obs_parse_options()
-{
- struct obs_options options;
-
- options = obs_parse_options(NULL);
- CHECK(options.count == 0);
- CHECK(options.ignored_word_count == 0);
- obs_free_options(options);
-
- options = obs_parse_options("");
- CHECK(options.count == 0);
- CHECK(options.ignored_word_count == 0);
- obs_free_options(options);
-
- options = obs_parse_options("ref=3");
- CHECK(options.count == 1);
- CHECK(strcmp(options.options[0].name, "ref") == 0);
- CHECK(strcmp(options.options[0].value, "3") == 0);
- CHECK(options.ignored_word_count == 0);
- obs_free_options(options);
-
- options = obs_parse_options("ref=3 bframes=8");
- CHECK(options.count == 2);
- CHECK(strcmp(options.options[0].name, "ref") == 0);
- CHECK(strcmp(options.options[0].value, "3") == 0);
- CHECK(strcmp(options.options[1].name, "bframes") == 0);
- CHECK(strcmp(options.options[1].value, "8") == 0);
- CHECK(options.ignored_word_count == 0);
- obs_free_options(options);
-
- // Invalid options are ignored.
- options = obs_parse_options("ref=3 option_with_no_equal_sign bframes=8 1234");
- CHECK(options.count == 2);
- CHECK(strcmp(options.options[0].name, "ref") == 0);
- CHECK(strcmp(options.options[0].value, "3") == 0);
- CHECK(strcmp(options.options[1].name, "bframes") == 0);
- CHECK(strcmp(options.options[1].value, "8") == 0);
- CHECK(options.ignored_word_count == 2);
- CHECK(strcmp(options.ignored_words[0], "option_with_no_equal_sign") == 0);
- CHECK(strcmp(options.ignored_words[1], "1234") == 0);
- obs_free_options(options);
-
- // Extra whitespace is ignored between and around options.
- options = obs_parse_options(" ref=3 bframes=8 ");
- CHECK(options.count == 2);
- CHECK(strcmp(options.options[0].name, "ref") == 0);
- CHECK(strcmp(options.options[0].value, "3") == 0);
- CHECK(strcmp(options.options[1].name, "bframes") == 0);
- CHECK(strcmp(options.options[1].value, "8") == 0);
- CHECK(options.ignored_word_count == 0);
- obs_free_options(options);
-}
-
-int main()
-{
- test_obs_parse_options();
- return 0;
-}