Commit Graph

672 Commits

Author SHA1 Message Date
nicknsy
6744e712d3 Use config values 2023-06-22 16:23:51 -07:00
nicknsy
ca7d1a1300 Trickplay generation, manager, storage 2023-06-22 16:19:59 -07:00
nyanmisaka
27d0d8a7f2 Refine SwDec and QSV encoding
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
nyanmisaka
be01aeecd9 Add AV1 hardware and software encoding
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
Cody Robibero
4972fbf2a3
Merge pull request #8744 from DomiStyle/segment-deletion 2023-06-19 06:50:13 -06:00
nyanmisaka
f81b004d3f Removed unused lines
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-18 10:00:53 +08:00
nyanmisaka
a81f3e7c97 Fix #9642 backport
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-18 09:59:55 +08:00
Dominik
17f1e8d19b
Merge branch 'master' into segment-deletion 2023-06-15 19:38:42 +02:00
nyanmisaka
23b9055547 Rearrage the Amd vaapi-vulkan pipeline for synchronization
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-13 23:15:30 +08:00
nyanmisaka
fdc16e23c4 Backport pull request #9671 from jellyfin/release-10.8.z
Fix the canvas size for DVBSUB and DVDSUB subtitles

Original-merge: eba95cc7f0

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

Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:55:15 -04:00
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
Shadowghost
519709bf10 Revert "Remove DvdLib (#9068)"
This reverts commit db1913b08f.
2023-02-04 18:36:47 +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
Patrick Barron
db1913b08f
Remove DvdLib (#9068)
* Remove DvdLib

* Update error message for blu-ray folders

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>

* Remove BDInfo

* Remove MediaEncoder.GetPrimaryPlaylistVobFiles

* Remove BlurayDiscInfo

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-01-20 13:29:45 +01: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
Hannes Braun
4edeccc5e0
Remove redundant using directives 2022-09-28 16:26:03 +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
nyanmisaka
0309c5622e Backport pull request #8213 from jellyfin/release-10.8.z
Fix high single thread usage in throttler

Original-merge: ba026716c1

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:35 -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
Joshua M. Boniface
9c97c533ef Merge pull request #7994 from nyanmisaka/fix-throttler
(cherry picked from commit a7d45b5d3a)
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