Commit graph

495 commits

Author SHA1 Message Date
nyanmisaka 4c8d382765 Backport pull request #9642 from jellyfin/release-10.8.z
Fix the brightness of VPP tonemap and add the tonemap mode

Original-merge: d5a8419bc5

Merged-by: Cody Robibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:53:35 -04:00
TheTyrius 67bc81ec96 Backport pull request #9538 from jellyfin/release-10.8.z
Fix nvenc preset order

Original-merge: 79bb7560dc

Merged-by: Cody Robibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:44:06 -04:00
Oliver Weyhmüller fbc039b14b Fix scaleFactor limitation to 1 introduced by pull request #9485 2023-05-07 21:20:44 +02:00
Brett Petch dfcf0cf292
fix: dead link (#9626) 2023-04-16 11:10:14 -06:00
Stepan Goremykin 910617bbc3 Remove redundant 'else' keywords 2023-04-06 19:38:34 +02:00
Stepan Goremykin 7d7e177265 Remove redundant casts 2023-04-06 19:17:28 +02:00
Stepan Goremykin 2c03f7e85d Use TryGetValue 2023-04-06 19:17:28 +02:00
nyanmisaka 3a25b03ea9 Fix vaapi-vulkan subtitle tearing issue
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-04-02 17:30:22 +08:00
knackebrot e0a7e9baa0 Fix audio VBR calculation
Pass encoder, not codec
2023-03-21 15:01:32 +01:00
Bond-009 2ce08eb184
Merge pull request #9388 from Shadowghost/output-bitrate-channels-master 2023-03-20 17:46:11 +01:00
Shadowghost 3f6a23d7d0 Fix condition in CanStreamCopyAudio 2023-03-17 11:49:07 +01:00
Shadowghost ee4ffd64e1 Prefer other codecs over DTS and TrueHD on transcode 2023-03-15 10:13:06 +01:00
Shadowghost 21dc3fa042 Backport pull request #9485 from jellyfin/release-10.8.z
Fix the bitrate scale factor for h264-to-hevc transcoding

Original-merge: 173a963dbf

Merged-by: Nyanmisaka <nst799610810@gmail.com>

Backported-by: crobibero <cody@robibe.ro>
2023-03-14 18:21:01 -04:00
Bond-009 6351d1022b
Merge pull request #9254 from Shadowghost/dvdbdfix 2023-03-10 15:48:35 +01:00
Shadowghost 0da5255f12 Apply review suggestions 2023-03-10 15:27:17 +01:00
Shadowghost cd852d43c1 Add more comments and logging, streamline code 2023-03-10 15:27:17 +01:00
Shadowghost 2403a0a367 Apply review suggestions 2023-03-10 15:27:05 +01:00
nyanmisaka 2146ddd20c Backport pull request #9430 from jellyfin/release-10.8.z
Fix Live TV hardware decoding

Original-merge: efc79295de

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:38:16 -05:00
nyanmisaka f21ab50a81 Backport pull request #9422 from jellyfin/release-10.8.z
Fix stream map when using filter_complex with unlabeled output

Original-merge: 6821a2ab35

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:38:15 -05:00
nyanmisaka 638bda629b Backport pull request #9391 from jellyfin/release-10.8.z
Fix H.264 baseline hwaccel and enable enhanced Nvdec by default

Original-merge: 22a8283a9e

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:35:54 -05:00
nyanmisaka f6060bd14b Backport pull request #9355 from jellyfin/release-10.8.z
Some VAAPI VPP and OpenCL fixes

Original-merge: c807712246

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:33:52 -05:00
nyanmisaka 0905d62224 Adapt vulkan filtering to 6.0 2023-03-05 01:39:58 +08:00
Shadowghost 1f15724398 Use source audio bitrate if requested codec is lossless 2023-03-02 20:57:59 +01:00
Shadowghost c760a50d59 Apply review suggestions 2023-02-27 16:03:12 +01:00
Shadowghost 4a1498f614 Add DTS and TrueHD bitrate limits, enforce bitrate limits if no bitrate is requested 2023-02-26 22:38:02 +01:00
Shadowghost f3840e0fdb Fix encoder checks for DTS and TrueHD 2023-02-26 22:38:00 +01:00
Shadowghost 2e3b4bda7b Take channels into account when calculating fallback audio bitrate 2023-02-26 22:37:01 +01:00
knackebrot aa99aaebc4 Add audio vbr calculation 2023-02-26 22:37:01 +01:00
knackebrot 3e74377036 Calculate output bitrate from output channel count 2023-02-26 22:37:01 +01:00
Nyanmisaka edc627fd5b
Improve the Vulkan based subtitle burn-in performance (#9402)
https://gitlab.freedesktop.org/mesa/mesa/-/issues/850
Currently Mesa RADV does not support a dedicated transfer queue.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-02-26 07:33:27 -07:00
Cody Robibero 49eb04899c
Update MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-02-24 08:53:08 -07:00
Cody Robibero b3273f0f9a Simplify audio transcode channel lookup 2023-02-24 08:06:19 -07:00
Bond-009 720852f708
Merge pull request #9356 from Bond-009/tryparse 2023-02-20 11:09:54 +01:00
Bond-009 69379d80a1
Merge pull request #9266 from holow29/increase-transcoding-ac-max 2023-02-20 10:26:41 +01:00
Bond_009 24a7e210c3 Optimize tryparse
* Don't check for null before
* Don't try different formats when not needed (NumberFormat.Integer is the fast path)
2023-02-19 16:52:29 +01:00
holow29 724d2986a3 Change transcoderChannelLimit default to 8
Change transcoderChannelLimit default to 8 from 6
Switch to querying for encoder and added more cases to transcoderChannelLimit
Refactor GetNumAudioChannelsParam
2023-02-09 17:37:57 -05:00
gnattu ef4ae9a2dd
Implement hardware filters for videotoolbox, use Apple AAC encoder when available (#7807) 2023-02-08 23:42:17 +01:00
Shadowghost f2b7f664aa Apply review suggestions 2023-02-04 20:16:45 +01:00
James Harvey 4a2245fe1e Move mp4 container names to class and use StringComparer.OrdinalIgnoreCase 2023-02-04 18:52:35 +00:00
Shadowghost edf3909157 Use FFmpeg concat for DVD and BD folder playback 2023-02-04 18:39:45 +01:00
Shadowghost ddfdec7f46 Fix BD and DVD folder probing and playback 2023-02-04 18:37:57 +01:00
James Harvey 42b4ef4529 Remove frag_keyframe on audio, not video 2023-02-04 03:59:35 +00:00
James Harvey c9627f8839 Fix Use built-in type alias 2023-02-04 02:46:14 +00:00
James Harvey 83ae6fcdb4 Fix Braces for multi-line statements should not share line 2023-02-04 02:45:24 +00:00
James Harvey a3f41bbc0c Remove frag_keyframe as it is not relevant for audio 2023-02-04 02:29:21 +00:00
James Harvey f2cc0e7069 Fill in issue/PR comment 2023-02-04 02:17:55 +00:00
James Harvey c70508b089 Add movflags to mp4 audio encoding 2023-02-04 01:56:14 +00:00
James Harvey 29c1f54b57
Fix audio codec not being used in UniversalAudio (#9192) 2023-02-02 14:54:05 +01:00
Bond-009 2436233d9f
Merge pull request #9146 from nyanmisaka/fix-pgs-vulkan 2023-01-24 11:26:35 +01:00
nyanmisaka 6d6b9044ab Backport pull request #9145 from jellyfin/release-10.8.z
Fix PGS position issue in sw decoding #8602

Original-merge: fbb9acf58b

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:06:20 -05:00
nyanmisaka d6f44818e4 Backport pull request #9050 from jellyfin/release-10.8.z
Update workaround for i915 hang in linux 5.18 to 6.1.3

Original-merge: 464136cfc9

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:05:00 -05:00
nyanmisaka c9badabe96 Fix PGS position issue in Vulkan pipeline
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-01-21 22:41:26 +08:00
Shadowghost 407c716f82 Add stereo downmix algorithm selection. 2023-01-10 15:29:39 +01:00
Cody Robibero 9a740344be
Add support for .sup subtitle (#8808)
Fixes https://github.com/jellyfin/jellyfin/issues/8628
2022-12-30 08:24:06 -07:00
Bond_009 52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00
Bond_009 c7d50d640e Replace == null with is null 2022-12-05 15:00:20 +01:00
Bond-009 210a4921f2
Fix some warnings and only disable TreatWarningsAsErrors for CodeAnalysis (#8709) 2022-12-05 13:54:28 +01:00
Bill Thornton 79f01834c1 Add delay_moov flag for progressive mp4 transcoding 2022-12-01 15:31:59 -05:00
Bond-009 da5913aa30
The -autoscale option was added in FFmpeg 4.4 (#8813) 2022-11-30 21:00:39 +01:00
Bond_009 556cc8062d Investigate some TODO comments 2022-11-27 14:13:31 +01:00
Dominik 87f3bdb918 Do not set different force_key_frames for vod streams 2022-11-15 11:32:58 +01:00
nyanmisaka a214ca2598 Backport pull request #8620 from jellyfin/release-10.8.z
Fix the DG2 HDR TM tearing issue on Windows

Original-merge: 3bdc2bff5f

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-28 22:39:01 -04:00
Joshua M. Boniface 74eae1e789
Merge pull request #7708 from nyanmisaka/amd-vaapi-vulkan 2022-10-18 12:13:02 -04:00
nyanmisaka 560d0838c7 Add Vulkan filtering support for AMD VAAPI (Vega/gfx9+)
This requires:
- VK_EXT_image_drm_format_modifier extension
- Linux kernel version >= 5.15
- jellyfin-ffmpeg5 >= 5.0.1-2

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2022-10-16 23:08:59 +08:00
Bond_009 a9a5fcde81 Use ArgumentNullException.ThrowIfNull helper method
Did a simple search/replace on the whole repo (except the RSSDP project)
This reduces LOC and should improve performance (methods containing a throw statement don't get inlined)

```
if \((\w+) == null\)
\s+\{
\s+throw new ArgumentNullException\((.*)\);
\s+\}
```

```
ArgumentNullException.ThrowIfNull($1);
```
2022-10-06 20:21:23 +02:00
Bill Thornton e8c12e5078 Backport pull request #8280 from jellyfin/release-10.8.z
Fix ffmpeg analyze duration env var taking priority over media source

Original-merge: 632fb05f46

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:36 -04:00
Bond-009 43ec8e9743
Merge pull request #8144 from joseph39/ffmpeg-referer 2022-09-14 19:49:04 +02:00
luz paz 9ec2870b10 Fix various typos
Found via `codespell -q 3 -S ./Emby.Server.Implementations/Localization -L allready,doesnt,inh,receivedfrom,whoknows`
2022-08-15 06:48:34 -04:00
Shadowghost 3e5cf9395f Backport pull request #8182 from jellyfin/release-10.8.z
Extract external subs from container before determining characterset

Original-merge: 1faee43b11

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

Backported-by: Joshua Boniface <joshua@boniface.me>
2022-08-13 21:46:33 -04:00
Joshua Boniface d5ea136dc5 Backport pull request #8174 from jellyfin/release-10.8.z
Disable auto inserted SW scaler for HW decoders

Authored-by: nyanmisaka <nst799610810@gmail.com>

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

Original-merge: 7297431f23
2022-08-01 14:25:45 -04:00
Joshua Boniface 38f6f589d9 Backport pull request #8127 from jellyfin/release-10.8.z
Workaround for linux 5.18+ i915 hang at cost of performance

Authored-by: Nyanmisaka <nst799610810@gmail.com>

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Original-merge: 484427b4aa
2022-08-01 14:25:43 -04:00
Joshua Boniface 3e24b8943d Backport pull request #8061 from jellyfin/release-10.8.z
Fix intel dx11-ocl interop taking too long to initialize on windows

Authored-by: nyanmisaka <nst799610810@gmail.com>

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Original-merge: 9854751137
2022-08-01 14:25:41 -04:00
Joshua Boniface 76f7a80a97 Backport pull request #8152 from jellyfin/release-10.8.z
Fix support for rtsp streams over tcp

Authored-by: Bill Thornton <billt2006@gmail.com>

Merged-by: Cody Robibero <cody@robibe.ro>

Original-merge: b2fb96ffed
2022-07-24 12:35:46 -04:00
Joshua Boniface adc08b5b4c Backport pull request #8092 from jellyfin/release-10.8.z
Change allow higher opus, vorbis transcode bitrates

Authored-by: Andy Walsh <andy.walsh44+github@gmail.com>

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

Original-merge: 7ef9e95d75
2022-07-20 19:29:07 -04:00
Joshua Boniface a9449d0f23 Backport pull request #8078 from jellyfin/release-10.8.z
fix copy&paste error for requestedRangeTypes preventing stream copy

Authored-by: Andy Walsh <andy.walsh44+github@gmail.com>

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

Original-merge: 47c2c536e4
2022-07-20 19:29:06 -04:00
Joseph 54b3debd27
Add referer parameter to ffmpeg
As of https://trac.ffmpeg.org/ticket/2179, ffmpeg supports referer parameter which injects Referer header to the HTTP request for remote content. Have EncodingHelper pass this in if it's included in RemoteHttpHeaders.
2022-07-18 23:30:27 -07:00
Claus Vium 3e2fbb2685 Merge pull request #8001 from jellyfin/fix-yuvj420p-hwdec
Fix yuvj420p pixel format hardware decoding

(cherry picked from commit d342b79218)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:38 -04:00
Bond-009 7dab8b8f88 Merge pull request #7975 from jellyfin/libva-driver-env
(cherry picked from commit 910df89cce)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Bond-009 074d7dc6b6 Merge pull request #7968 from jellyfin/fix-hwa-bluray
(cherry picked from commit 5f15339919)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Joshua M. Boniface fe32b5e333 Merge pull request #7964 from jellyfin/dovi-side-data
(cherry picked from commit 39d185c7b1)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Cody Robibero a65397ae14 Merge pull request #7950 from nyanmisaka/brighter-vpp-tonemap
(cherry picked from commit b36543275f)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Cody Robibero 38102499cb Merge pull request #7947 from nyanmisaka/video-range-condition
(cherry picked from commit f1d56aa5ce)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:14 -04:00
Cody Robibero a168040cc8 Merge pull request #7941 from jellyfin/fix-overflow
(cherry picked from commit fd4ffc6ba3)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:14 -04:00
Cody Robibero 9c5d30c217 Merge pull request #7925 from nyanmisaka/remove-mpeg4-amf
(cherry picked from commit b295b0478c)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:32:09 -04:00
Cody Robibero db8047136d Merge pull request #7924 from jellyfin/improve-swdec-amf-tonemap
(cherry picked from commit 2888080098)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:32:09 -04:00
Bond-009 c19c787273 Merge pull request #7828 from nyanmisaka/fix-dovi-tonemap
Fix Dolby Vision profile 5 and 8 to SDR HW tone-mapping

(cherry picked from commit 8595a979a8)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-10 23:43:17 -04:00
Joshua M. Boniface 8e9c02f4c6 Merge pull request #7736 from jellyfin/fix-swscale-pgs
(cherry picked from commit 5da4bcc782)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-05-20 23:49:38 -04:00
Cody Robibero 1922ee153e Merge pull request #7716 from Shadowghost/opus-fix
Respect limited opus sampling rates when building trancoding command

(cherry picked from commit 5a9afb0874)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:57 -04:00
Cody Robibero efcdab116f Merge pull request #7529 from Shadowghost/strm-ffprobe-external-fix
(cherry picked from commit 60affd0965)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:56 -04:00
Cody Robibero 76cfb8c903 Merge pull request #7643 from jellyfin/h264-level
(cherry picked from commit 12f9132975)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-28 09:26:45 -04:00
Cody Robibero fe3dbabbff Merge pull request #7580 from jellyfin/external-audio-map
(cherry picked from commit c5212a20a3)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:11 -04:00
Cody Robibero a2f1ec23ce Merge pull request #7557 from jellyfin/pgs-qsv-iris655
(cherry picked from commit 620625c4c1)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:58 -04:00
Joshua M. Boniface c229f3ae0a
Merge pull request #7333 from eyezak/hls/audio-bitstream-fmp4 2022-03-25 10:13:58 -04:00
Nyanmisaka 3cea6c61f3
Apply suggestions from code review 2022-03-25 22:12:56 +08:00
Nyanmisaka fb8ae0e9a1
Improve fps for cuda tonemap in sw decoding
avoid second copy if subtitle is not applied.
2022-03-22 00:45:07 +08:00
Cody Robibero e6df698df1
Merge pull request #7325 from eyezak/issue/6450 2022-03-12 09:08:25 -07:00
nyanmisaka b2c58338f2 Fix the fMP4 HLS audio sync issue on Safari 2022-03-09 21:28:58 +08:00
Nyanmisaka 4f1efb3996
Re-enable the legacy NVIDIA CUVID decoder in full HWA pipeline (#7413) 2022-03-08 16:36:30 +01:00
Isaac Gordezky 5e779f20ee Series: issue-6450
Issue: https://github.com/jellyfin/jellyfin/issues/6450

Enable DirectPlay responses
Rewrite DirectPlay and DirectStream resolution
Prefer copy transcode video codec options
Enhance condition processor
Support DirectStream and Transcode with parity
Rework audio stream selection and add tests for ExternalAudio
Update MediaInfoHelper to only call StreamBuilder once
2022-03-06 18:13:54 -07:00
Joshua M. Boniface 947ff9defe
Merge pull request #7404 from nyanmisaka/omx 2022-03-05 14:35:41 -05:00