Commit Graph

745 Commits

Author SHA1 Message Date
Bond-009 f7846d0141 Merge pull request #12429 from gnattu/fix-vt-decoder
Fix VideoToolbox Hi10P
2024-08-12 19:03:44 +02:00
gnattu 7d9e315593 Remove duplicated check
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-12 19:33:03 +08:00
gnattu 487dbf3e85 Fix Videotoolbox Hi10P hardware decoding
We need to mark h264 as 10bit supported for videotoolbox

Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-12 09:28:17 +08:00
gnattu 808cd6f06a Fix software decoder with videotoolbox encoder
Format should be placed before hwupload to support some software decoders

Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-12 09:26:51 +08:00
gnattu 447dd3aed7 Use Math.Min
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-08-12 01:53:56 +08:00
gnattu 058a3dcc6a Remove legacy encoders
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-11 18:17:09 +08:00
gnattu 1f819d3382 Remove VPx encoders
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-11 17:38:11 +08:00
gnattu 7ea91dfcc4 Update VideoToolbox pipeline for jellyfin-ffmpeg7 (#12380) 2024-08-04 20:37:40 -06:00
gnattu 3788ccd447 Add comments for Dave750/NightmodeDialogue 7.1 downmix
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-01 07:45:16 +08:00
gnattu c171b6def2 fix space
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-31 00:00:34 +08:00
gnattu 31dccaca0f Add 5.0 and 7.0 support to ac4 downmix
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-31 00:00:34 +08:00
gnattu daf8d649f2 Add AC4 downmix
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-31 00:00:34 +08:00
gnattu 0a1a109b2e Add RFC7845 downmix algorithm (#12300) 2024-07-30 09:50:22 -06:00
Bond-009 d5cf0ad2c8 Merge pull request #11492 from jellyfin/better-vbr-settings
Add better audio VBR settings
2024-07-21 16:15:43 +02:00
gnattu efee37a632 Simplify EnableAudioVbrEncoding getter
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-07-18 02:43:02 +08:00
gnattu 5262439300 Enable hardware Trickplay processing pipeline for VideoToolbox (#11510) 2024-07-17 13:50:32 -04:00
Cody Robibero c207404089 Merge pull request #11511 from jellyfin/trickplay-keyframe-only 2024-07-17 12:28:58 -04:00
gnattu 24910348a1 Force channel to be >= 1
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-07-17 21:27:35 +08:00
gnattu 0381c5a288 Add EnableAudioVbrEncoding to TranscodingProfile
This will allow the client selectively disable VBR audio when it causes problems.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:27:35 +08:00
gnattu 78929418cc Use better audio VBR settings
LAME's VBR mode only has advantage over a certain bitrate range. For very low and very high bitrate, use the ABR mode instead.

aac_at's CVBR mode produces very good quality and is not worse than its TVBR mode in blind testing. Use this mode for convenience.

The ffmpeg native aac encoder will have quality regression with its VBR mode. Always use CBR mode for ffmpeg's native aac encoder.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:27:35 +08:00
gnattu 68bfabbaba Add option to extract keyframe only during trickplay image generation
This would be significantly faster than decoding every frame, but it does have compatibility issues. Not all decoders support this mode, notably the VP9 decoder, CUVID decoders, and QSV decoders.

Some videos with very long key-frame intervals may also perform poorly with this mode, as the image timing could become too inaccurate to reflect the actual frame.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 00:47:22 +08:00
Bond-009 c666f9d050 Use real temp dir instead of cache dir for temp files (#12226) 2024-07-15 08:44:14 -04:00
gnattu 2dee5b8d04 Correctly specify format for tonemap
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-12 23:15:49 +08:00
gnattu 016dc9d86c Add SIMD optimized software tonemap support
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-12 23:15:49 +08:00
nyanmisaka d37c5d8921 Backport pull request #12149 from jellyfin/release-10.9.z
Fix MicroDVD being recognized as DVDSUB subtitles

Original-merge: 6010bc01c3

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23 11:40:59 -04:00
Bond-009 92dcf0c13b Merge pull request #12124 from gnattu/enable-hi10p-vt
Enable H.264 Hi10P hardware decode for Apple Silicon on macOS >=14.6
2024-06-20 11:38:20 +02:00
gnattu 9792fb117c Enable H.264 Hi10P hardware decode for Apple Silicon on macOS >=14.6
macOS 14.6 beta and macOS 15 beta enables h264 10bit hardware decode on Apple Silicon.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-06-18 06:26:43 +08:00
gnattu 4fa3c30df2 Backport pull request #11894 from jellyfin/release-10.9.z
Escape tmpConcatPath for DVD and BD folder

Original-merge: 26419c64f5

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:41:14 -04:00
gnattu b123f7ffcd Backport pull request #11851 from jellyfin/release-10.9.z
Relax remuxing requirement for LiveTV

Original-merge: 0392daa103

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:41:04 -04:00
nyanmisaka fc14c08bcc Backport pull request #11830 from jellyfin/release-10.9.z
Fix the IOSurf error in QSV transcoding

Original-merge: 5e7514243c

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:30 -04:00
nyanmisaka 2faa8c141f Backport pull request #11799 from jellyfin/release-10.9.z
Disable VA-VK interop on not supported kernel versions

Original-merge: eb437e7163

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:23 -04:00
gnattu ac0064110b Backport pull request #11798 from jellyfin/release-10.9.z
Recalculate trickplay image height for anamorphic videos

Original-merge: d9232e05f1

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:22 -04:00
Bond-009 c7e0be3c3b Backport pull request #11774 from jellyfin/release-10.9.z
Apply audio boost when downmixing regardless of downmixalgo

Original-merge: 06a5ddda5e

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:14 -04:00
Shadowghost debd9eb8ce Backport pull request #11754 from jellyfin/release-10.9.z
Fix BD/DVD folder chapter image extraction

Original-merge: 52be8be28f

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:12 -04:00
gnattu 487ebd3ca8 Backport pull request #11713 from jellyfin/release-10.9.z
Fix VideoToolbox H264 constrained profile option

Original-merge: d608f1e3cc

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:08 -04:00
gnattu 424ca49c26 Backport pull request #11689 from jellyfin/release-10.9.z
Workaround ffmpeg keyframe seeking for external subtitles

Original-merge: 02937873b1

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:54 -04:00
gnattu 6f78ac2ff3 Use more accurate rounding in GetFixedOutputSize (#11435)
* Use more accurate rounding in GetFixedOutputSize

Signed-off-by: gnattu <gnattuoc@me.com>

* Force trickplay thumbnails to have even width

Signed-off-by: gnattu <gnattuoc@me.com>

* Use Convert.ToInt32

Signed-off-by: gnattu <gnattuoc@me.com>

* Force video size as thumbnail size if the trickplay width setting is larger

This will fix an issue when the trickplay setting contains a very huge width, but the video has a lower resolution than that setting. Our scaling filter logic will not do any upscale, and we have to force to use the video width

Signed-off-by: gnattu <gnattuoc@me.com>

---------

Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-30 13:41:46 +02:00
gnattu 374b6ca0e2 Only apply custom downmix to 5.1 audios (#11401) 2024-04-22 10:23:36 -06:00
Bond-009 7d28d08e08 Enable more warnings as errors (#11288) 2024-04-12 17:45:01 -06:00
gnattu 6b6aab04ce Fix apple audio codecs (#11315) 2024-04-08 07:42:47 -06:00
gnattu fe88a484d1 fix: don't do empty hwupload for VT (#11235) 2024-03-30 09:25:22 -06:00
gnattu a8f1668540 fix: unset qmin and qmax for vt (#11246)
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2024-03-30 08:53:46 -06:00
Nyanmisaka 16e72d6883 Fix the broken codecs shifting (#11243) 2024-03-28 13:57:33 -06:00
gnattu 5db0c5a0e4 fix: forward port patch for GHSA-866x-wj5j-2vf4 (#11228) 2024-03-28 09:26:14 -06:00
gnattu be21d51742 fix: move trickplay specific option into TrickplayOptions (#11229) 2024-03-28 09:26:01 -06:00
gnattu 2e9aa146a5 fix: remove legacy codecs (#11217) 2024-03-26 04:32:06 -06:00
gnattu b1870792b1 fix: use Metal tonemap instead of OpenCL (#11198) 2024-03-24 08:20:05 -06:00
gnattu cf16110a56 fix: map encoder preset to quality setting for VideoToolbox (#11205) 2024-03-24 08:19:48 -06:00
vedant 3bbb57eb83 Add new VideoRangeTypes to fully support DoVi on webOS (#10469) 2024-03-23 07:39:49 -06:00
nyanmisaka ae7c0c83e9 Bump the required minimum ffmpeg version to 4.4
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 21:30:42 +08:00