Commit graph

614 commits

Author SHA1 Message Date
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
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
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
Cody Robibero 96a03776e1 Fix TranscodeReasons property name 2022-03-26 12:20:29 -06: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
Joshua M. Boniface 97d3212410
Merge pull request #7437 from Nalsai/mks-attachments 2022-03-23 20:19:32 -04:00
Nils Fürniß 90463d5e4f
Pass CancellationToken to ExtractAllAttachments 2022-03-22 19:17:48 +01:00
Nils Fürniß 6904edf68c
add extracting attachments from external subs 2022-03-22 19:17:48 +01: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
Cody Robibero bbd5d11d3b Remove TranscodeReason.None, Add JsonFlagEnum tests 2022-03-06 18:13:54 -07:00
Cody Robibero c331e11c24 Clean up EnumFlags serialization 2022-03-06 18:13:54 -07: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
Isaac Gordezky d871dded9f Convert TranscodeReason to Flags 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
nyanmisaka bfc27e494b Remove the deprecated OMX and MMAL HWA 2022-03-05 21:47:59 +08:00
nyanmisaka de4a084b03 Set the name of intel vaapi driver explicitly
Fix crashes on older intel gfx when both iHD and i965 driver are existed.
2022-03-05 01:32:06 +08:00
Claus Vium 6498a5baca
Merge pull request #7387 from jellyfin/nvdec-threads 2022-03-01 16:53:23 +01:00
Nyanmisaka 4239f80c81
Lowering the VRAM usage on NVDEC decoder 2022-03-01 23:14:35 +08:00
Nyanmisaka ba8e478a2f
Fix the path to the extracted fonts on Windows 2022-03-01 22:41:54 +08:00
Bond-009 eff3d3e67e
Merge pull request #7275 from Nalsai/burn-subtitle-attached-fonts 2022-03-01 11:21:19 +01:00
Cody Robibero 3c0c7572ef
Merge pull request #7338 from mueslimak3r/hls-remove-seek-param 2022-02-28 20:16:19 -07:00
Nyanmisaka 9251c875b1
Update presets for NVENC encoder 2022-02-28 23:05:08 +08:00
Isaac Gordezky def8500dd0
Update MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-02-21 07:54:13 -05:00
cameron 36cdeaa53c dont use noaccurate_seek for hls 2022-02-18 23:18:28 -08:00
Isaac Gordezky 151ddd400d [Bugfix] Provile bitStreamArgs for HLS fMP4
Enable the audio bitstream arguments to ffmpeg for both ts and fMP4 HLS streaming
2022-02-18 13:18:08 +00:00
Nils Fürniß ab40554759
add extracting attachments for ffmpeg to burn subs 2022-02-10 01:01:08 +01:00
Ace Olszowka ea7e5e639d Fix h264_v4l2m2m acceleration in Raspberry Pi 4 2022-02-07 20:41:07 -07:00
Cody Robibero 34ee6d82fb
Merge pull request #6600 from cvium/keyframe_extraction_v1 2022-01-20 08:54:40 -07:00
nyanmisaka 8c3f98f41b Also seek the external audio stream 2022-01-09 13:49:40 +08:00
nyanmisaka ddc2569258 Fix the wrong logic in HEVC VP9 10bit hwdec boxes 2022-01-08 22:31:45 +08:00
cvium c658a883a2 Merge branch 'master' into keyframe_extraction_v1
# Conflicts:
#	Jellyfin.Api/Controllers/DynamicHlsController.cs
#	MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs
#	MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
2022-01-07 10:23:22 +01:00
Cody Robibero 82260e22a2 ADd more null check 2022-01-06 21:49:13 -07:00
Cody Robibero 7bfc6b5679 Remove more warnings 2021-12-27 07:38:06 -07:00
Cody Robibero ebbde383e8 Fix analysis issues 2021-12-26 11:08:43 -07:00
Cody Robibero 78bb581f0c
Merge pull request #6934 from nyanmisaka/hwa
HWA pipeline refactor, AMD/Intel/Nvidia full hardware filtering support, AV1 hwdec
2021-12-26 17:32:06 +00:00
Bond_009 cbfa355e31 Update StyleCop 2021-12-24 18:28:27 +01:00
nyanmisaka 728a5988b3 Merge remote-tracking branch 'origin/master' into hwa 2021-12-25 00:33:17 +08:00
nyanmisaka b2d85a02c2 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
Co-authored-by: Bond_009 <bond.009@outlook.com>
2021-12-24 17:03:57 +08:00
nyanmisaka 4b9c84c52e EncodingHelper hwaccel pipelines refactor
separate the HW pipeline according to HWA method for maintainability.
2021-12-24 17:03:57 +08:00
Jonas Resch d47811bdaf Fix wrong ffmpeg map argument due to wrong calculation 2021-12-08 10:17:25 +01:00
Jonas Resch 99a48554a6
Optimize calculation of external audio stream index in MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-12-03 19:19:22 +01:00
Jonas Resch 120828d8d0
Replace escaped quote string with quote character in MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-12-03 19:18:43 +01:00
Jonas Resch 0894a6193f Implement coding standards from 2nd code feedback 2021-11-30 19:31:46 +01:00
Jonas Resch a68e58556c Implement code feedback
- Rewrite AudioResolver
- Use async & await instead of .Result
- Add support for audio containers with multiple audio streams (e.g.
  mka)
- Fix bug when using external subtitle and external audio streams at the
  same time
2021-11-30 19:31:46 +01:00
Jonas Resch 9978164438 Add support for external audio files 2021-11-30 19:31:46 +01:00
Joe Rogers f73a7a6ed8
Use ImageFormat instead of string for extension 2021-11-12 16:22:11 +01:00
Bond_009 1d19a5be61 Fix some warnings
down to 580
2021-11-09 22:29:33 +01:00
Joe Rogers e3eee10d05
Add image provider tests and clean up 2021-10-11 14:09:02 +02:00
Joe Rogers 8d70cc2dde
Add support for non-jpg image extractions 2021-10-11 14:09:02 +02:00
Cody Robibero 9234e5bf80 Remove all instances of en-US culture 2021-09-26 09:11:25 -06:00