aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Encoder
AgeCommit message (Collapse)Author
3 daysBackport pull request #15557 from jellyfin/release-10.11.zgnattu
Restrict first video frame probing to file protocol Original-merge: ee7ad83427ed30aa095896ff3577bb946f3d1c02 Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27Backport pull request #15177 from jellyfin/release-10.11.zgnattu
Make priority class setting more robust Original-merge: 70c32a26fa9f16db513a92cdd2dcafa7ee15a80d Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-09-10Don't use ffprobe frame options on audio probe (#14773)Tim Eisele
2025-08-15Run background ffmpeg tasks as ProcessPriorityClass.BelowNormalEvan
Follow TrickPlay example of running other background ffmpeg tasks as ProcessPriorityClass.BelowNormal: - Keyframe extraction - Media info probing during library scans - Audio normalization - Image extraction
2025-08-01Merge pull request #14467 from ↵Bond-009
jkhsjdhjs/keyframe-only-trickplay-extraction-fallback Add fallback for keyframe-only trickplay extraction
2025-07-22Fix trickplay extraction ffmpeg error-handling (#14493)jkhsjdhjs
2025-07-14Add fallback for keyframe-only trickplay extractionjkhsjdhjs
Keyframe-only trickplay image extraction can fail for some media files. The current behavior is to skip the media file and try again on the next run, which will fail again. This adds a fallback to regular non-keyframe-only extraction for failed runs, so the extraction can complete.
2025-05-20Enable OpenCL deinterlacer for AMF on Windows when availablenyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-05-04Recognize file changes and remove data on change (#13839)Tim Eisele
2025-05-03Fix the transparency issue of ASS subtitle rendering in HWA (#14024)Nyanmisaka
2025-04-27Don't trim image extractor optiongnattu
2025-04-27Use full range output for imagegnattu
2025-04-27Correctly handle retry when I frame only failedgnattu
2025-04-26Fix distinction queries (#14007)Tim Eisele
2025-04-26Don't pass through timestamp for image extractor (#13999)gnattu
2025-04-19Fix thumbnail extraction of mpegts videos in FFmpeg 7.1+ (#13942)Nyanmisaka
2025-04-02Improve dynamic HDR metadata handling (#13277)gnattu
* 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-03-30Merge pull request #13194 from gnattu/av1-videotoolboxBond-009
Enable VideoToolbox AV1 decode
2025-03-28Gate the macOS only functionsgnattu
2025-03-28Use string literalgnattu
2025-02-13Backport pull request #13532 from jellyfin/release-10.10.zgnattu
Fix image encoding concurrency limit Original-merge: 3f539472f3a7c216a6c7d34fb947a144e249f154 Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-01-25chore: fix spellingJosh Soref
* 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>
2024-12-12move to new System.Threading.Lock type for better performanceDaniyar Alpyspayev
2024-12-09Enable VideoToolbox AV1 decodegnattu
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-11-19Backport pull request #13030 from jellyfin/release-10.10.zgnattu
Always cleanup trickplay temp for ffmpeg failures Original-merge: 9e61a6fd729b2980832014ae42bd4f7d1f3afb69 Merged-by: crobibero <cody@robibe.ro> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-10-25Fix check for format option in scale_cuda filter (#12874)Nyanmisaka
2024-10-04Extract DoVi thumbnail at 4000nit (#12771)gnattu
2024-10-03Clean up deprecated -vsync option (#12765)Nyanmisaka
2024-09-29Add perf tradeoff mode to image extractor (#12744)gnattu
2024-09-23Escape quotes in the subtitle path (#12690)Dmitry Lyzo
2024-09-20Enable key-frame only decoding for RKMPP trickplaynyanmisaka
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-09-12Enable BWDIF VideoToolbox deint filter when available (#12634)gnattu
2024-09-09Enable Rockchip MJPEG encoder for Trickplay (#12610)Nyanmisaka
2024-09-09Use enums for encoding options (#12561)Tim Eisele
2024-09-08Fix FormattingStreamWriter typegnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-09-07Backport pull request #12550 from jellyfin/release-10.9.zBond-009
Create and use FormattingStreamWriter Original-merge: cd2f2ca17800f71c8d94a6e043b49b7c4200e254 Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-09-07Backport pull request #12531 from jellyfin/release-10.9.zgnattu
Don't apply chapter image settings to music Original-merge: 2fe13f54eaf87eefefd27f4ccb2ace1371f5e886 Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-09-05Enable the new BWDIF CUDA deint filter when availablenyanmisaka
this requires jellyfin-ffmpeg7 Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-09-04Adapting AMD VAAPI-Vulkan pipeline to FFmpeg 7.0 (#12577)Nyanmisaka
2024-09-03Enable software tonemap for dolby visiongnattu
This applies software tonemapx filter for dolby vision videos that have no compatability fallback. Due to the complexity of the reshaping process, this is quite CPU-intensive. For real-time transcoding and tonemapping of 4K 60fps content, a CPU with 16 cores of Zen3-level performance is recommended. Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-28Improve error message when image extraction times outBond_009
The exception will get logged higher up the call stack.
2024-08-28Prevent server from starting if the ffmpeg path is invalid (#12463)gnattu
2024-08-27Merge pull request #11250 from nyanmisaka/fix-hwa-video-rotationBond-009
Fix the broken video orientation (+-90/180)
2024-08-11Remove legacy encodersgnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-11Remove VPx encodersgnattu
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-05Backport pull request #12390 from jellyfin/release-10.9.zjustinkb
fix SA1201 issue Original-merge: 3f3145600c4335aee24da8c5ee5f064f85b5821b Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com> Backported-by: Bond_009 <bond.009@outlook.com>
2024-08-05Backport pull request #12374 from jellyfin/release-10.9.znyanmisaka
Fix compatibility between TranscodingThrottler and FFmpeg 7.0 Original-merge: ee0094d889fe99cc3e27b556d5470e94b2521a3e Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2024-07-23Merge branch 'master' into fix-hwa-video-rotationNyanmisaka
2024-07-21Backport pull request #12296 from jellyfin/release-10.9.zBond-009
Properly escape paths in concat file for BDMV Original-merge: 4afa6db108e2071a335e7f6f7bb3fa7b50d9b7f7 Merged-by: crobibero <cody@robibe.ro> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-07-17Enable hardware Trickplay processing pipeline for VideoToolbox (#11510)gnattu