Files
obs-studio/disable-x264.patch
MaxxedSUSE 92edb69d32 Update to version 32.0.1
- Add disable-x264.patch to remove x264
2025-10-27 10:33:58 -03:00

2104 lines
94 KiB
Diff
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;
-}