nyanmisaka
8a93a627c4
Backport pull request #18261 from jellyfin/release-12.z
...
Fix video quality at low bitrates when reducing bit depth
Original-merge: addc611056
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Cody Robibero <cody@robibe.ro >
2026-10-05 19:18:57 -04:00
nyanmisaka
bfb7af2897
Backport pull request #18164 from jellyfin/release-12.z
...
Fix typo when parsing codec_tag_string
Original-merge: 8358c03ebf
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Cody Robibero <cody@robibe.ro >
2026-09-27 16:30:55 -04:00
nyanmisaka
57d19b185c
Backport pull request #18025 from jellyfin/release-12.z
...
Fix incorrect color range during CSC after VK tonemapping
Original-merge: 8455f7c838
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Cody Robibero <cody@robibe.ro >
2026-09-15 11:17:04 -04:00
nyanmisaka
9fa9d26341
Normalize invalid PTS from containers for Trickplay generation
...
This change does not affect the keyframe only mode.
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-07-18 15:44:34 +08:00
nyanmisaka
4503ad295c
Fix format negotiation in hybrid SW decode and CUDA tonemap pipeline
...
The CUDA hwcontext in FFmpeg 8.1 has added support for 10bit
fully-planar formats, but few CUDA filters support them.
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-07-15 13:54:45 +08:00
nyanmisaka
631a314d24
Fix potential garbled text in FFmpeg logs on Windows
...
Explicitly set StandardErrorEncoding and StandardOutputEncoding to
Encoding.UTF8 when invoking the FFmpeg subprocess.
This prevents log encoding issues and character corruption on Windows
environments that default to non-UTF8 ANSI code pages.
This fixes garbled metadata and font names in the FFmpeg logs.
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-07-10 14:46:27 +08:00
nyanmisaka
c693047467
Fix duplicate trickplay images for interlaced videos
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-06-09 20:18:17 +08:00
nyanmisaka
081f0ef4a0
Make EncoderPreset non nullable
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-06-02 20:41:30 +08:00
nyanmisaka
69b0b63a95
Fix inconsistent extradata generated by hevc_vaapi on AMD driver
...
This change is required for upstream ffmpeg 8+, because its
mp4 muxer will drop in-band PS when using codec tag hvc1.
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-05-24 03:34:54 +08:00
nyanmisaka
b9ee9b0660
Backport pull request #16819 from jellyfin/release-10.11.z
...
Fix rate control in av1_amf encoder
Original-merge: a023b9c88d
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-05-12 12:26:13 -04:00
nyanmisaka
6d6dee9492
Add tests for videoRotation profile condition
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-05-09 15:20:29 +08:00
nyanmisaka
fc251265d9
Check videoRotation in video stream copy
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-05-09 15:20:29 +08:00
nyanmisaka
5cb6ac521a
Add videoRotation profile condition
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-05-09 15:20:29 +08:00
nyanmisaka
d9ced0d639
Use strict QSV CPB size for less powerful H.264 decoder
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-05-03 12:25:33 +02:00
nyanmisaka
e75f7f1b28
Avoid SSA to ASS conversion and loss of styles
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-05-02 21:36:34 +08:00
nyanmisaka
5b3537b3d7
Backport pull request #16519 from jellyfin/release-10.11.z
...
Fix Null was not checked before using the H264 profile
Original-merge: 89e914c7f1
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-03-30 14:08:07 -04:00
nyanmisaka
b82a2ced75
Backport pull request #16423 from jellyfin/release-10.11.z
...
Fix readrate options in FFmpeg 8.1
Original-merge: 29b2361857
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-03-23 17:06:22 -04:00
nyanmisaka
31adb5dcd1
Backport pull request #16392 from jellyfin/release-10.11.z
...
Fix filter detection in FFmpeg 8.1
Original-merge: 55c00d76bb
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-03-13 15:33:08 -04:00
nyanmisaka
582a1d9866
Add TrueHD and DTS codes string for HLS
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2026-01-06 23:15:06 +08:00
nyanmisaka
7af5ee1812
Backport pull request #15834 from jellyfin/release-10.11.z
...
Fix video lacking SAR and DAR are marked as anamorphic
Original-merge: 9470439cfa
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-28 07:22:36 -05:00
nyanmisaka
7f0e71578d
Backport pull request #15833 from jellyfin/release-10.11.z
...
Fix missing H.264 and AV1 SDR fallbacks in HLS playlist
Original-merge: 01b20d3b75
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-28 07:22:34 -05:00
nyanmisaka
b429306f05
Backport pull request #15819 from jellyfin/release-10.11.z
...
Fix the use of HWA in unsupported H.264 Hi422P/Hi444PP
Original-merge: 4c587776d6
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-28 07:22:32 -05:00
nyanmisaka
43797fee42
Backport pull request #15776 from jellyfin/release-10.11.z
...
Fix AV1 decoding hang regression on RK3588
Original-merge: 035b5895b0
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-28 07:22:27 -05:00
nyanmisaka
deb81eae10
Backport pull request #15670 from jellyfin/release-10.11.z
...
Fix the empty output of trickplay on RK3576
Original-merge: 98d1d0cb35
Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-03 14:04:27 -05:00
nyanmisaka
4258df4485
Backport pull request #15247 from jellyfin/release-10.11.z
...
Ignore initial delay in audio-only containers
Original-merge: 6bf88c049e
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2025-11-02 21:58:41 -05:00
nyanmisaka
dbb015441f
Backport pull request #15144 from jellyfin/release-10.11.z
...
Fix videos with cropping metadata are probed as anamorphic
Original-merge: 175ee12bbc
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-10-27 15:43:18 -04:00
nyanmisaka
348b2992d7
Backport pull request #15072 from jellyfin/release-10.11.z
...
Reject stream copy of HDR10+ video if the client does not support HDR10
Original-merge: a725220c21
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-10-27 15:43:08 -04:00
Nyanmisaka
badf22fcc2
Limit decoder thread count on AMD AMF to save VRAM ( #14943 )
2025-10-04 08:04:25 -06:00
nyanmisaka
a5b4eca804
Add extra movflags to fMP4 to take initial audio delay into account
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2025-07-30 18:00:14 +08:00
Nyanmisaka
25a362345d
Fix refreshing the library cannot delete old attachments ( #14461 )
2025-07-14 18:40:37 -06:00
Nyanmisaka
db55d983f8
Only enable VAAPI MJPEG encoder on Intel iHD driver ( #14433 )
2025-07-07 18:05:14 -06:00
Nyanmisaka
ebdc756547
Fix -fps_mode option being applied on input ( #14379 )
2025-06-26 17:48:43 -06:00
Nyanmisaka
e8291fc856
Fix QSV "static surface pool size exceeded" on Windows
...
d3d11va doesn't support dynamic pool size, use vpp filter ctx to relay to prevent encoder async and bframes from exhausting the decoder pool.
2025-06-17 15:02:13 +08:00
nyanmisaka
1ee705f3e1
Fix RKRGA 2pass scaling issue caused by auto AR reduction
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2025-05-26 23:49:04 +08:00
nyanmisaka
0e0c7c5c59
Offload 1080p+ subtitle scaling to RKRGA
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2025-05-26 23:49:04 +08:00
nyanmisaka
56231222df
Enable OpenCL deinterlacer for AMF on Windows when available
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2025-05-20 22:07:00 +08:00
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
e84826297d
Fix thumbnail extraction of mpegts videos in FFmpeg 7.1+ ( #13942 )
2025-04-19 10:41:30 -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
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
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: b31f1696f2
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-02-03 16:55:53 -05:00
nyanmisaka
9f86f8748c
Backport pull request #13026 from jellyfin/release-10.10.z
...
Fix missing procamp vaapi filter
Original-merge: cf11a2dc1e
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-11-19 15:43:29 -05:00
nyanmisaka
661caa62e2
Backport pull request #12989 from jellyfin/release-10.10.z
...
Fix InvariantCulture in VPP tonemap options
Original-merge: 25321d7f80
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: aa08d3f2bf
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-11-19 15:43:24 -05:00
nyanmisaka
547d393af0
Backport pull request #12964 from jellyfin/release-10.10.z
...
Fix height of imported trickplay tiles
Original-merge: 09c377fb6c
Merged-by: joshuaboniface <joshua@boniface.me >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-11-19 15:43:23 -05:00
Nyanmisaka
3ceb8337e7
Fix check for format option in scale_cuda filter ( #12874 )
2024-10-25 12:52:27 -06:00
Nyanmisaka
df8edaa083
Fix seeking beyond EOF in HWA transcoding ( #12847 )
2024-10-19 08:46:13 -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
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
Nyanmisaka
e615b56a70
Fix RKMPP 2pass scaling in Trickplay ( #12675 )
2024-09-20 07:01:58 -06:00
nyanmisaka
7ab7f69916
Enable key-frame only decoding for RKMPP trickplay
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-09-20 03:22:53 +08: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
Nyanmisaka
d3e7f53d93
Fix some PGSSUB burn-in perf regressions ( #12655 )
2024-09-16 10:47:02 -06:00
Nyanmisaka
6deebb4498
Fix QSV presets may be empty ( #12633 )
2024-09-12 09:52:03 -06:00
Nyanmisaka
36d934f4c0
Enable Rockchip MJPEG encoder for Trickplay ( #12610 )
2024-09-09 09:24:45 -06:00
Nyanmisaka
5d4f71eb9a
Enable tone-mapping and HLS remuxing for DoVi Profile 10 in AV1 ( #12604 )
2024-09-07 11:19:26 -06:00
Nyanmisaka
48b2941cfe
Add native VPP tonemap for QSV on Windows ( #12592 )
2024-09-06 07:48:00 -06:00
nyanmisaka
aecd294fd7
Enable the new BWDIF CUDA deint filter when available
...
this requires jellyfin-ffmpeg7
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-09-05 22:27:58 +08:00
Nyanmisaka
95f91e0263
Adapting AMD VAAPI-Vulkan pipeline to FFmpeg 7.0 ( #12577 )
2024-09-04 07:36:49 -06: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
nyanmisaka
d447207489
Apply suggestions from code review
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-08-28 03:20:04 +08: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
nyanmisaka
7ee9c9b7a0
Backport pull request #12374 from jellyfin/release-10.9.z
...
Fix compatibility between TranscodingThrottler and FFmpeg 7.0
Original-merge: ee0094d889
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2024-08-05 11:01:28 -04:00
Nyanmisaka
2aa9cf4007
Merge branch 'master' into fix-hwa-video-rotation
2024-08-05 16:37:09 +08:00
Nyanmisaka
00088c2954
Merge branch 'master' into fix-hwa-video-rotation
2024-07-23 15:37:33 +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
nyanmisaka
b0f2135762
Backport pull request #12031 from jellyfin/release-10.9.z
...
Fix video embedded image detection
Original-merge: 37b7e953f7
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-06-23 11:40:44 -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
nyanmisaka
deb36eeeda
Add HWA video transpose support (+-90/180)
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-30 06:09:58 +08:00
nyanmisaka
95b81ff54a
Only streamCopy videos containing rotation data in fMP4
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-30 06:09:58 +08:00
nyanmisaka
6076462ff5
Add tests for the video rotation side data
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-30 06:09:58 +08:00
nyanmisaka
5967d26228
Register video rotation side data in DB
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-30 06:09:58 +08:00
nyanmisaka
bf654bde60
Add json parser for video rotation side data
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-30 06:09:58 +08:00
Nyanmisaka
16e72d6883
Fix the broken codecs shifting ( #11243 )
2024-03-28 13:57:33 -06:00
Nyanmisaka
775815d09c
Fix sar->dar typo in #11185 ( #11210 )
2024-03-25 05:36:18 -06:00
nyanmisaka
bf2ef63922
Fix codec vs ActualOutputVideoCodec
...
codec is copy
ActualOutputVideoCodec is hevc
fixes 3bbb57e
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-24 06:45:43 +08:00
nyanmisaka
9b35b4e8f2
Clean the outdated ffmpeg test data and add 6.1.1
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-17 22:08:05 +08:00
nyanmisaka
ae7c0c83e9
Bump the required minimum ffmpeg version to 4.4
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-17 21:30:42 +08:00
nyanmisaka
557b8f0c78
Apply suggestions from code review
...
Drop the unnecessary initial capacity from the list.
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-17 20:45:00 +08:00
nyanmisaka
a3ba974b7b
Fix the trailing whitespace
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-17 20:44:42 +08:00
Nyanmisaka and Claus Vium
98debe4817
Apply suggestions from code review
...
String interpolation is preferred.
Co-authored-by: Claus Vium <cvium@users.noreply.github.com >
2024-03-17 20:34:18 +08:00
nyanmisaka
47a77974b8
Apply suggestions from code review
...
Drop excludeFilePaths and lower the log level to debug to avoid
spamming in the log file.
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-17 17:17:47 +08:00
nyanmisaka
50541aea91
Apply suggestions from code review
...
Add excludeFilePaths to skip segment files in which IOException occurred.
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-16 22:09:31 +08:00
nyanmisaka
39b953e41c
Set input readrate for using SegmentDeletion with stream-copy
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-16 07:35:05 +08:00
nyanmisaka
55fd6b5cb9
Add sanity check for ThrottleDelaySeconds
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-16 07:35:05 +08:00
nyanmisaka
eca9bf41bc
Add TranscodingSegmentCleaner to replace ffmpeg's hlsenc deletion
...
FFmpeg deletes segments based on its own transcoding progress,
but we need to delete segments based on client download progress.
Since disk and GPU speeds vary, using hlsenc's built-in deletion
will result in premature deletion of some segments. As a consequence,
the server has to constantly respin new ffmpeg instances, resulting
in choppy video playback.
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-03-16 07:35:05 +08:00
Nyanmisaka
aa3aaa94fe
Fix the preproc filters for dvbsub burn-in ( #11034 )
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
2024-02-20 10:49:39 -07:00