Commit Graph

572 Commits

Author SHA1 Message Date
Bond-009
737a1b8a37
Merge pull request #12384 from evanjarrett/qsv-renderdevice
Update QSV device args  to use the renderNodePath
2024-09-04 16:06:07 +02:00
Nyanmisaka
95f91e0263
Adapting AMD VAAPI-Vulkan pipeline to FFmpeg 7.0 (#12577) 2024-09-04 07:36:49 -06:00
gnattu
e68755a6c1
Allow SW encoders to use VideoToolbox HW filters (#12576) 2024-09-04 07:36:20 -06:00
gnattu
dbf91be3a6 Remove redundant frame conversion for vaapi
Signed-off-by: gnattu <gnattuoc@me.com>
2024-09-03 15:23:48 +08:00
gnattu
ae82a4eee0 Enable software tonemap for dolby vision
This applies software tonemapx filter for dolby vision videos that have no compatability fallback.

Due to the complexity of the reshaping process, this is quite CPU-intensive. For real-time transcoding and tonemapping of 4K 60fps content, a CPU with 16 cores of Zen3-level performance is recommended.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-09-03 14:39:05 +08:00
Bond-009
7207749044
Merge pull request #12540 from nyanmisaka/tune-x2645-params
Tune x264/5 encoding params for realtime playback
2024-08-30 17:22:50 +02:00
nyanmisaka
d7be6a5ab0 Tune x264/5 encoding params for realtime playback
Some options that are too performance-intensive are disabled, while
others are left enabled to trade-off between real-time playback and quality.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-08-30 00:57:00 +08:00
gnattu
298fe97ab2 Add new tonemap mode options
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-29 08:14:43 +08:00
gnattu
639d75bd83
Fix noautorotate cli for videotoolbox (#12530) 2024-08-28 12:37:19 -06:00
Bond-009
6281cd707d
Merge pull request #11250 from nyanmisaka/fix-hwa-video-rotation
Fix the broken video orientation (+-90/180)
2024-08-27 22:24:34 +02:00
nyanmisaka
5ef7ab540a Adjust filters to adapt FFmpeg 7.0
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-08-27 02:42:29 +08:00
nyanmisaka
fd73b0cac0 Backport pull request #12493 from jellyfin/release-10.9.z
Fix bitstream filter not applied to videos in TS container

Original-merge: 078ee1f2de

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-08-25 02:46:40 -04:00
Evan Jarrett
6eec6c9957 fix number parser 2024-08-21 09:37:52 -05:00
Evan Jarrett
e1f72b1f27 Add ability to specify gpu index on windows 2024-08-16 14:48:50 -07:00
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
Nyanmisaka
2aa9cf4007
Merge branch 'master' into fix-hwa-video-rotation 2024-08-05 16:37:09 +08:00
gnattu
7ea91dfcc4
Update VideoToolbox pipeline for jellyfin-ffmpeg7 (#12380) 2024-08-04 20:37:40 -06:00
Evan Jarrett
0d8669fbe8 Add a new EncodingOption for QsvDevice 2024-08-03 15:05:13 -05:00
Evan Jarrett
51433528a1 Allow QSV to use the renderNodePath instead of defaulting to the first available device 2024-08-03 11:56:56 -05:00
gnattu
0a1a109b2e
Add RFC7845 downmix algorithm (#12300) 2024-07-30 09:50:22 -06:00
Nyanmisaka
00088c2954
Merge branch 'master' into fix-hwa-video-rotation 2024-07-23 15:37:33 +08: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
5262439300
Enable hardware Trickplay processing pipeline for VideoToolbox (#11510) 2024-07-17 13:50:32 -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
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