449 Commits

Author SHA1 Message Date
Damiano Galassi
4955ef8553
libhb: clean up qsv (#6958)
Removed all the unused parts from the previous implementation
and refactored many checks to avoid duplication.
2025-06-12 18:59:56 +02:00
Damiano Galassi
66fe47c548
libhb: ui: add new presets key for track names (#6840)
Add AudioTrackNamePassthru and SubtitleTrackNamePassthru preset key to
preserve the existing track names, and AudioAutomaticNamingBehavior to
disable or enable the audio track automatic names.

Co-authored-by: sr55 <sr55.code@outlook.com>
2025-06-03 08:48:59 +02:00
Artem Galin
908b7b4d8a
qsv: enable QSV encoder via FFmpeg API (#6446)
* qsv: enable QSV encoder via FFmpeg API

Co-authored-by: Kesy, Anton <anton.kesy@intel.com>

* qsv: renamed Intel Media SDK to Intel QSV

* qsv: fixed BT2020 -> BT709 conversion

* qsv: fixed format specifier

* qsv: fixed missing spaces

* qsv: removed av_buffer_ref

* qsv: revert back sw_format for other encoders

* qsv: fix codec level not set

Co-authored-by: Kesy, Anton <anton.kesy@intel.com>

* qsv: fixed the build for non qsv configurations

---------

Co-authored-by: Kesy, Anton <anton.kesy@intel.com>
2025-03-15 08:50:29 +01:00
Damiano Galassi
ec288d1c58
libhb: preserve multiple cover arts and their filenames 2025-03-06 08:10:34 +01:00
John Stebbins
fb12009d1d subtitles: initialize extradata in demuxers
Subtitle decoders need the extradata, so make sure it's initialized
before decoders are initialized.
2025-03-05 07:58:21 +01:00
John Stebbins
a707aaa1fc subtitles: wire up writing of external ssa and pgs
There is not frontend support yet. Testing by hard coding values.
2025-03-05 07:58:21 +01:00
Damiano Galassi
bd7fb5453d
libhb: allow NVENC AV1 and VCN AV1 in WebM 2025-02-16 08:24:33 +01:00
Damiano Galassi
992c94cb35
rendersub: port the subsample code to metal blend 2025-01-29 14:37:40 +01:00
Nomis101
4c879d8f36
Update copyright dates to 2025 (#6568) 2025-01-22 09:11:40 +01:00
Damiano Galassi
465e2d87e0
libhb: ui: cleanup video tunes, rename svt-av1 none to vq (#6556) 2025-01-18 13:10:48 +01:00
Damiano Galassi
712b3760e7
libhb: cli: add a way to disable hdr dynamic metadata passthru (#6518) 2025-01-13 09:59:33 +01:00
Damiano Galassi
2848a383c6
libhb: x265: add new matrix coefficients from H.273 v3 2024-11-30 09:11:14 +01:00
Damiano Galassi
6f2cd466ef
libhb: store the initial Dolby Vision RPU and attach it to the generated black buffer
Dolby Vision requires all frames to have the dynamic metadata, and some players might have issues playing them back when HandBrake inserts some black frames at the begin.
2024-11-17 16:18:11 +01:00
cubicibo
baa5d65d9c rendersub: use ASS track YCbCrMatrix field. 2024-11-12 18:12:13 +01:00
Damiano Galassi
8c032a5863 rendersub: move the blend functions to a separate file
Make it possible to swap easily swap the blend functions in the future.
2024-11-05 07:18:05 +01:00
dashsantosh-mcw
db4948d832
encavcodec: add support for mf_av1 encoder (#6341)
mfenc: detect MF encoder availability
2024-10-23 07:03:29 +02:00
Damiano Galassi
79a994f605 libhb: enable vorbis passthru 2024-10-22 08:17:35 +02:00
Damiano Galassi
c1e0c803c7 libhb: add alac passthru and encoders 2024-10-22 08:17:35 +02:00
Joshua Stephenson
843040fdf8 Global replacement of passthrough with passthru 2024-10-19 11:43:21 +02:00
Marcos Mello
aed27561a1 libhb: make Opus the default audio codec for WebM
Closes #6309
2024-09-30 14:08:11 +02:00
dashsantosh-mcw
4546b29e08
hwaccel: enable DirectX11 decoding support for snapdragon devices (#6183) 2024-08-06 14:53:04 +01:00
Damiano Galassi
4cec7c5265 libhb: sanitize the color matrix when decoding previews
avfilter requires the color matrix now, and while we were already used sanitized values when encoding a job, previews were still using the unsanitized value, which could break the filters creation if the source file has got an out of spec value.
2024-08-02 08:09:09 +02:00
Sam H
96a03c4b86 Add preference for keeping duplicate blu ray titles 2024-07-29 06:42:54 +02:00
John Stebbins
b93a78a21a Add support for MP4 audio fallback track references 2024-04-17 14:09:38 -06:00
John Stebbins
b362301a3a Track "linked" audio tracks
Linked audio tracks are identical aside from encoding differences.  The
generally come from the same source track. E.g. TrueHD that has embedded
AC3 gets split into 2 selectable tracks by HandBrake, but they are
identical audio.
2024-04-17 14:09:38 -06:00
John Stebbins
26127f4e2e Fix double meaning of hb_audio_config_t.in.track
In title.list_audio, it was an index into source specific data
structures. In job.list_audio it was an index into title.list_audio.

This commit adds a new variable hb_audio_config_t.index that provides
the index into title.list_audio for jobs and reserves
hb_audio_config_t.track to always be an index into source specific
data structures.
2024-04-17 14:09:38 -06:00
Damiano Galassi
dd2548223f
libhb: set the upper samplerate limits for audio encoders. Commit e74b389 added higher audio sample rates, but most encoders do not support these new rates. 2024-04-11 17:27:28 +02:00
Damiano Galassi
e42e1e2011 libhb: add hb_video_bitrate_is_supported(). 2024-04-08 08:19:43 +02:00
sr55
cd04bab19a libhb: enable FFV1 encoder.
Co-authored-by: Damiano Galassi <damiog@gmail.com>
2024-04-08 08:19:43 +02:00
Sam H
f3259c6170 libhb: refactor to combine both supports_multipass methods into one 2024-04-06 07:52:24 +02:00
Sam H
1789986fa7 libhb: support multi-pass with VP9 Constant Quality mode
- Add a new method in common.c to check if multi-pass is supported for
   constant quality with a given codec
 - Change the CLI to set VideoMultiPass regardless of video quality type
 - Propagate constant-quality multi-pass all the way through
2024-04-06 07:52:24 +02:00
Damiano Galassi
e836f3def2 libhb: refactor how extradata is stored, use a dynamic heap allocated buffer instead of a small static one. Some codecs like FFV1 requires up to 500 KB of extradata. 2024-03-18 15:40:20 +01:00
Damiano Galassi
794e1209b6 contrib: update SVT-AV1 to version 2.0.0. 2024-03-15 07:39:18 +01:00
Damiano Galassi
84cb918c69
libhb: allow muxing VP9 in MP4 container. 2024-03-11 08:23:02 +01:00
Damiano Galassi
57fbc7755b
libhb: allow muxing FLAC in MP4 container. 2024-03-11 08:15:31 +01:00
Damiano Galassi
7577ffc804
libhb: refactor various rescale rational functions to a single one. 2024-02-12 18:25:43 +01:00
Nomis101
d858fc0953 Update copyright dates to 2024. 2024-01-03 08:24:26 +01:00
Nomis101
e74b3895b9
libhb: add TrueHD encoding (#5464) 2023-12-17 10:00:28 +01:00
Damiano Galassi
4e40332d2e libhb: add a Metal accelerated comb detect filter. 2023-11-24 13:41:31 +01:00
Damiano Galassi
bc78e9cb39 libhb: add missing NVENC and VCE guards. 2023-11-21 09:19:24 +01:00
Damiano Galassi
b2b89db515 libhb: fix build without QSV. 2023-11-21 09:19:24 +01:00
galinart
8204c0df11 qsv: fix device enumeration order when other hw vendors are present
It should fix #5317 and #5177 where system contains more than one GPU card
2023-11-21 09:19:24 +01:00
Bradley Sepos
86acd31333
Update copyright dates to 2023. 2023-11-12 00:43:04 -05:00
Damiano galassi
263fc01431
libhb: fix handling of VideoToolbox ProRes 4444 pixel
format. It uses an higher bit depth than the FFmpeg software decoder.
2023-10-08 11:22:54 +02:00
Damiano galassi
913321013b libhb: add Metal accelerated pad yadif bwdif unsharp lapsharp chroma smooth grayscale filters. 2023-09-27 12:28:07 +02:00
Dmitrii Ovchinnikov
86a5112513
libhb: FFmpeg VCE AV1 encoder registration. 2023-09-09 13:38:56 -04:00
galinart
a406b2fb00 qsv: enable optional full path via system memory
Co-authored-by: Vladyslav Sosunovych <vladyslav.sosunovych@intel.com>
2023-08-19 17:45:04 +02:00
Damiano Galassi
8a3b4798e4
libhb: reduce the number of brackets in audio descriptions, switch to using round brackets for subtitles too. 2023-08-16 09:12:57 +02:00
Damiano Galassi
17529c5f31
rendersub: add blending on biplanar formats. 2023-08-11 14:58:39 +02:00
Damiano Galassi
ba237fecf7 libhb: add a special filter wrapper at the being of the filters chain to handle rotation and size changes. 2023-08-10 19:31:51 +02:00