Projects
home:manfred-h
handbrake
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 21
View file
handbrake.changes
Changed
@@ -1,4 +1,29 @@ ------------------------------------------------------------------- +Mon Aug 25 08:12:21 UTC 2025 - Manfred Hollstein <manfred.h@gmx.net> + +- Update to version 1.10.1: + * All platforms + - Video + - Fixed a visual corruption issue that could happen when + encoding with x265 + - Fixed SVT-AV1 presets 10, 9, and 8 not working properly with + SSIM tune + - Third-party libraries + - Updated libraries + o HarfBuzz 11.4.2 (subtitles) + * Linux + - Fixed preview audio when running the flatpak build + - Fixed Vorbis passthru checkbox not being applied when the title + changes + * Mac + - Improved custom border color validation + * Windows + - Added new translation + o Romanian (Română) + - Fixed arm64 build + - Fixed audio track name generation + +------------------------------------------------------------------- Fri Aug 15 06:39:40 UTC 2025 - Marcus Rückert <darix@opensu.se> - Add AMF-1.4.36.tar.gz to the download tarball to enable AMD
View file
handbrake.spec
Changed
@@ -26,7 +26,7 @@ Name: handbrake Summary: Multithreaded Video Transcoder -Version: 1.10.0 +Version: 1.10.1 Release: 0 Url: http://handbrake.fr/ Source0: https://github.com/HandBrake/HandBrake/archive/refs/tags/%{version}.tar.gz
View file
1.10.0.tar.gz/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions64.cs
Deleted
@@ -1,369 +0,0 @@ -// -------------------------------------------------------------------------------------------------------------------- -// <copyright file="HBFunctions64.cs" company="HandBrake Project (https://handbrake.fr)"> -// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. -// </copyright> -// <summary> -// Contains p-invoke function declarations to libhb x64 edition. -// </summary> -// -------------------------------------------------------------------------------------------------------------------- - -namespace HandBrake.Interop.Interop.HbLib -{ - using System; - using System.Runtime.InteropServices; - - internal static class HBFunctions64 - { - DllImport("hb", EntryPoint = "hb_register_logger", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_register_logger(LoggingCallback callback); - - DllImport("hb", EntryPoint = "hb_register_error_handler", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_register_error_handler(LoggingCallback callback); - - DllImport("hb", EntryPoint = "hb_global_init", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_global_init(); - - DllImport("hb", EntryPoint = "hb_global_init_no_hardware", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_global_init_no_hardware(); - - DllImport("hb", EntryPoint = "hb_init", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_init(int verbose, int update_check); - - DllImport("hb", EntryPoint = "hb_init_dl", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_init_dl(int verbose, int update_check); - - DllImport("hb", EntryPoint = "hb_get_version", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_get_version(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_get_build", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_get_build(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_dvd_name", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_dvd_name(IntPtr path); - - DllImport("hb", EntryPoint = "hb_dvd_set_dvdnav", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_dvd_set_dvdnav(int enable); - - DllImport("hb", EntryPoint = "hb_scan", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_scan(IntPtr hbHandle, IntPtr path, int title_index, int preview_count, int store_previews, ulong min_duration, ulong max_duration, int crop_auto_switch_threshold, int crop_median_threshold, IntPtr exclude_extensions, int hw_decode, int keep_duplicate_titles); - - DllImport("hb", EntryPoint = "hb_scan_stop", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_scan_stop(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_get_titles", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_get_titles(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_set_anamorphic_size2", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_set_anamorphic_size2(ref hb_geometry_s sourceGeometry, ref hb_geometry_settings_s uiGeometry, ref hb_geometry_s result); - - DllImport("hb", EntryPoint = "hb_rotate_geometry", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_rotate_geometry(ref hb_geometry_crop_s geo, ref hb_geometry_crop_s result, int angle, int hflip); - - DllImport("hb", EntryPoint = "hb_count", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_count(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_job", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_job(IntPtr hbHandle, int jobIndex); - - DllImport("hb", EntryPoint = "hb_rem", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_rem(IntPtr hbHandle, IntPtr job); - - DllImport("hb", EntryPoint = "hb_start", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_start(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_pause", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_pause(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_resume", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_resume(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_stop", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_stop(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_close", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_close(IntPtr hbHandle); - - DllImport("hb", EntryPoint = "hb_global_close", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_global_close(); - - DllImport("hb", EntryPoint = "hb_list_init", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_list_init(); - - DllImport("hb", EntryPoint = "hb_list_count", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_list_count(IntPtr listPtr); - - DllImport("hb", EntryPoint = "hb_list_add", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_list_add(IntPtr listPtr, IntPtr item); - - DllImport("hb", EntryPoint = "hb_list_insert", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_list_insert(IntPtr listPtr, int pos, IntPtr item); - - DllImport("hb", EntryPoint = "hb_list_rem", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_list_rem(IntPtr listPtr, IntPtr item); - - DllImport("hb", EntryPoint = "hb_list_item", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_list_item(IntPtr listPtr, int itemIndex); - - DllImport("hb", EntryPoint = "hb_list_close", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_list_close(IntPtr listPtrPtr); - - DllImport("hb", EntryPoint = "hb_subtitle_can_force", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_subtitle_can_force(int source); - - DllImport("hb", EntryPoint = "hb_subtitle_can_burn", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_subtitle_can_burn(int source); - - DllImport("hb", EntryPoint = "hb_subtitle_can_pass", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_subtitle_can_pass(int source, int mux); - - DllImport("hb", EntryPoint = "hb_video_framerate_get_from_name", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_video_framerate_get_from_name(IntPtr name); - - DllImport("hb", EntryPoint = "hb_video_framerate_get_next", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_video_framerate_get_next(IntPtr last); - - DllImport("hb", EntryPoint = "hb_audio_samplerate_get_next", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_audio_samplerate_get_next(IntPtr last); - - DllImport("hb", EntryPoint = "hb_audio_samplerate_find_closest", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_samplerate_find_closest(int samplerate, uint codec); - - DllImport("hb", EntryPoint = "hb_audio_bitrate_get_best", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_bitrate_get_best(uint codec, int bitrate, int samplerate, int mixdown); - - DllImport("hb", EntryPoint = "hb_audio_bitrate_get_default", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_bitrate_get_default(uint codec, int samplerate, int mixdown); - - DllImport("hb", EntryPoint = "hb_audio_bitrate_get_limits", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_bitrate_get_limits(uint codec, int samplerate, int mixdown, ref int low, ref int high); - - DllImport("hb", EntryPoint = "hb_audio_bitrate_get_next", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_audio_bitrate_get_next(IntPtr last); - - DllImport("hb", EntryPoint = "hb_audio_autonaming_behavior_get_from_name", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_autonaming_behavior_get_from_name(IntPtr name); - - DllImport("hb", EntryPoint = "hb_audio_name_generate", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_audio_name_generate(IntPtr name, ulong layout, int mixdown, int keep_name, int behaviour); - - DllImport("hb", EntryPoint = "hb_video_quality_get_limits", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_video_quality_get_limits(uint codec, ref float low, ref float high, ref float granularity, ref int direction); - - DllImport("hb", EntryPoint = "hb_video_quality_get_name", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_video_quality_get_name(uint codec); - - DllImport("hb", EntryPoint = "hb_video_multipass_is_supported", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_video_multipass_is_supported(uint codec, int constant_quality); - - DllImport("hb", EntryPoint = "hb_video_encoder_is_supported", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_video_encoder_is_supported(int encoder); - - DllImport("hb", EntryPoint = "hb_audio_quality_get_limits", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_audio_quality_get_limits(uint codec, ref float low, ref float high, ref float granularity, ref int direction); - - DllImport("hb", EntryPoint = "hb_audio_quality_get_default", CallingConvention = CallingConvention.Cdecl) - public static extern float hb_audio_quality_get_default(uint codec); - - DllImport("hb", EntryPoint = "hb_audio_compression_get_limits", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_audio_compression_get_limits(uint codec, ref float low, ref float high, ref float granularity, ref int direction); - - DllImport("hb", EntryPoint = "hb_audio_compression_get_default", CallingConvention = CallingConvention.Cdecl) - public static extern float hb_audio_compression_get_default(uint codec); - - DllImport("hb", EntryPoint = "hb_audio_can_apply_drc", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_can_apply_drc(uint codec, uint codec_param, int encoder); - - DllImport("hb", EntryPoint = "hb_autopassthru_get_encoder", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_autopassthru_get_encoder(int in_codec, int copy_mask, int fallback, int muxer); - - DllImport("hb", EntryPoint = "hb_audio_encoder_get_fallback_for_passthru", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_encoder_get_fallback_for_passthru(int passthru); - - DllImport("hb", EntryPoint = "hb_mixdown_is_supported", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_is_supported(int mixdown, uint codec, ulong layout); - - DllImport("hb", EntryPoint = "hb_mixdown_has_codec_support", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_has_codec_support(int mixdown, uint codec); - - DllImport("hb", EntryPoint = "hb_mixdown_has_remix_support", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_has_remix_support(int mixdown, ulong layout); - - DllImport("hb", EntryPoint = "hb_mixdown_get_best", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_get_best(uint codec, ulong layout, int mixdown); - - DllImport("hb", EntryPoint = "hb_mixdown_get_default", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_get_default(uint codec, ulong layout); - - DllImport("hb", EntryPoint = "hb_mixdown_get_next", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_mixdown_get_next(IntPtr last); -
View file
1.10.0.tar.gz/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctionsArm.cs
Deleted
@@ -1,365 +0,0 @@ -// -------------------------------------------------------------------------------------------------------------------- -// <copyright file="HBFunctions.cs" company="HandBrake Project (https://handbrake.fr)"> -// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. -// </copyright> -// <summary> -// Contains p-invoke function declarations to libhb arm64 edition. -// </summary> -// -------------------------------------------------------------------------------------------------------------------- - -namespace HandBrake.Interop.Interop.HbLib -{ - using System; - using System.Runtime.InteropServices; - - internal static class HbFunctionsArm - { - DllImport("hb_a64", EntryPoint = "hb_register_logger", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_register_logger(LoggingCallback callback); - - DllImport("hb_a64", EntryPoint = "hb_register_error_handler", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_register_error_handler(LoggingCallback callback); - - DllImport("hb_a64", EntryPoint = "hb_global_init", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_global_init(); - - DllImport("hb_a64", EntryPoint = "hb_global_init_no_hardware", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_global_init_no_hardware(); - - DllImport("hb_a64", EntryPoint = "hb_init", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_init(int verbose, int update_check); - - DllImport("hb_a64", EntryPoint = "hb_init_dl", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_init_dl(int verbose, int update_check); - - DllImport("hb_a64", EntryPoint = "hb_get_version", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_get_version(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_get_build", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_get_build(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_dvd_name", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_dvd_name(IntPtr path); - - DllImport("hb_a64", EntryPoint = "hb_dvd_set_dvdnav", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_dvd_set_dvdnav(int enable); - - DllImport("hb_a64", EntryPoint = "hb_scan", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_scan(IntPtr hbHandle, IntPtr path, int title_index, int preview_count, int store_previews, ulong min_duration, ulong max_duration, int crop_auto_switch_threshold, int crop_median_threshold, IntPtr exclude_extensions, int hw_decode, int keep_duplicate_titles); - - DllImport("hb_a64", EntryPoint = "hb_scan_stop", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_scan_stop(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_get_titles", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_get_titles(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_set_anamorphic_size2", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_set_anamorphic_size2(ref hb_geometry_s sourceGeometry, ref hb_geometry_settings_s uiGeometry, ref hb_geometry_s result); - - DllImport("hb_a64", EntryPoint = "hb_rotate_geometry", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_rotate_geometry(ref hb_geometry_crop_s geo, ref hb_geometry_crop_s result, int angle, int hflip); - - DllImport("hb_a64", EntryPoint = "hb_count", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_count(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_job", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_job(IntPtr hbHandle, int jobIndex); - - DllImport("hb_a64", EntryPoint = "hb_rem", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_rem(IntPtr hbHandle, IntPtr job); - - DllImport("hb_a64", EntryPoint = "hb_start", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_start(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_pause", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_pause(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_resume", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_resume(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_stop", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_stop(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_close", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_close(IntPtr hbHandle); - - DllImport("hb_a64", EntryPoint = "hb_global_close", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_global_close(); - - DllImport("hb_a64", EntryPoint = "hb_list_init", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_list_init(); - - DllImport("hb_a64", EntryPoint = "hb_list_count", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_list_count(IntPtr listPtr); - - DllImport("hb_a64", EntryPoint = "hb_list_add", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_list_add(IntPtr listPtr, IntPtr item); - - DllImport("hb_a64", EntryPoint = "hb_list_insert", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_list_insert(IntPtr listPtr, int pos, IntPtr item); - - DllImport("hb_a64", EntryPoint = "hb_list_rem", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_list_rem(IntPtr listPtr, IntPtr item); - - DllImport("hb_a64", EntryPoint = "hb_list_item", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_list_item(IntPtr listPtr, int itemIndex); - - DllImport("hb_a64", EntryPoint = "hb_list_close", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_list_close(IntPtr listPtrPtr); - - DllImport("hb_a64", EntryPoint = "hb_subtitle_can_force", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_subtitle_can_force(int source); - - DllImport("hb_a64", EntryPoint = "hb_subtitle_can_burn", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_subtitle_can_burn(int source); - - DllImport("hb_a64", EntryPoint = "hb_subtitle_can_pass", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_subtitle_can_pass(int source, int mux); - - DllImport("hb_a64", EntryPoint = "hb_video_framerate_get_from_name", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_video_framerate_get_from_name(IntPtr name); - - DllImport("hb_a64", EntryPoint = "hb_video_framerate_get_next", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_video_framerate_get_next(IntPtr last); - - DllImport("hb_a64", EntryPoint = "hb_audio_samplerate_get_next", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_audio_samplerate_get_next(IntPtr last); - - DllImport("hb_a64", EntryPoint = "hb_audio_samplerate_find_closest", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_samplerate_find_closest(int samplerate, uint codec); - - DllImport("hb_a64", EntryPoint = "hb_audio_bitrate_get_best", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_bitrate_get_best(uint codec, int bitrate, int samplerate, int mixdown); - - DllImport("hb_a64", EntryPoint = "hb_audio_bitrate_get_default", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_bitrate_get_default(uint codec, int samplerate, int mixdown); - - DllImport("hb_a64", EntryPoint = "hb_audio_bitrate_get_limits", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_bitrate_get_limits(uint codec, int samplerate, int mixdown, ref int low, ref int high); - - DllImport("hb_a64", EntryPoint = "hb_audio_bitrate_get_next", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_audio_bitrate_get_next(IntPtr last); - - DllImport("hb_a64", EntryPoint = "hb_audio_autonaming_behavior_get_from_name", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_autonaming_behavior_get_from_name(IntPtr name); - - DllImport("hb_a64", EntryPoint = "hb_audio_name_generate", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_audio_name_generate(IntPtr name, ulong layout, int mixdown, int keep_name, int behaviour); - - DllImport("hb_a64", EntryPoint = "hb_video_quality_get_limits", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_video_quality_get_limits(uint codec, ref float low, ref float high, ref float granularity, ref int direction); - - DllImport("hb_a64", EntryPoint = "hb_video_quality_get_name", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_video_quality_get_name(uint codec); - - DllImport("hb_a64", EntryPoint = "hb_video_multipass_is_supported", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_video_multipass_is_supported(uint codec, int constant_quality); - - DllImport("hb_a64", EntryPoint = "hb_video_encoder_is_supported", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_video_encoder_is_supported(int encoder); - - DllImport("hb_a64", EntryPoint = "hb_audio_quality_get_limits", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_audio_quality_get_limits(uint codec, ref float low, ref float high, ref float granularity, ref int direction); - - DllImport("hb_a64", EntryPoint = "hb_audio_quality_get_default", CallingConvention = CallingConvention.Cdecl) - public static extern float hb_audio_quality_get_default(uint codec); - - DllImport("hb_a64", EntryPoint = "hb_audio_compression_get_limits", CallingConvention = CallingConvention.Cdecl) - public static extern void hb_audio_compression_get_limits(uint codec, ref float low, ref float high, ref float granularity, ref int direction); - - DllImport("hb_a64", EntryPoint = "hb_audio_compression_get_default", CallingConvention = CallingConvention.Cdecl) - public static extern float hb_audio_compression_get_default(uint codec); - - DllImport("hb_a64", EntryPoint = "hb_audio_can_apply_drc", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_can_apply_drc(uint codec, uint codec_param, int encoder); - - DllImport("hb_a64", EntryPoint = "hb_autopassthru_get_encoder", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_autopassthru_get_encoder(int in_codec, int copy_mask, int fallback, int muxer); - - DllImport("hb_a64", EntryPoint = "hb_audio_encoder_get_fallback_for_passthru", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_audio_encoder_get_fallback_for_passthru(int passthru); - - DllImport("hb_a64", EntryPoint = "hb_mixdown_is_supported", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_is_supported(int mixdown, uint codec, ulong layout); - - DllImport("hb_a64", EntryPoint = "hb_mixdown_has_codec_support", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_has_codec_support(int mixdown, uint codec); - - DllImport("hb_a64", EntryPoint = "hb_mixdown_has_remix_support", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_has_remix_support(int mixdown, ulong layout); - - DllImport("hb_a64", EntryPoint = "hb_mixdown_get_best", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_get_best(uint codec, ulong layout, int mixdown); - - DllImport("hb_a64", EntryPoint = "hb_mixdown_get_default", CallingConvention = CallingConvention.Cdecl) - public static extern int hb_mixdown_get_default(uint codec, ulong layout); - - DllImport("hb_a64", EntryPoint = "hb_mixdown_get_next", CallingConvention = CallingConvention.Cdecl) - public static extern IntPtr hb_mixdown_get_next(IntPtr last); -
View file
1.10.0.tar.gz/.github/workflows/flatpak.yml -> 1.10.1.tar.gz/.github/workflows/flatpak.yml
Changed
@@ -12,42 +12,24 @@ runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - - - name: Cargo-C Toolchain Cache - id: linux-cargo-c-toolchain - uses: actions/cache@v4 - with: - path: | - ~/.cargo/bin/cargo-capi - ~/.cargo/bin/cargo-cbuild - ~/.cargo/bin/cargo-cinstall - key: ${{ runner.os }}-${{ runner.arch }}-flatpak-linux-cargo-c-toolchain - name: Setup Environment run: | sudo apt-get update - sudo apt-get install -y autoconf automake autopoint appstream build-essential cmake git libass-dev libbz2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libjansson-dev liblzma-dev libmp3lame-dev libnuma-dev libogg-dev libopus-dev libsamplerate-dev libspeex-dev -y - sudo apt-get install -y libtheora-dev libtool libtool-bin libturbojpeg0-dev libvorbis-dev libx264-dev libxml2-dev libvpx-dev m4 make meson nasm ninja-build patch pkg-config tar zlib1g-dev - sudo apt-get install -y libva-dev libdrm-dev intltool libglib2.0-dev libunwind-dev libgtk-4-dev libgudev-1.0-dev libssl-dev - sudo python -m pip install meson - sudo apt-get install flatpak flatpak-builder + sudo apt-get install -y autoconf automake build-essential cmake git libnuma-dev libtool libtool-bin m4 make meson nasm ninja-build patch pkg-config tar flatpak flatpak-builder sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo - sudo flatpak install -y flathub org.freedesktop.Sdk//24.08 org.freedesktop.Platform//24.08 org.gnome.Platform//48 org.gnome.Sdk//48 - sudo flatpak install -y org.freedesktop.Sdk.Extension.llvm18//24.08 - sudo flatpak install -y org.freedesktop.Sdk.Extension.rust-stable//24.08 - sudo apt-get upgrade -y - - - name: Setup Cargo-C Toolchain - if: steps.linux-cargo-c-toolchain.outputs.cache-hit != 'true' - run: | - cargo install cargo-c - + sudo flatpak install -y flathub org.gnome.Platform//48 org.gnome.Sdk//48 org.freedesktop.Sdk.Extension.llvm18//24.08 org.freedesktop.Sdk.Extension.rust-stable//24.08 - name: Build HandBrake run: | - ./configure --launch-jobs=1 --flatpak --enable-qsv --enable-vce --enable-nvdec + ./configure --launch-jobs=1 --flatpak --enable-qsv --enable-vce --enable-nvdec --enable-libdovi + cd build + nice make pkg.create.gui.flatpak + + - name: Build HandBrake Plugins + run: | cd build - nice make pkg.create.flatpak + nice make pkg.create.plugins.flatpak - name: Upload Package uses: actions/upload-artifact@v4
View file
1.10.0.tar.gz/NEWS.markdown -> 1.10.1.tar.gz/NEWS.markdown
Changed
@@ -10,8 +10,40 @@ - For x64 (AMD or Intel CPUs)(https://aka.ms/dotnet/8.0/windowsdesktop-runtime-win-x64.exe) - For Arm64 (Qualcomm or other)(https://aka.ms/dotnet/8.0/windowsdesktop-runtime-win-arm64.exe) +## HandBrake 1.10.1 + +### All platforms + +#### Video + +- Fixed a visual corruption issue that could happen when encoding with x265 +- Fixed SVT-AV1 presets 10, 9, and 8 not working properly with SSIM tune + +#### Third-party libraries + +- Updated libraries + - HarfBuzz 11.4.2 (subtitles) + +### Linux + +- Fixed preview audio when running the flatpak build +- Fixed Vorbis passthru checkbox not being applied when the title changes + +### Mac + +- Improved custom border color validation + +### Windows + +- Added new translation + - Romanian (Română) +- Fixed arm64 build +- Fixed audio track name generation + ## HandBrake 1.10.0 +### All platforms + #### General - Added new "Social 10MB" presets
View file
1.10.0.tar.gz/README.markdown -> 1.10.1.tar.gz/README.markdown
Changed
@@ -23,7 +23,7 @@ ## Translations -We are now accepting translations via Transifex(https://www.transifex.com/HandBrakeProject/public) +We are now accepting translations via Transifex(https://explore.transifex.com/HandBrakeProject/) Please read our Translations Guide(https://github.com/HandBrake/HandBrake/blob/master/TRANSLATION.markdown) and follow the instructions if you are interested in joining the translation effort.
View file
1.10.0.tar.gz/TRANSLATION.markdown -> 1.10.1.tar.gz/TRANSLATION.markdown
Changed
@@ -1,7 +1,7 @@ # Translating HandBrake We use Transifex to manage the translation resources for this project. -Please see: Transifex - HandBrake Public Page(https://www.transifex.com/HandBrakeProject/public/) +Please see: Transifex - HandBrake Public Page(https://explore.transifex.com/HandBrakeProject/) ## Requirements and Rules @@ -26,11 +26,11 @@ ## Requesting a Language -HandBrake is managed by a very small team of contributors and as such, we do not have the resources to support translations for every language that may be requested and keep all the user interfaces in sync. As such, we welcome anyone who is willing to help by submitting pull requests to keep the user interface language files in sync with the translations available on Transifex(https://www.transifex.com/HandBrakeProject/public/). +HandBrake is managed by a very small team of contributors and as such, we do not have the resources to support translations for every language that may be requested and keep all the user interfaces in sync. As such, we welcome anyone who is willing to help by submitting pull requests to keep the user interface language files in sync with the translations available on Transifex(https://explore.transifex.com/HandBrakeProject/). Languages that fall out of date or lack sufficient maintainers may be removed from the UI until such time they are in a suitable state. -You can request a language on the Transifex - HandBrake Public Page(https://www.transifex.com/HandBrakeProject/public/) +You can request a language on the Transifex - HandBrake Public Page(https://explore.transifex.com/HandBrakeProject/) ## Viewing Updated Translations
View file
1.10.0.tar.gz/contrib/harfbuzz/module.defs -> 1.10.1.tar.gz/contrib/harfbuzz/module.defs
Changed
@@ -3,9 +3,9 @@ $(eval $(call import.MODULE.defs,HARFBUZZ,harfbuzz,$(__deps__))) $(eval $(call import.CONTRIB.defs,HARFBUZZ)) -HARFBUZZ.FETCH.url = https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/harfbuzz-11.3.3.tar.xz -HARFBUZZ.FETCH.url += https://github.com/harfbuzz/harfbuzz/releases/download/11.3.3/harfbuzz-11.3.3.tar.xz -HARFBUZZ.FETCH.sha256 = e1fbca6b32a91ae91ecd9eb2ca8d47a5bfe2b1cb2e54855ab7a0b464919ef358 +HARFBUZZ.FETCH.url = https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/harfbuzz-11.4.2.tar.xz +HARFBUZZ.FETCH.url += https://github.com/harfbuzz/harfbuzz/releases/download/11.4.2/harfbuzz-11.4.2.tar.xz +HARFBUZZ.FETCH.sha256 = 49ff7bd4a506486057f2918ecc856a249e3972f27ea49e3d2aa0f2afb59a57dd HARFBUZZ.build_dir = build HARFBUZZ.CONFIGURE.exe = cmake
View file
1.10.1.tar.gz/contrib/svt-av1/A02-Fix-tune-ssim.patch
Added
@@ -0,0 +1,249 @@ +From 0f3bbd270efc743ed8fe73de33479f95d7bb8616 Mon Sep 17 00:00:00 2001 +From: hguermaz <hassen.guermazi@intel.com> +Date: Sat, 16 Aug 2025 08:45:57 +0200 +Subject: PATCH Fix --tune ssim + +--- + Source/API/EbDebugMacros.h | 1 + + Source/Lib/Codec/md_process.c | 21 ++++++++- + Source/Lib/Codec/md_process.h | 6 +++ + Source/Lib/Codec/product_coding_loop.c | 59 +++++++++++++++++++++++--- + 4 files changed, 80 insertions(+), 7 deletions(-) + +diff --git a/Source/API/EbDebugMacros.h b/Source/API/EbDebugMacros.h +index 168ee5a3..83cf535d 100644 +--- a/Source/API/EbDebugMacros.h ++++ b/Source/API/EbDebugMacros.h +@@ -34,6 +34,7 @@ + extern "C" { + #endif // __cplusplus + ++#define FIX_TUNE_SSIM 1 // Fix SSIM mode + //FOR DEBUGGING - Do not remove + #define OPT_LD_LATENCY2 1 // Latency optimization for low delay - to keep the Macro for backwards testing until 3.0 + #define LOG_ENC_DONE 0 // log encoder job one +diff --git a/Source/Lib/Codec/md_process.c b/Source/Lib/Codec/md_process.c +index aaa8abdd..772b28a3 100644 +--- a/Source/Lib/Codec/md_process.c ++++ b/Source/Lib/Codec/md_process.c +@@ -103,9 +103,17 @@ static void mode_decision_context_dctor(EbPtr p) { + EB_FREE_ARRAY(obj->mdc_sb_array.split_flag); + EB_FREE_ARRAY(obj->mdc_sb_array.refined_split_flag); + EB_FREE_ARRAY(obj->mdc_sb_array.consider_block); ++#if FIX_TUNE_SSIM ++ for (uint32_t txt_itr = 0; txt_itr < TX_TYPES; ++txt_itr) { ++ EB_DELETE(obj->recon_coeff_ptrtxt_itr); ++ EB_DELETE(obj->recon_ptrtxt_itr); ++ EB_DELETE(obj->quant_coeff_ptrtxt_itr); ++ } ++#else + EB_DELETE(obj->tx_search_recon_coeff_ptr); + EB_DELETE(obj->tx_search_recon_ptr); + EB_DELETE(obj->tx_search_quant_coeff_ptr); ++#endif + EB_DELETE(obj->tx_coeffs); + EB_DELETE(obj->scratch_prediction_ptr); + EB_DELETE(obj->temp_residual); +@@ -415,7 +423,17 @@ EbErrorType svt_aom_mode_decision_context_ctor(ModeDecisionContext *ctx, Sequenc + thirty_two_width_picture_buffer_desc_init_data.top_padding = 0; + thirty_two_width_picture_buffer_desc_init_data.bot_padding = 0; + thirty_two_width_picture_buffer_desc_init_data.split_mode = false; +- ++#if FIX_TUNE_SSIM ++ for (uint32_t txt_itr = 0; txt_itr < TX_TYPES; ++txt_itr) { ++ EB_NEW(ctx->recon_coeff_ptrtxt_itr, ++ svt_picture_buffer_desc_ctor, ++ (EbPtr)&thirty_two_width_picture_buffer_desc_init_data); ++ EB_NEW(ctx->recon_ptrtxt_itr, svt_picture_buffer_desc_ctor, (EbPtr)&picture_buffer_desc_init_data); ++ EB_NEW(ctx->quant_coeff_ptrtxt_itr, ++ svt_picture_buffer_desc_ctor, ++ (EbPtr)&thirty_two_width_picture_buffer_desc_init_data); ++ } ++#else + // Allocate temporary buffers used in TXT search + EB_NEW(ctx->tx_search_recon_coeff_ptr, + svt_picture_buffer_desc_ctor, +@@ -424,6 +442,7 @@ EbErrorType svt_aom_mode_decision_context_ctor(ModeDecisionContext *ctx, Sequenc + EB_NEW(ctx->tx_search_quant_coeff_ptr, + svt_picture_buffer_desc_ctor, + (EbPtr)&thirty_two_width_picture_buffer_desc_init_data); ++#endif + EB_NEW(ctx->tx_coeffs, svt_picture_buffer_desc_ctor, (EbPtr)&thirty_two_width_picture_buffer_desc_init_data); + EB_NEW(ctx->scratch_prediction_ptr, svt_picture_buffer_desc_ctor, (EbPtr)&picture_buffer_desc_init_data); + EbPictureBufferDescInitData double_width_picture_buffer_desc_init_data; +diff --git a/Source/Lib/Codec/md_process.h b/Source/Lib/Codec/md_process.h +index 1ec40295..2cd1d78a 100644 +--- a/Source/Lib/Codec/md_process.h ++++ b/Source/Lib/Codec/md_process.h +@@ -1069,10 +1069,16 @@ typedef struct ModeDecisionContext { + uint8_t params_status; // specifies the status of MD parameters; 0: default, 1: modified + NsqPsqTxsCtrls nsq_psq_txs_ctrls; + uint8_t sb_size; ++#if FIX_TUNE_SSIM ++ EbPictureBufferDesc *recon_coeff_ptrTX_TYPES; ++ EbPictureBufferDesc *recon_ptrTX_TYPES; ++ EbPictureBufferDesc *quant_coeff_ptrTX_TYPES; ++#else + // Temp buffers to store results during TXT search + EbPictureBufferDesc *tx_search_recon_coeff_ptr; + EbPictureBufferDesc *tx_search_recon_ptr; + EbPictureBufferDesc *tx_search_quant_coeff_ptr; ++#endif + // buffer used to store transformed coeffs during TX/Q/IQ. TX'd coeffs are only needed + // temporarily, so no need to save for each TX type. + EbPictureBufferDesc *tx_coeffs; +diff --git a/Source/Lib/Codec/product_coding_loop.c b/Source/Lib/Codec/product_coding_loop.c +index a4f592e1..10e91890 100644 +--- a/Source/Lib/Codec/product_coding_loop.c ++++ b/Source/Lib/Codec/product_coding_loop.c +@@ -4023,30 +4023,51 @@ static void tx_reset_neighbor_arrays(PictureControlSet *pcs, ModeDecisionContext + NEIGHBOR_ARRAY_UNIT_TOP_AND_LEFT_ONLY_MASK); + } + } ++#if FIX_TUNE_SSIM ++static void copy_txt_data(ModeDecisionCandidateBuffer *cand_bf, ModeDecisionContext *ctx, uint32_t txb_origin_index, ++ TxType best_tx_type) { ++#else + static void copy_txt_data(ModeDecisionCandidateBuffer *cand_bf, ModeDecisionContext *ctx, uint32_t txb_origin_index) { ++#endif + uint8_t tx_depth = ctx->tx_depth; + uint32_t txb_1d_offset = ctx->txb_1d_offset; + uint8_t tx_width = ctx->blk_geom->tx_widthtx_depth; + uint8_t tx_height = ctx->blk_geom->tx_heighttx_depth; + // copy recon_coeff_ptr + memcpy(((int32_t *)cand_bf->rec_coeff->buffer_y) + txb_1d_offset, ++#if FIX_TUNE_SSIM ++ ((int32_t *)ctx->recon_coeff_ptrbest_tx_type->buffer_y) + txb_1d_offset, ++#else + ((int32_t *)ctx->tx_search_recon_coeff_ptr->buffer_y) + txb_1d_offset, ++#endif + (tx_width * tx_height * sizeof(uint32_t))); + // copy quant_coeff_ptr + memcpy(((int32_t *)cand_bf->quant->buffer_y) + txb_1d_offset, ++#if FIX_TUNE_SSIM ++ ((int32_t *)ctx->quant_coeff_ptrbest_tx_type->buffer_y) + txb_1d_offset, ++#else + ((int32_t *)ctx->tx_search_quant_coeff_ptr->buffer_y) + txb_1d_offset, ++#endif + (tx_width * tx_height * sizeof(uint32_t))); + // copy recon_ptr + EbPictureBufferDesc *recon_ptr = cand_bf->recon; + if (ctx->hbd_md) { + for (uint32_t j = 0; j < tx_height; ++j) + memcpy(((uint16_t *)recon_ptr->buffer_y) + txb_origin_index + j * recon_ptr->stride_y, ++#if FIX_TUNE_SSIM ++ ((uint16_t *)ctx->recon_ptrbest_tx_type->buffer_y) + txb_origin_index + j * recon_ptr->stride_y, ++#else + ((uint16_t *)ctx->tx_search_recon_ptr->buffer_y) + txb_origin_index + j * recon_ptr->stride_y, ++#endif + tx_width * sizeof(uint16_t)); + } else { + for (uint32_t j = 0; j < tx_height; ++j) + memcpy(recon_ptr->buffer_y + txb_origin_index + j * recon_ptr->stride_y, ++#if FIX_TUNE_SSIM ++ ctx->recon_ptrbest_tx_type->buffer_y + txb_origin_index + j * recon_ptr->stride_y, ++#else + ctx->tx_search_recon_ptr->buffer_y + txb_origin_index + j * recon_ptr->stride_y, ++#endif + ctx->blk_geom->tx_widthtx_depth); + } + } +@@ -4313,11 +4334,13 @@ static void tx_type_search(PictureControlSet *pcs, ModeDecisionContext *ctx, Mod + &ctx->luma_txb_skip_context, + &ctx->luma_dc_sign_context); + TxType best_tx_type = DCT_DCT; ++#if !FIX_TUNE_SSIM + // buffer is 0 or 1 to alternate between using cand_bf buffers and temporary buffers. + // Data is stored for the best-so-far-TX data and the currently-being-searched TX type data. After the + // search, the cand_bf data will be updated with the best. + uint8_t txt_buffer = 0; + uint8_t best_txt_buffer = 0; ++#endif + // local variables for all TX types + uint16_t eob_txtTX_TYPES = {0}; + uint8_t quantized_dc_txtTX_TYPES = {0}; +@@ -4359,11 +4382,19 @@ static void tx_type_search(PictureControlSet *pcs, ModeDecisionContext *ctx, Mod + } + } + // Do not use temporary buffers when TXT is OFF ++#if FIX_TUNE_SSIM ++ EbPictureBufferDesc *recon_coeff_ptr = (tx_type == DCT_DCT) ? cand_bf->rec_coeff ++ : ctx->recon_coeff_ptrtx_type; ++ EbPictureBufferDesc *recon_ptr = (tx_type == DCT_DCT) ? cand_bf->recon : ctx->recon_ptrtx_type; ++ EbPictureBufferDesc *quant_coeff_ptr = (tx_type == DCT_DCT) ? cand_bf->quant ++ : ctx->quant_coeff_ptrtx_type; ++#else + assert(IMPLIES(tx_type == DCT_DCT, txt_buffer == 0)); + EbPictureBufferDesc *recon_coeff_ptr = txt_buffer ? ctx->tx_search_recon_coeff_ptr : cand_bf->rec_coeff; + EbPictureBufferDesc *recon_ptr = txt_buffer ? ctx->tx_search_recon_ptr : cand_bf->recon; + EbPictureBufferDesc *quant_coeff_ptr = txt_buffer ? ctx->tx_search_quant_coeff_ptr : cand_bf->quant; +- ctx->three_quad_energy = 0; ++#endif ++ ctx->three_quad_energy = 0; + if (!tx_search_skip_flag) { + // Y: T Q i_q + svt_aom_estimate_transform(pcs, +@@ -4546,8 +4577,10 @@ static void tx_type_search(PictureControlSet *pcs, ModeDecisionContext *ctx, Mod + best_cost_tx_search = cost; + best_tx_type = tx_type; + best_tx_non_coeff = eob_txttx_type; +- best_txt_buffer = txt_buffer; +- txt_buffer = !txt_buffer; ++#if !FIX_TUNE_SSIM ++ best_txt_buffer = txt_buffer; ++ txt_buffer = !txt_buffer; ++#endif + if (tx_type == DCT_DCT) + dct_dct_cost = cost; + } +@@ -4581,8 +4614,11 @@ static void tx_type_search(PictureControlSet *pcs, ModeDecisionContext *ctx, Mod
View file
1.10.1.tar.gz/contrib/svt-av1/A03-Fix-overflow-bug-in-svt_compressed_packmsb_neon.patch
Added
@@ -0,0 +1,29 @@ +From d624af70728387c370cdc3b41a3ff91551c3df90 Mon Sep 17 00:00:00 2001 +From: Salome Thirot <salome.thirot@arm.com> +Date: Fri, 15 Aug 2025 12:04:08 +0100 +Subject: PATCH 1/2 Fix overflow bug in svt_compressed_packmsb_neon + +Only 64 bits need to be loaded in the 32x2h helper. +--- + Source/Lib/ASM_NEON/picture_operators_intrinsic_neon.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/Source/Lib/ASM_NEON/picture_operators_intrinsic_neon.c b/Source/Lib/ASM_NEON/picture_operators_intrinsic_neon.c +index 17708893..261666b8 100644 +--- a/Source/Lib/ASM_NEON/picture_operators_intrinsic_neon.c ++++ b/Source/Lib/ASM_NEON/picture_operators_intrinsic_neon.c +@@ -345,10 +345,7 @@ static inline void compressed_packmsb_32x2h(uint8_t *in8_bit_buffer, uint32_t in + + // processing 2 lines for chroma + for (uint32_t y = 0; y < height; y += 2) { +- // 2 Lines Stored in 1D format-Could be replaced by 2 _mm_loadl_epi64 +- const uint8x16_t in_2_bit = vreinterpretq_u8_u64( +- vzip1q_u64(vreinterpretq_u64_u8(vld1q_u8(inn_bit_buffer)), +- vreinterpretq_u64_u8(vld1q_u8(inn_bit_buffer + inn_stride)))); ++ const uint8x16_t in_2_bit = load_u8_8x2(inn_bit_buffer, inn_stride); + + const uint8x16_t ext0 = vandq_u8(in_2_bit, msk0); + const uint8x16_t ext1 = vandq_u8(vreinterpretq_u8_u16(vshlq_n_u16(vreinterpretq_u16_u8(in_2_bit), 2)), msk0); +-- +2.39.5 (Apple Git-154) +
View file
1.10.1.tar.gz/contrib/x265/A09-Ensuring-the-mvdLX-is-compliant.patch
Added
@@ -0,0 +1,35 @@ +From de4dc0bc67d648c8efd7fecab8d378d44317c5f0 Mon Sep 17 00:00:00 2001 +From: Mr-Z-2697 <74594146+Mr-Z-2697 at users.noreply.github.com> +Date: Sun, 13 Jul 2025 16:09:53 +0800 +Subject: PATCH Ensuring the mvdLX is compliant + + +The value of the mvdLX should be in the range of -2^15, 2^15-1, as specified in H.265 7.4.9.9 Motion vector difference semantics. +However there was no safety check in this area, the mvdLX have been observed to exceed the range, under some rare circumstances. + + +This casting will cause overflow and underflow, should the mvd exceeds the int16_t range. +But because of the decoding process Equation 8-94 to 8-97, and the MV itself having the range of -2^15, 2^15-1, the decoded MV will still be correct, and mvdLX will be in the legal range. +--- + source/encoder/entropy.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + + +diff --git a/source/encoder/entropy.cpp b/source/encoder/entropy.cpp +index d4bf73d53..bc1c0d8e0 100644 +--- a/source/encoder/entropy.cpp ++++ b/source/encoder/entropy.cpp +@@ -2104,8 +2104,9 @@ void Entropy::codeRefFrmIdx(const CUData& cu, uint32_t absPartIdx, int list) + void Entropy::codeMvd(const CUData& cu, uint32_t absPartIdx, int list) + { + const MV& mvd = cu.m_mvdlistabsPartIdx; +- const int hor = mvd.x; +- const int ver = mvd.y; ++ // to ensure the mvdLX is in the range of -2^15, 2^15-1 ++ const int16_t hor = (int16_t)mvd.x; ++ const int16_t ver = (int16_t)mvd.y; + + encodeBin(hor != 0 ? 1 : 0, m_contextStateOFF_MV_RES_CTX); + encodeBin(ver != 0 ? 1 : 0, m_contextStateOFF_MV_RES_CTX); +-- +2.50.1.windows.1 \ No newline at end of file
View file
1.10.0.tar.gz/gtk/data/fr.handbrake.ghb.metainfo.xml.in.in -> 1.10.1.tar.gz/gtk/data/fr.handbrake.ghb.metainfo.xml.in.in
Changed
@@ -109,6 +109,16 @@ <releases> <release version="@RELEASE_TAG@" date="@RELEASE_DATE@"> <description> + <p>Fixed issues:</p> + <ul> + <li>Fixed a visual corruption issue that could happen when encoding with x265</li> + <li>Fixed SVT-AV1 presets 10, 9, and 8 not working properly with SSIM tune</li> + <li>Fixed preview audio when running the Flatpak build</li> + </ul> + </description> + </release> + <release version="1.10.0" date="2025-08-10"> + <description> <ul> <li>Added new "Social 10MB" presets</li> <li>Improved metadata passthru, preserving additional metadata</li>
View file
1.10.0.tar.gz/gtk/src/presets.c -> 1.10.1.tar.gz/gtk/src/presets.c
Changed
@@ -514,7 +514,7 @@ break; case HB_ACODEC_VORBIS: case HB_ACODEC_VORBIS_PASS: - ghb_dict_set_bool(settings, "AudioAllowOPUSPass", 1); + ghb_dict_set_bool(settings, "AudioAllowVORBISPass", 1); break; case HB_ACODEC_OPUS: case HB_ACODEC_OPUS_PASS:
View file
1.10.0.tar.gz/macosx/Base.lproj/HBPictureViewController.xib -> 1.10.1.tar.gz/macosx/Base.lproj/HBPictureViewController.xib
Changed
@@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="20037" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23727" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> <dependencies> <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="20037"/> + <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23727"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> @@ -22,7 +22,7 @@ <stackView distribution="fill" orientation="vertical" alignment="leading" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="P5q-5e-xlx"> <rect key="frame" x="20" y="295" width="324" height="36"/> <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vKA-Sa-wGh"> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vKA-Sa-wGh"> <rect key="frame" x="-2" y="22" width="112" height="14"/> <textFieldCell key="cell" lineBreakMode="clipping" title="Source Dimensions" id="Trk-C5-Npx"> <font key="font" metaFont="smallSystemBold"/> @@ -39,7 +39,7 @@ <stackView distribution="fill" orientation="horizontal" alignment="top" spacing="3" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ZtF-Dr-Q9I"> <rect key="frame" x="0.0" y="0.0" width="100" height="14"/> <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="y0c-bm-peD"> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="y0c-bm-peD"> <rect key="frame" x="-2" y="0.0" width="74" height="14"/> <textFieldCell key="cell" lineBreakMode="clipping" title="Storage Size:" id="ZZ9-XW-Uib"> <font key="font" metaFont="smallSystem"/> @@ -50,7 +50,7 @@ <binding destination="-2" name="textColor" keyPath="self.labelColor" id="Zfk-xb-1A1"/> </connections> </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rw8-Yc-JRg"> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rw8-Yc-JRg"> <rect key="frame" x="71" y="0.0" width="31" height="14"/> <textFieldCell key="cell" lineBreakMode="clipping" title="0 x 0" id="ZTy-fJ-cDa"> <font key="font" metaFont="smallSystem"/> @@ -78,7 +78,7 @@ <stackView distribution="fill" orientation="horizontal" alignment="top" spacing="2" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lJ7-rP-yaL"> <rect key="frame" x="119" y="0.0" width="96" height="14"/> <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="So8-97-LO3"> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="So8-97-LO3"> <rect key="frame" x="-2" y="0.0" width="71" height="14"/> <textFieldCell key="cell" lineBreakMode="clipping" title="Display Size:" id="1AB-bM-qTs"> <font key="font" metaFont="smallSystem"/> @@ -89,7 +89,7 @@ <binding destination="-2" name="textColor" keyPath="self.labelColor" id="HGZ-Jt-Dkm"/> </connections> </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xdm-1k-xBq"> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xdm-1k-xBq"> <rect key="frame" x="67" y="0.0" width="31" height="14"/> <textFieldCell key="cell" lineBreakMode="clipping" title="0 x 0" id="byr-LI-ap5"> <font key="font" metaFont="smallSystem"/> @@ -117,7 +117,7 @@ <stackView distribution="fill" orientation="horizontal" alignment="top" spacing="6" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="woK-zN-dbx"> <rect key="frame" x="234" y="0.0" width="90" height="14"/> <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="i1a-eO-STO"> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="i1a-eO-STO"> <rect key="frame" x="-2" y="0.0" width="74" height="14"/> <textFieldCell key="cell" lineBreakMode="clipping" title="Aspect Ratio:" id="Lz1-Cx-d30"> <font key="font" metaFont="smallSystem"/> @@ -128,7 +128,7 @@ <binding destination="-2" name="textColor" keyPath="self.labelColor" id="npL-hT-m8l"/> </connections> </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ibg-YD-AVt"> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ibg-YD-AVt"> <rect key="frame" x="74" y="0.0" width="18" height="14"/> <textFieldCell key="cell" lineBreakMode="clipping" title="1:1" id="lIt-eN-Uyd"> <font key="font" metaFont="smallSystem"/> @@ -181,7 +181,7 @@ <stackView distribution="fill" orientation="vertical" alignment="leading" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zU5-gT-j2i"> <rect key="frame" x="0.0" y="35" width="218" height="152"/> <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VhD-q6-iLb"> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VhD-q6-iLb"> <rect key="frame" x="-2" y="138" width="133" height="14"/> <textFieldCell key="cell" lineBreakMode="clipping" title="Orientation & Cropping" id="u2U-SJ-szy"> <font key="font" metaFont="smallSystemBold"/> @@ -195,7 +195,7 @@ <stackView distribution="fill" orientation="horizontal" alignment="firstBaseline" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sru-ia-7VY"> <rect key="frame" x="0.0" y="116" width="134" height="14"/> <subviews> - <textField horizontalHuggingPriority="752" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="400" translatesAutoresizingMaskIntoConstraints="NO" id="Kpm-FM-DTT"> + <textField focusRingType="none" horizontalHuggingPriority="752" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="400" translatesAutoresizingMaskIntoConstraints="NO" id="Kpm-FM-DTT"> <rect key="frame" x="-2" y="0.0" width="56" height="14"/> <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="right" title="Flipping:" id="ewx-pd-ANc"> <font key="font" metaFont="smallSystem"/> @@ -246,7 +246,7 @@ <stackView distribution="fill" orientation="horizontal" alignment="firstBaseline" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Uev-zj-FIR"> <rect key="frame" x="0.0" y="92" width="110" height="16"/> <subviews> - <textField horizontalHuggingPriority="752" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="400" translatesAutoresizingMaskIntoConstraints="NO" id="0rN-RP-Om4"> + <textField focusRingType="none" horizontalHuggingPriority="752" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="400" translatesAutoresizingMaskIntoConstraints="NO" id="0rN-RP-Om4"> <rect key="frame" x="-2" y="1" width="56" height="14"/> <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="right" title="Rotation:" id="vb2-DA-Pgr"> <font key="font" metaFont="smallSystem"/> @@ -305,7 +305,7 @@ <stackView distribution="fill" orientation="horizontal" alignment="firstBaseline" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ZkN-1w-lLe"> <rect key="frame" x="0.0" y="0.0" width="218" height="84"/> <subviews> - <textField horizontalHuggingPriority="753" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="400" translatesAutoresizingMaskIntoConstraints="NO" id="Aea-Uc-JnZ"> + <textField focusRingType="none" horizontalHuggingPriority="753" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="400" translatesAutoresizingMaskIntoConstraints="NO" id="Aea-Uc-JnZ"> <rect key="frame" x="-2" y="69" width="56" height="14"/> <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="right" title="Cropping:" id="zsq-Le-41g"> <font key="font" metaFont="smallSystem"/> @@ -348,7 +348,7 @@ <customView translatesAutoresizingMaskIntoConstraints="NO" id="xfh-Wp-ZQz"> <rect key="frame" x="0.0" y="0.0" width="158" height="60"/> <subviews> - <textField toolTip="Left edge cropping amount in pixels" verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="LTu-ic-Ty9"> + <textField toolTip="Left edge cropping amount in pixels" focusRingType="none" verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="LTu-ic-Ty9"> <rect key="frame" x="0.0" y="21" width="36" height="19"/> <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="XZs-gj-hoo"> @@ -377,7 +377,7 @@ <binding destination="-2" name="enabled" keyPath="self.picture.customCropEnabled" id="VO1-zV-9wC"/> </connections> </textField> - <textField toolTip="Bottom edge cropping amount in pixels" verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="1Z0-JT-vst"> + <textField toolTip="Bottom edge cropping amount in pixels" focusRingType="none" verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="1Z0-JT-vst"> <rect key="frame" x="54" y="2" width="36" height="19"/> <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="DzX-1f-HsP"> @@ -406,7 +406,7 @@ <binding destination="-2" name="enabled" keyPath="self.picture.customCropEnabled" id="iza-Pd-Pzx"/> </connections> </textField> - <textField toolTip="Right edge cropping amount in pixels" verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="wsq-TS-cC6"> + <textField toolTip="Right edge cropping amount in pixels" focusRingType="none" verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="wsq-TS-cC6"> <rect key="frame" x="108" y="21" width="36" height="19"/> <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="CIG-PU-RMT"> @@ -535,7 +535,7 @@ <binding destination="-2" name="enabled" keyPath="self.picture.customCropEnabled" id="wAQ-9J-HFt"/> </connections> </stepper> - <textField toolTip="Top edge cropping amount in pixels" verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="41c-48-2XJ"> + <textField toolTip="Top edge cropping amount in pixels" focusRingType="none" verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="41c-48-2XJ"> <rect key="frame" x="54" y="40" width="36" height="19"/> <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="CZs-y7-1JV"> @@ -611,7 +611,7 @@ <stackView distribution="fill" orientation="vertical" alignment="leading" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3sU-eh-1ja"> <rect key="frame" x="241" y="0.0" width="248" height="187"/> <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Or0-9o-QjY"> + <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Or0-9o-QjY"> <rect key="frame" x="-2" y="173" width="119" height="14"/> <textFieldCell key="cell" lineBreakMode="clipping" title="Resolution & Scaling" id="aVx-b3-2AK"> <font key="font" metaFont="smallSystemBold"/> @@ -625,7 +625,7 @@ <stackView distribution="fill" orientation="horizontal" alignment="firstBaseline" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uO6-48-Dmb"> <rect key="frame" x="0.0" y="149" width="231" height="16"/> <subviews> - <textField horizontalHuggingPriority="752" verticalHuggingPriority="750" horizontalCompressionResistancePriority="752" preferredMaxLayoutWidth="300" translatesAutoresizingMaskIntoConstraints="NO" id="PJL-Y6-9ZV"> + <textField focusRingType="none" horizontalHuggingPriority="752" verticalHuggingPriority="750" horizontalCompressionResistancePriority="752" preferredMaxLayoutWidth="300" translatesAutoresizingMaskIntoConstraints="NO" id="PJL-Y6-9ZV"> <rect key="frame" x="-2" y="1" width="92" height="14"/> <textFieldCell key="cell" controlSize="small" lineBreakMode="clipping" alignment="right" title="Resolution Limit:" id="d0T-QG-WXU"> <font key="font" metaFont="smallSystem"/> @@ -678,7 +678,7 @@ <stackView distribution="fill" orientation="horizontal" alignment="centerY" spacing="7" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="QW6-1e-ZMT"> <rect key="frame" x="96" y="122" width="128" height="19"/> <subviews> - <textField toolTip="The maximum width that the video will be stored at." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NRy-vc-8qX"> + <textField toolTip="The maximum width that the video will be stored at." focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NRy-vc-8qX"> <rect key="frame" x="0.0" y="0.0" width="54" height="19"/> <constraints> <constraint firstAttribute="width" constant="54" id="gNB-FK-Qtf"/> @@ -698,7 +698,7 @@ </binding> </connections> </textField> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="20" translatesAutoresizingMaskIntoConstraints="NO" id="who-FI-Crq"> + <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="20" translatesAutoresizingMaskIntoConstraints="NO" id="who-FI-Crq"> <rect key="frame" x="59" y="3" width="10" height="14"/> <textFieldCell key="cell" controlSize="small" enabled="NO" sendsActionOnEndEditing="YES" alignment="right" title="x" id="5Tj-xw-QuU"> <font key="font" metaFont="smallSystem"/> @@ -713,7 +713,7 @@ </binding> </connections> </textField> - <textField toolTip="The maximum height that the video will be stored at." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FGm-oJ-FVW"> + <textField toolTip="The maximum height that the video will be stored at." focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FGm-oJ-FVW"> <rect key="frame" x="74" y="0.0" width="54" height="19"/> <constraints> <constraint firstAttribute="width" constant="54" id="EEm-90-oEg"/> @@ -755,7 +755,7 @@ <stackView distribution="fill" orientation="horizontal" alignment="firstBaseline" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gTO-xc-fNR"> <rect key="frame" x="0.0" y="98" width="174" height="16"/> <subviews> - <textField horizontalHuggingPriority="751" verticalHuggingPriority="750" horizontalCompressionResistancePriority="752" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="300" translatesAutoresizingMaskIntoConstraints="NO" id="JBo-0E-AsU"> + <textField focusRingType="none" horizontalHuggingPriority="751" verticalHuggingPriority="750" horizontalCompressionResistancePriority="752" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="300" translatesAutoresizingMaskIntoConstraints="NO" id="JBo-0E-AsU"> <rect key="frame" x="-2" y="1" width="92" height="14"/> <textFieldCell key="cell" controlSize="small" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Anamorphic:" id="8vS-Mw-bny"> <font key="font" metaFont="smallSystem"/>
View file
1.10.0.tar.gz/macosx/HBAppDelegate.m -> 1.10.1.tar.gz/macosx/HBAppDelegate.m
Changed
@@ -367,7 +367,7 @@ - (IBAction)openForums:(id)sender { - NSWorkspace.sharedWorkspace openURL:NSURL URLWithString:@"https://forum.handbrake.fr/"; + NSWorkspace.sharedWorkspace openURL:NSURL URLWithString:@"https://handbrake.fr/community.php"; } - (IBAction)openUserGuide:(id)sender {
View file
1.10.0.tar.gz/macosx/HBAudioDefaults.m -> 1.10.1.tar.gz/macosx/HBAudioDefaults.m
Changed
@@ -260,9 +260,11 @@ self.allowDTSPassthru = NO; self.allowDTSHDPassthru = NO; self.allowEAC3Passthru = NO; + self.allowALACPassthru = NO; self.allowFLACPassthru = NO; self.allowMP2Passthru = NO; self.allowMP3Passthru = NO; + self.allowVorbisPassthru = NO; self.allowOpusPassthru = NO; self.allowTrueHDPassthru = NO;
View file
1.10.0.tar.gz/macosx/HBPicture.m -> 1.10.1.tar.gz/macosx/HBPicture.m
Changed
@@ -10,6 +10,7 @@ #import "HBCodingUtilities.h" #import "HBMutablePreset.h" #import "NSDictionary+HBAdditions.h" +#import "HBLocalizationUtilities.h" #include "handbrake/handbrake.h" @@ -751,6 +752,40 @@ } } +- (BOOL)validatePadColorCustom:(id *)ioValue error:(NSError * __autoreleasing *)outError +{ + BOOL retval = YES; + + if (nil != *ioValue) + { + NSString *customValue = *ioValue; + + uint32_t color = hb_rgb_lookup_by_name(customValue.UTF8String); + + NSRegularExpression *regex = NSRegularExpression regularExpressionWithPattern:@"^0x?(a-f0-9{6})$" + options:NSRegularExpressionCaseInsensitive + error:NULL; + + NSUInteger numberOfMatches = regex numberOfMatchesInString:customValue + options:0 + range:NSMakeRange(0, customValue.length); + + if (color == 0 && numberOfMatches == 0) + { + retval = NO; + if (outError) + { + NSDictionary *userInfo = @{NSLocalizedDescriptionKey: HBKitLocalizedString(@"Invalid custom border color.", + @"HBPicture -> invalid pad custom string description"), + NSLocalizedRecoverySuggestionErrorKey: @"Try to use either a English color name, or a 0xRRGGBB sequence."}; + *outError = NSError errorWithDomain:@"HBPictureError" code:0 userInfo:userInfo; + } + } + } + + return retval; +} + #pragma mark - Anamorphic - (void)setAnamorphicMode:(HBPictureAnarmophicMode)anamorphicMode
View file
1.10.0.tar.gz/macosx/HBQueueController.m -> 1.10.1.tar.gz/macosx/HBQueueController.m
Changed
@@ -159,7 +159,6 @@ self.window.contentViewController = _splitViewController; self.window.frameAutosaveName = @"HBQueueWindowFrameAutosave"; - self.window setFrameFromString:@"HBQueueWindowFrameAutosave"; // Set up observers NSNotificationCenter.defaultCenter addObserverForName:HBQueueDidChangeStateNotification object:_queue queue:NSOperationQueue.mainQueue usingBlock:^(NSNotification * _Nonnull note) {
View file
1.10.0.tar.gz/pkg/linux/flatpak/fr.handbrake.ghb.json -> 1.10.1.tar.gz/pkg/linux/flatpak/fr.handbrake.ghb.json
Changed
@@ -9,6 +9,7 @@ "--share=ipc", "--socket=fallback-x11", "--socket=wayland", + "--socket=pulseaudio", "--filesystem=host", "--filesystem=xdg-run/gvfs", "--filesystem=xdg-run/gvfsd",
View file
1.10.0.tar.gz/win/CS/HandBrake.App.Core/HandBrake.App.Core.csproj -> 1.10.1.tar.gz/win/CS/HandBrake.App.Core/HandBrake.App.Core.csproj
Changed
@@ -2,8 +2,8 @@ <PropertyGroup> <TargetFramework>net8.0</TargetFramework> - <FileVersion>1.10.0.0</FileVersion> - <Version>1.10.0</Version> + <FileVersion>1.10.1.0</FileVersion> + <Version>1.10.1</Version> <Authors>HandBrake Team</Authors> <Description>HandBrake is an open-source, GPL-licensed, multiplatform,video transcoder.</Description> <Copyright>Copyright © 2003-2025 HandBrake Team</Copyright>
View file
1.10.0.tar.gz/win/CS/HandBrake.Interop/HandBrake.Interop.csproj -> 1.10.1.tar.gz/win/CS/HandBrake.Interop/HandBrake.Interop.csproj
Changed
@@ -2,8 +2,8 @@ <PropertyGroup> <TargetFramework>net8.0</TargetFramework> - <FileVersion>1.10.0.0</FileVersion> - <Version>1.10.0</Version> + <FileVersion>1.10.1.0</FileVersion> + <Version>1.10.1</Version> <Authors>HandBrake Team</Authors> <Description>HandBrake is an open-source, GPL-licensed, multiplatform,video transcoder.</Description> <Copyright>Copyright © 2003-2025 HandBrake Team</Copyright>
View file
1.10.0.tar.gz/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs -> 1.10.1.tar.gz/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs
Changed
@@ -313,7 +313,7 @@ /// </returns> public static bool VideoEncoderSupportsMultiPass(int encoderId, bool constantQuality) { - return HBFunctions.hb_video_multipass_is_supported((uint)encoderId, Convert.ToInt32(constantQuality)) > 0; + return HBFunctions.hb_video_multipass_is_supported((uint)encoderId, Convert.ToInt32(constantQuality)) > 0; } public static bool VideoEncoderSupportsQualityMode(string encoderShortName) @@ -788,7 +788,11 @@ public static string GetAutonameAudioTrack(string name, ulong layout, int mixdown, bool keep_name, int behaviour) { - IntPtr nameptr = Marshal.StringToHGlobalAnsi(name); + IntPtr nameptr = IntPtr.Zero; + if (name != null) + { + nameptr = InteropUtilities.ToUtf8PtrFromString(name); + } return Marshal.PtrToStringUTF8((IntPtr)HBFunctions.hb_audio_name_generate(nameptr, layout, mixdown, keep_name ? 1 : 0, behaviour)); }
View file
1.10.0.tar.gz/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs -> 1.10.1.tar.gz/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs
Changed
@@ -3,7 +3,7 @@ // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // </copyright> // <summary> -// Defines the HBFunctions type. +// Contains p-invoke function declarations to libhb x64 edition. // </summary> // -------------------------------------------------------------------------------------------------------------------- @@ -12,655 +12,353 @@ using System; using System.Runtime.InteropServices; - /// <summary> - /// Contains p-invoke function declarations to hblib. - /// </summary> internal static class HBFunctions { - private static bool IsArmDevice; - - static HBFunctions() - { - IsArmDevice = RuntimeInformation.ProcessArchitecture == Architecture.Arm64; - } - - public static void hb_register_logger(LoggingCallback callback) - { - if (IsArmDevice) - HbFunctionsArm.hb_register_logger(callback); - else - HBFunctions64.hb_register_logger(callback); - } - - public static void hb_register_error_handler(LoggingCallback callback) - { - if (IsArmDevice) - HbFunctionsArm.hb_register_error_handler(callback); - else - HBFunctions64.hb_register_error_handler(callback); - } - - public static int hb_global_init() - { - return IsArmDevice ? HbFunctionsArm.hb_global_init() : HBFunctions64.hb_global_init(); - } - - public static int hb_global_init_no_hardware() - { - return IsArmDevice ? HbFunctionsArm.hb_global_init_no_hardware() : HBFunctions64.hb_global_init_no_hardware(); - } - - public static IntPtr hb_init(int verbose, int update_check) - { - return IsArmDevice ? HbFunctionsArm.hb_init(verbose, update_check) : HBFunctions64.hb_init(verbose, update_check); - } - - public static IntPtr hb_init_dl(int verbose, int update_check) - { - return IsArmDevice ? HbFunctionsArm.hb_init_dl(verbose, update_check) : HBFunctions64.hb_init_dl(verbose, update_check); - } - - public static IntPtr hb_get_version(IntPtr hbHandle) - { - return IsArmDevice ? HbFunctionsArm.hb_get_version(hbHandle) : HBFunctions64.hb_get_version(hbHandle); - } - - public static int hb_get_build(IntPtr hbHandle) - { - return IsArmDevice ? HbFunctionsArm.hb_get_build(hbHandle) : HBFunctions64.hb_get_build(hbHandle); - } - - public static IntPtr hb_dvd_name(IntPtr path) - { - return IsArmDevice ? HbFunctionsArm.hb_dvd_name(path) : HBFunctions64.hb_dvd_name(path); - } - - public static void hb_dvd_set_dvdnav(int enable) - { - if (IsArmDevice) - HbFunctionsArm.hb_dvd_set_dvdnav(enable); - else - HBFunctions64.hb_dvd_set_dvdnav(enable); - } - - public static void hb_scan(IntPtr hbHandle, IntPtr path, int title_index, int preview_count, int store_previews, ulong min_duration, ulong max_duration, int crop_auto_switch_threshold, int crop_median_threshold, IntPtr exclude_extensions, int hw_decode, int keep_duplicate_titles) - { - if (IsArmDevice) - HbFunctionsArm.hb_scan(hbHandle, path, title_index, preview_count, store_previews, min_duration, max_duration, crop_auto_switch_threshold, crop_median_threshold, exclude_extensions, hw_decode, keep_duplicate_titles); - else - HBFunctions64.hb_scan(hbHandle, path, title_index, preview_count, store_previews, min_duration, max_duration, crop_auto_switch_threshold, crop_median_threshold, exclude_extensions, hw_decode, keep_duplicate_titles); - } - - public static void hb_scan_stop(IntPtr hbHandle) - { - if (IsArmDevice) - HbFunctionsArm.hb_scan_stop(hbHandle); - else - HBFunctions64.hb_scan_stop(hbHandle); - } - - public static IntPtr hb_get_titles(IntPtr hbHandle) - { - return IsArmDevice ? HbFunctionsArm.hb_get_titles(hbHandle) : HBFunctions64.hb_get_titles(hbHandle); - } - - public static void hb_set_anamorphic_size2(ref hb_geometry_s sourceGeometry, ref hb_geometry_settings_s uiGeometry, ref hb_geometry_s result) - { - if (IsArmDevice) - HbFunctionsArm.hb_set_anamorphic_size2(ref sourceGeometry, ref uiGeometry, ref result); - else - HBFunctions64.hb_set_anamorphic_size2(ref sourceGeometry, ref uiGeometry, ref result); - } - - public static IntPtr hb_rotate_geometry(ref hb_geometry_crop_s geo, ref hb_geometry_crop_s result, int angle, int hflip) - { - return IsArmDevice ? HbFunctionsArm.hb_rotate_geometry(ref geo, ref result, angle, hflip) : HBFunctions64.hb_rotate_geometry(ref geo, ref result, angle, hflip); - } - - public static int hb_count(IntPtr hbHandle) - { - return IsArmDevice ? HbFunctionsArm.hb_count(hbHandle) : HBFunctions64.hb_count(hbHandle); - } - - public static IntPtr hb_job(IntPtr hbHandle, int jobIndex) - { - return IsArmDevice ? HbFunctionsArm.hb_job(hbHandle, jobIndex) : HBFunctions64.hb_job(hbHandle, jobIndex); - } - - public static void hb_rem(IntPtr hbHandle, IntPtr job) - { - if (IsArmDevice) - HbFunctionsArm.hb_rem(hbHandle, job); - else - HBFunctions64.hb_rem(hbHandle, job); - } - - public static void hb_start(IntPtr hbHandle) - { - if (IsArmDevice) - HbFunctionsArm.hb_start(hbHandle); - else - HBFunctions64.hb_start(hbHandle); - } - - public static void hb_pause(IntPtr hbHandle) - { - if (IsArmDevice) - HbFunctionsArm.hb_pause(hbHandle); - else - HBFunctions64.hb_pause(hbHandle); - } - - public static void hb_resume(IntPtr hbHandle) - { - if (IsArmDevice) - HbFunctionsArm.hb_resume(hbHandle); - else - HBFunctions64.hb_resume(hbHandle); - } - - public static void hb_stop(IntPtr hbHandle) - { - if (IsArmDevice) - HbFunctionsArm.hb_stop(hbHandle); - else - HBFunctions64.hb_stop(hbHandle); - } - - public static void hb_close(IntPtr hbHandle) - { - if (IsArmDevice) - HbFunctionsArm.hb_close(hbHandle); - else - HBFunctions64.hb_close(hbHandle); - } - - public static void hb_global_close() - { - if (IsArmDevice) - HbFunctionsArm.hb_global_close(); - else - HBFunctions64.hb_global_close(); - } - - public static IntPtr hb_list_init() - { - return IsArmDevice ? HbFunctionsArm.hb_list_init() : HBFunctions64.hb_list_init(); - } - - public static int hb_list_count(IntPtr listPtr) - { - return IsArmDevice ? HbFunctionsArm.hb_list_count(listPtr) : HBFunctions64.hb_list_count(listPtr); - } - - public static void hb_list_add(IntPtr listPtr, IntPtr item) - { - if (IsArmDevice) - HbFunctionsArm.hb_list_add(listPtr, item); - else - HBFunctions64.hb_list_add(listPtr, item);
View file
1.10.0.tar.gz/win/CS/HandBrake.Nsis.Installer/Installer64.nsi -> 1.10.1.tar.gz/win/CS/HandBrake.Nsis.Installer/Installer64.nsi
Changed
@@ -5,8 +5,8 @@ It may be used under the terms of the GNU General Public License. */ !define PRODUCT_NAME "HandBrake" -!define PRODUCT_VERSION "1.10.0" -!define PRODUCT_VERSION_NUMBER "1.10.0" +!define PRODUCT_VERSION "1.10.1" +!define PRODUCT_VERSION_NUMBER "1.10.1" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\HandBrake.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM"
View file
1.10.0.tar.gz/win/CS/HandBrake.Worker/HandBrake.Worker.csproj -> 1.10.1.tar.gz/win/CS/HandBrake.Worker/HandBrake.Worker.csproj
Changed
@@ -12,7 +12,7 @@ <PackageProjectUrl>https://handbrake.fr</PackageProjectUrl> <RepositoryUrl>https://github.com/HandBrake/HandBrake</RepositoryUrl> <RepositoryType>git</RepositoryType> - <AssemblyVersion>1.10.0.0</AssemblyVersion> + <AssemblyVersion>1.10.1.0</AssemblyVersion> <Platforms>AnyCPU</Platforms> <PlatformTarget>AnyCPU</PlatformTarget> <ApplicationIcon>handbrakepineapple.ico</ApplicationIcon> @@ -20,8 +20,8 @@ <AssemblyName>HandBrake.Worker</AssemblyName> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> - <FileVersion>1.10.0.0</FileVersion> - <Version>1.10.0</Version> + <FileVersion>1.10.1.0</FileVersion> + <Version>1.10.1</Version> </PropertyGroup> <ItemGroup>
View file
1.10.0.tar.gz/win/CS/HandBrakeWPF/App.xaml.cs -> 1.10.1.tar.gz/win/CS/HandBrakeWPF/App.xaml.cs
Changed
@@ -66,15 +66,7 @@ Environment.Exit(-1); return; } - - if (SystemInfo.IsArmDevice && !File.Exists("hb_a64.dll") && !File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "hb_a64.dll"))) - { - MessageBox.Show("hb_a64.dll file not found. Application will not run correctly without this. Please re-install HandBrake.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); - this.Shutdown(); - Environment.Exit(-1); - return; - } - + // We don't support Windows earlier than 10. if (!SystemInfo.IsWindows10OrLater()) {
View file
1.10.0.tar.gz/win/CS/HandBrakeWPF/HandBrakeWPF.csproj -> 1.10.1.tar.gz/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
Changed
@@ -14,8 +14,8 @@ <PackageProjectUrl>https://handbrake.fr</PackageProjectUrl> <RepositoryUrl>https://github.com/HandBrake/HandBrake</RepositoryUrl> <RepositoryType>git</RepositoryType> - <AssemblyVersion>1.10.0.0</AssemblyVersion> - <Version>1.10.0</Version> + <AssemblyVersion>1.10.1.0</AssemblyVersion> + <Version>1.10.1</Version> <Platforms>AnyCPU</Platforms> <PlatformTarget>AnyCPU</PlatformTarget> <ApplicationIcon>handbrakepineapple.ico</ApplicationIcon>
View file
1.10.1.tar.gz/win/CS/HandBrakeWPF/Properties/Resources.ro.resx
Added
@@ -0,0 +1,3017 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>base64 mime encoded serialized .NET Framework object</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>base64 mime encoded string representing a byte array form of the .NET Framework object</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="Video_EncoderExtraArgs" xml:space="preserve"> + <value>Lista completă a parametrilor codorului: +{0}</value> + </data> + <data name="Video_x264FastDecode" xml:space="preserve"> + <value>Redu utilizarea procesorului (CPU-ului) pentru decodor. + +Setează această opțiune dacă dispozitivul tău are dificultăți în redarea ieșirii (de exemplu, cadre pierdute).</value> + </data> + <data name="Video_LosslessWarning" xml:space="preserve"> + <value>Atenție: RF 0 este fără pierderi!</value> + </data> + <data name="Video_LosslessWarningTooltip" xml:space="preserve"> + <value>O valoare de 0 înseamnă fără pierderi și va duce la o dimensiune a fișierului mai mare decât sursa originală, +cu excepția cazului în care și sursa a fost fără pierderi. + +Scara x264 și x265 este logaritmică, iar valorile mai mici corespund unei calități mai mari. + +Așadar, creșteri mici ale valorii vor duce la creșteri progresive ale dimensiunii fișierului rezultat.</value> + </data> + <data name="AddPreset_PictureSizeMode" xml:space="preserve"> + <value>Opțional, poți stoca setările unei imagini cu această presetare. Există 3 moduri: + +Niciuna: Setările imaginii nu sunt stocate în presetare. La încărcarea unei surse, acestea vor rămâne așa cum sunt, în limitele rezoluției sursei. Acest lucru afectează și rezoluția anamorfică, modulul, decuparea etc. + +Personalizat: Opțional, poți seta o lățime și o înălțime maxime. Când faci acest lucru, codarea va fi mai mică sau egală cu aceste valori. Opțiunea Păstrează raportul de aspect va fi activată automat. + +Maximul de sursă: Codează întotdeauna la rezoluția sursei, acolo unde este posibil.</value> + </data> + <data name="About_GPL" xml:space="preserve"> + <value>Acest program este un software liber; îl poți redistribui și/sau +modifica în conformitate cu termenii Licenței Publice Generale GNU +așa cum a fost publicată de Free Software Foundation; fie versiunea 2 +a Licenței, fie (la alegerea ta) orice versiune ulterioară. + +Acest program este distribuit în speranța că va fi util, +dar FĂRĂ NICIO GARANȚIE; fără nici măcar garanția implicită de +VANDABILITATE sau POTRIVIRE PENTRU UN ANUMIT SCOP. Consultăi +Licența Publică Generală GNU pentru mai multe detalii. + +Ar fi trebuit să primești o copie a Licenței Publice Generale GNU +împreună cu acest program; dacă nu, scrie la Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, SUA.</value> + </data> + <data name="QueueSelection_AutoNameWarning" xml:space="preserve"> + <value>AVERTISMENT: Nu ai activată denumirea automată a fișierelor. Te rugăm să o activezi în opțiuni.</value> + </data> + <data name="QueueSelection_AutoTrackSelectionWarning" xml:space="preserve"> + <value>AVERTISMENT: În prezent nu ai configurată selectarea automată a pistelor audio și a subtitrărilor. Poți configura comportamentul implicit de selectare a pistelor în opțiuni.</value> + </data> + <data name="Presets_ResetComplete" xml:space="preserve"> + <value>Presetările încorporate au fost resetate.</value> + </data> + <data name="Presets_ResetHeader" xml:space="preserve"> + <value>Resetare completă</value> + </data> + <data name="Video_HigherQuality" xml:space="preserve"> + <value>Calitate mai bună |</value> + </data> + <data name="Video_LowQuality" xml:space="preserve"> + <value>| Calitate mai slabă</value> + </data> + <data name="Video_PlaceboQuality" xml:space="preserve"> + <value>Calitate placebo |</value> + </data> + <data name="Error" xml:space="preserve"> + <value>Eroare</value> + </data> + <data name="Main_TurnOnAutoFileNaming" xml:space="preserve"> + <value>Trebuie să activezi denumirea automată a fișierelor ȘI să setezi o cale implicită în preferințe înainte de a putea adăuga fișiere în coadă.</value> + </data> + <data name="Warning" xml:space="preserve"> + <value>Avertisment</value> + </data> + <data name="AreYouSure" xml:space="preserve"> + <value>Ești sigur(ă)?</value> + </data> + <data name="HandBrake_Title" xml:space="preserve"> + <value>HandBrake</value> + </data>
View file
1.10.1.tar.gz/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.ro.resx
Added
@@ -0,0 +1,579 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>base64 mime encoded serialized .NET Framework object</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>base64 mime encoded string representing a byte array form of the .NET Framework object</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string"/> + <xsd:attribute name="type" type="xsd:string"/> + <xsd:attribute name="mimetype" type="xsd:string"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string"/> + <xsd:attribute name="name" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/> + <xsd:attribute ref="xml:space"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="FilterView_Deblock" xml:space="preserve"> + <value>Funcția Deblocare reduce artefactele de blocare cauzate de compresia video de calitate scăzută.</value> + </data> + <data name="FilterView_DecombDeinterlace" xml:space="preserve"> + <value>Alege opțiunile de filtrare pentru decombinare sau deintercalare. + +Filtrul de decombinare deintercalează în mod selectiv cadrele care par a fi intercalate. + +Filtrul clasic de deintercalare este aplicat tuturor cadrelor. +Cadrele care nu sunt intercalate vor suferi o anumită degradare a calității.</value> + </data> + <data name="FilterView_Denoise" xml:space="preserve"> + <value>Eliminarea zgomotului reduce sau elimină aspectul zgomotului și al granulației. Acest lucru poate îmbunătăți eficiența compresiei și poate crea videoclipuri de calitate superioară la fișiere de dimensiuni mai mici. +Setările de reducere a zgomotului prea puternice pot afecta calitatea imaginii prin eliminarea detaliilor. + + +NLMeans este un filtru de reducere a zgomotului de înaltă calitate, cu un raport calitate-viteză avantajos. Se poate utiliza acolo unde calitatea este mai importantă decât viteza. + +HQDN3D este un filtru adaptiv trece-jos, mai rapid decât NLMeans, dar mai puțin eficient în conservarea detaliilor fine.</value> + </data> + <data name="FilterView_Detelecine" xml:space="preserve"> + <value>Detelecinema elimină artefactele de pieptene care sunt rezultatul telecinema-ului, un proces de conversie a ratelor de cadre pe film în rate de cadre pe televiziune.</value> + </data> + <data name="FilterView_Grayscale" xml:space="preserve"> + <value>Tonurile de gri elimină componenta de culoare a videoclipului. Adesea denumit videoclip alb-negru.</value> + </data> + <data name="MainView_Destination" xml:space="preserve"> + <value>Calea de destinație, inclusiv directorul și numele fișierului. Aici va fi creat noul tău videoclip și cum va fi numit.</value> + </data> + <data name="MainView_IpodAtom" xml:space="preserve"> + <value>Adaugă un marcator MP4 special pentru a permite redarea pe dispozitive iPod vintage de a 5-a generație, circa 2006. Alte setări pot afecta compatibilitatea.</value> + </data> + <data name="MainView_Mux" xml:space="preserve"> + <value>Format de tip container. Înregistrările video, audio și alte piste sunt combinate într-un singur fișier de acest tip. Afectează compatibilitatea.</value> + </data> + <data name="MainView_Optimise" xml:space="preserve"> + <value>Optimizează fișierul MP4 pentru descărcare progresivă. După codificare, datele sunt reorganizate și rescrise pentru a permite redarea imediată printr-o rețea, fără a fi nevoie să descarci întregul fișier.</value> + </data> + <data name="MainView_Range" xml:space="preserve"> + <value>Selectarea intervalului sursă. În mod implicit, toate capitolele sunt selectate și întreaga sursă este codată.</value> + </data> + <data name="MainView_Title" xml:space="preserve"> + <value>Titlul sau videoclipul de codat. +Sursele Blu-ray și DVD au adesea mai multe titluri, cel mai lung dintre acestea fiind de obicei principalul element.</value> + </data> + <data name="PictureSettingsView_Anamorphic" xml:space="preserve"> + <value>Anamorfic permite dimensiuni de stocare arbitrare, păstrând în același timp aspectul original în timpul redării. + +Fără dezactivează anamorficul. Dimensiunile de stocare video și dimensiunile de afișare vor fi identice. Util doar pentru compatibilitatea cu anumite dispozitive vechi. + +Automat maximizează rezoluția de stocare, păstrând în același timp raportul de aspect original al afișajului. Recomandat. + +Personalizat permite setarea manuală a tuturor parametrilor. Util pentru corectarea unui aspect incorect al afișajului sursă și pentru profesioniștii care au nevoie de control avansat în post-producție.</value> + </data> + <data name="PictureSettingsView_AutoCrop" xml:space="preserve"> + <value>Decupează automat marginile negre din jurul videoclipului.</value> + </data> + <data name="PictureSettingsView_CropBottom" xml:space="preserve"> + <value>Decupează videoclipul de jos.</value> + </data> + <data name="PictureSettingsView_CropLeft" xml:space="preserve"> + <value>Decupează videoclipul din partea stângă.</value> + </data> + <data name="PictureSettingsView_CropRight" xml:space="preserve"> + <value>Decupează videoclipul din partea dreaptă.</value> + </data> + <data name="PictureSettingsView_CropTop" xml:space="preserve"> + <value>Decupează videoclipul de sus.</value> + </data> + <data name="PictureSettingsView_Height" xml:space="preserve"> + <value>Aceasta este înălțimea la care va fi stocat videoclipul. +Dimensiunile reale ale afișajului vor diferi dacă raportul de aspect al pixelilor nu este de 1:1.</value> + </data> + <data name="PictureSettingsView_ManualCrop" xml:space="preserve"> + <value>Decupează manual videoclipul.</value> + </data> + <data name="PictureSettingsView_Modulus" xml:space="preserve"> + <value>Aliniază dimensiunile de stocare la multiplii acestei valori. + +Această setare este necesară doar pentru compatibilitatea cu anumite dispozitive.
View file
1.10.0.tar.gz/win/CS/HandBrakeWPF/Services/Queue/Model/QueueStats.cs -> 1.10.1.tar.gz/win/CS/HandBrakeWPF/Services/Queue/Model/QueueStats.cs
Changed
@@ -208,7 +208,7 @@ percentage = string.Format(" ({0} %{1})", Math.Round(difference, 3), Resources.QueueViewModel_DifferenceText); } - return string.Format("{0:######.###} MB{1}", FinalFileSizeInMegaBytes, percentage); + return string.Format("{0:#####0.###} MB{1}", FinalFileSizeInMegaBytes, percentage); } }
View file
1.10.0.tar.gz/win/CS/HandBrakeWPF/Utilities/InterfaceLanguageUtilities.cs -> 1.10.1.tar.gz/win/CS/HandBrakeWPF/Utilities/InterfaceLanguageUtilities.cs
Changed
@@ -46,6 +46,7 @@ new InterfaceLanguage("nl", "Dutch (Nederlands)"), new InterfaceLanguage("pl", "Polish (Polski)"), new InterfaceLanguage("pt-BR", "Brazilian Portuguese (Português do Brasil)"), + new InterfaceLanguage("ro", "Romanian (Română)"), new InterfaceLanguage("ru", "Russian (Русский)"), new InterfaceLanguage("sv", "Swedish (Svenska)"), new InterfaceLanguage("th", "Thai (ไทย)"),
View file
1.10.0.tar.gz/win/CS/HandBrakeWPF/Views/AudioView.xaml -> 1.10.1.tar.gz/win/CS/HandBrakeWPF/Views/AudioView.xaml
Changed
@@ -288,7 +288,7 @@ <Grid Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" Visibility="{Binding IsExpandedTrackView, Converter={StaticResource boolToVisConverter}}"> <StackPanel Orientation="Horizontal" Margin="22,5,0,5" > <TextBlock Text="{x:Static Properties:Resources.AudioView_TrackName}" Style="{StaticResource sectionHeader}" VerticalAlignment="Center" Margin="0,0,5,0" /> - <TextBox Text="{Binding TrackName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="250" behaviours:TextBoxBehavior.TripleClickSelectAll="True" + <TextBox Text="{Binding TrackName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" MinWidth="250" MaxWidth="761" behaviours:TextBoxBehavior.TripleClickSelectAll="True" AutomationProperties.Name="{x:Static Properties:Resources.AudioView_AudioTrackName}"/> </StackPanel> </Grid>
View file
1.10.0.tar.gz/win/CS/HandBrakeWPF/app.manifest -> 1.10.1.tar.gz/win/CS/HandBrakeWPF/app.manifest
Changed
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> - <assemblyIdentity version="1.10.0.0" name="HandBrake.app"/> + <assemblyIdentity version="1.10.1.0" name="HandBrake.app"/> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
View file
1.10.0.tar.gz/win/CS/HandBrakeWPF/packages.lock.json -> 1.10.1.tar.gz/win/CS/HandBrakeWPF/packages.lock.json
Changed
@@ -109,7 +109,7 @@ "handbrake.app.core": { "type": "Project", "dependencies": { - "HandBrake.Interop": "1.10.0, )" + "HandBrake.Interop": "1.10.1, )" } }, "handbrake.interop": { @@ -118,7 +118,7 @@ "handbrake.worker": { "type": "Project", "dependencies": { - "HandBrake.Interop": "1.10.0, )" + "HandBrake.Interop": "1.10.1, )" } } }
View file
version.txt
Changed
@@ -1,9 +1,9 @@ URL=https://github.com/HandBrake/HandBrake.git -HASH=dba479e9f5c57201238e3cea58354fc361b0a906 -SHORTHASH=dba479e9f -TAG=1.10.0 -TAG_HASH=dba479e9f5c57201238e3cea58354fc361b0a906 +HASH=48a15094501894c90f7fe8cd21e4201574e4310a +SHORTHASH=48a150945 +TAG=1.10.1 +TAG_HASH=48a15094501894c90f7fe8cd21e4201574e4310a REV=0 BRANCH= REMOTE=https://github.com/HandBrake/HandBrake.git -DATE=2025-08-08 18:41:24 +0200 +DATE=2025-08-23 11:38:18 +0100
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.