634 Commits

Author SHA1 Message Date
Nyanmisaka
07093c84c8
Use VBR and MBBRC in QSV encoders for better quality (#14079) 2025-05-08 14:43:13 -06:00
Nyanmisaka
4199f7acc2
Fix the transparency issue of ASS subtitle rendering in HWA (#14024) 2025-05-03 08:21:08 -06:00
Nyanmisaka
8be8ea60f1
Add DoVi Profile 5 support for Rockchip RKMPP (#13911) 2025-04-13 07:43:58 -06:00
Nyanmisaka
98697e75ca
Fix seeking beyond EOF again (#13871) 2025-04-08 14:58:55 -06:00
Joshua M. Boniface
7d705249ca
Merge commit from fork
Fix validation of API parameters passed to FFmpeg
2025-04-05 14:44:19 -04:00
Tim Eisele
d0c1ef8002
Update MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2025-04-03 20:42:33 +02:00
timminator
d1ed6593ad
Make ReadInputAtNativeFramerate configurable for M3U tuner (#13773) 2025-04-03 09:18:00 -06:00
Tim Eisele
596b635511
Cleanup extracted files (#13760)
* Cleanup extracted files

* Pagination and fixes

* Add migration for attachments to MigrateLibraryDb

* Unify attachment handling

* Don't extract again if files were already extracted

* Fix MKS attachment extraction

* Always run full extraction on mks

* Don't try to extract mjpeg streams as attachments

* Fallback to check if attachments were extracted to cache folder

* Fixup
2025-04-03 09:17:14 -06:00
gnattu
49ac705867
Improve dynamic HDR metadata handling (#13277)
* Add support for bitstream filter to remove dynamic hdr metadata

* Add support for ffprobe's only_first_vframe for HDR10+ detection

* Add BitStreamFilterOptionType for metadata removal check

* Map HDR10+ metadata to VideoRangeType.cs

Current implementation uses a hack that abuses the EL flag to avoid database schema changes. Should add proper field once EFCore migration is merged.

* Add more Dolby Vision Range types

Out of spec ones are problematic and should be marked as a dedicated invalid type and handled by the server to not crash the player.

Profile 7 videos should not be treated as normal HDR10 videos at all and should remove the metadata before serving.

* Remove dynamic hdr metadata when necessary

* Allow direct playback of HDR10+ videos on HDR10 clients

* Only use dovi codec tag when dovi metadata is not removed

* Handle DV Profile 7 Videos better

* Fix HDR10+ with new bitmask

* Indicate the presence of HDR10+ in HLS SUPPLEMENTAL-CODECS

* Fix Dovi 8.4 not labeled as HLG in HLS

* Fallback to dovi_rpu bsf for av1 when possible

* Fix dovi_rpu cli for av1

* Use correct EFCore db column for HDR10+

* Undo outdated migration

* Add proper hdr10+ migration

* Remove outdated migration

* Rebase to new db code

* Add migrations for Hdr10PlusPresentFlag

* Directly use bsf enum

* Add xmldocs for SupportsBitStreamFilterWithOption

* Make `VideoRangeType.Unknown` explicitly default on api models.

* Unset default for non-api model class

* Use tuples for bsf dictionary for now
2025-04-02 18:06:02 -06:00
Bond-009
e9729a536f
Use pattern matching for null checks (#13793)
Fix the few that slipped through
2025-03-31 17:38:25 -06:00
Bond-009
476a0d6932
Merge pull request #13194 from gnattu/av1-videotoolbox
Enable VideoToolbox AV1 decode
2025-03-30 23:12:53 +02:00
Shadowghost
3df7d7a809 Add validation for level input 2025-03-28 08:21:37 +01:00
Shadowghost
1fcc79316d Rename ValidationRegex to ContainerValidationRegex 2025-03-28 08:21:37 +01:00
Nyanmisaka
a123a2cb22
Fix validation of VAAPI/QSV render node path (#13786)
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-03-27 17:59:32 -06:00
JPVenson
160020c551 WIP fixed namespaces 2025-03-25 15:30:22 +00:00
JPVenson
dfdef511a5 Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider 2025-02-05 18:32:13 +00:00
gnattu
d52ab30ae9 Backport pull request #13313 from jellyfin/release-10.10.z
Use nv15 as intermediate format for 2-pass rkrga scaling

Original-merge: 5c6317f68d6e255189ceb64e49500afd046e3a50

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03 16:59:05 -05:00
Shadowghost
e79fc6b851 Backport pull request #13288 from jellyfin/release-10.10.z
Fix DTS in HLS

Original-merge: cea0c9594220778658c30acf640108c26191706e

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03 16:59:04 -05:00
gnattu
4595625f19 Backport pull request #13262 from jellyfin/release-10.10.z
Don't use custom params on ultrafast x265 preset

Original-merge: 86160cd99c3134f2ca62e5fc9fac60d9ef702fb0

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03 16:59:03 -05:00
nyanmisaka
bc1419728f Backport pull request #13151 from jellyfin/release-10.10.z
Always do tone-mapping for HDR transcoding when software pipeline is used

Original-merge: b31f1696f2cad1ebf37ad33af82161d52c9ca9e9

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03 16:55:53 -05:00
JPVenson
17003f4d76 Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider 2025-02-02 02:09:14 +00:00
Josh Soref
40da2ccac5
Fix spelling (#13444)
* spelling: anamorphic

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: associated

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: channelinfo

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: eagerly

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: enumerable

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: greater than/less than

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: greater

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: lineup

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: logs out

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: names

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: paging

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: playlist

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: sanitized

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: saving

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

---------

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-28 11:27:34 +01:00
JPVenson
aa811eb1e3 Prepared Seperation of Database components for future multi provider support 2025-01-26 20:45:28 +00:00
luzpaz
b37bc9016f
Fix typos
Found via `codespell -q 3 -D ../../dictionary.txt -S "./Emby.Server.Implementations/Localization" -L allready,childrens,groupe,inh,raisons,re-use,som,supercede,superceded,thirdparty,whoknows`
2025-01-26 11:14:03 -05:00
Josh Soref
044cf9fb85 chore: fix spelling
* a
* acceleration
* addition
* altogether
* api clients
* artist
* associated
* bandwidth
* cannot
* capabilities
* case-insensitive
* case-sensitive
* configuration
* delimiter
* dependent
* diacritics
* directors
* enable
* explicitly
* filters
* finish
* have
* hierarchy
* implicit
* include
* information
* into
* its
* keepalive
* localization
* macos
* manual
* matching
* metadata
* nonexistent
* options
* overridden
* parsed
* parser
* playback
* preferring
* processes
* processing
* provider
* ratings
* retrieval
* running
* segments
* separate
* should
* station
* subdirectories
* superseded
* supported
* system
* than
* the
* throws
* transpose
* valid
* was

link: forum or chat rooms

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-25 20:05:15 -05:00
gnattu
0fc288936d Enable VideoToolbox AV1 decode
This decoder differs from others provided by VideoToolbox in that it lacks any software fallback. To achieve consistent behavior with other VideoToolbox decoders, this PR implemented additional checking on the server to simulate the software fallback provided by VideoToolbox.

The current fallback checking mechanism is a temporary solution. In the long term, it should be replaced with a more capable hardware capability checking system.
2024-12-09 16:17:49 +08:00
nyanmisaka
9f86f8748c Backport pull request #13026 from jellyfin/release-10.10.z
Fix missing procamp vaapi filter

Original-merge: cf11a2dc1eec3cde51713df745934933102a2dd5

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-19 15:43:29 -05:00
gnattu
fbdbf77a59 Backport pull request #12991 from jellyfin/release-10.10.z
Use invariant culture for tonemap options

Original-merge: d292fde9e29609b58278e46e4edb155698b2fe1c

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-19 15:43:27 -05:00
nyanmisaka
661caa62e2 Backport pull request #12989 from jellyfin/release-10.10.z
Fix InvariantCulture in VPP tonemap options

Original-merge: 25321d7f80a3b065a8d3061a93adb78d701b7412

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-19 15:43:26 -05:00
nyanmisaka
87a3c5d11c Backport pull request #12973 from jellyfin/release-10.10.z
Fix pixel format in HEVC RExt SDR transcoding

Original-merge: aa08d3f2bf155d55f748bff1f0a0c7f071f79ae7

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-19 15:43:24 -05:00
gnattu
4f562d67b0 Backport pull request #12947 from jellyfin/release-10.10.z
Add a small tolerance value to remux fps check

Original-merge: 954950dc145db4edf85cc2c1e3ce068274097b71

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-19 15:43:19 -05:00
Nyanmisaka
df8edaa083
Fix seeking beyond EOF in HWA transcoding (#12847) 2024-10-19 08:46:13 -06:00
gnattu
6813db06d7
Infer more audio codec from containers (#12837) 2024-10-19 05:23:48 -06:00
Nyanmisaka
b496f979f0
Clean up deprecated -vsync option (#12765) 2024-10-03 08:18:40 -06:00
Nyanmisaka
368edeb8ad
Fix full range in SW decoder & HW encoder for Trickplay (#12763) 2024-10-02 10:34:40 -06:00
Nyanmisaka
4317702559
Fix RKMPP-DRM-OpenCL mapping (#12758) 2024-10-01 07:02:01 -06:00
Nyanmisaka
f36e73e748
Improve Trickplay image quality using HQ scaler on intel (#12759) 2024-10-01 07:01:33 -06:00
Nyanmisaka
77420739e6
Handle full range output in tonemap filter for Trickplay (#12746) 2024-09-29 20:21:36 -06:00
Nyanmisaka
f52f5290b2
Fix vpp tonemap pixfmt regression (#12733) 2024-09-28 03:36:33 -06:00
Nyanmisaka
e5f5f7c384
Fix the invalid libplacebo filter option (#12732) 2024-09-28 12:14:42 +08:00
Nyanmisaka
cb8f01065a
Fix MJPEG hwenc may be incorrectly enabled on AMDGPU (#12695) 2024-09-23 11:24:49 -06:00
gnattu
0539fdc5e3
Fix libx264/libx265 auto preset (#12692) 2024-09-23 09:09:08 -06:00
Nyanmisaka
a0204ada2f
Fix intel Xe kernel driver cannot be used with QSV (#12691) 2024-09-23 09:02:31 -06:00
Nyanmisaka
5d5afe10e8
Fix incorrect input range for certain hw JPEG encoders (#12683) 2024-09-22 18:50:18 -06:00
Nyanmisaka
b162e9290b
Fix the diff between requested and actual resolution in RKMPP (#12680) 2024-09-22 08:58:15 -06:00
gnattu
56cf1a581c
Better bitrate and resolution normalization (#12644) 2024-09-21 20:01:47 -06:00
gnattu
d944f415f3 Let HLS Controller decide if subtitle should be burn in
Previously, we predicted whether the subtitle should be burned in with transcode reasons, but that was not accurate because the actual transcoding codec is only determined after the client has requested the stream. This pass through the option to the `DynamicHlsController` to handle the subtitle burn-in during the actual transcoding process. Now the client should be responsible to conditionally load the subtitle when this option is enabled.
2024-09-22 00:35:41 +08:00
Nyanmisaka
e615b56a70
Fix RKMPP 2pass scaling in Trickplay (#12675) 2024-09-20 07:01:58 -06:00
Nyanmisaka
93db8990d9
Enable HEVC RExt HW decoding for 4:2:2/4:4:4 content (#12664) 2024-09-19 07:14:18 -06:00
gnattu
41ac5f8d76
Fix subtitle dar comparison when number not exact (#12660) 2024-09-17 07:08:16 -06:00