McKenzie Pepper
30280aef0b
feat: add QSV hardware padding via vpp_qsv pad options with capability gate
...
The QSV pipeline previously always padded in software, forcing a
hwdownload/pad/hwupload round-trip. ffmpeg's vpp_qsv filter is gaining
pad_w/pad_h/pad_x/pad_y/pad_color options, so when the ffmpeg binary
exposes them we can pad on the GPU instead, mirroring the existing
pad_vaapi hardware path.
A new capability probe runs `ffmpeg -h filter=vpp_qsv` and parses the
available AVOption names, surfaced as IFFmpegCapabilities.HasFilterOption.
QsvPipelineBuilder.SetPad now emits PadQsvFilter (vpp_qsv=pad_w=..:pad_h=..
:pad_x=-1:pad_y=-1:pad_color=black) when vpp_qsv advertises pad_w, and
keeps the software PadFilter fallback for HDR tonemap, forced software
pad mode, and stock ffmpeg builds without the pad options. The gate is
what makes this safe to upstream, since stock ffmpeg has no vpp_qsv pad
options yet.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 days ago
Jason Dove
0c30c47ba9
nvidia - decode 10-bit h264 in software ( #2833 )
...
* output progress/speed even when copying video
* nvidia - decode 10-bit h264 in software
* fixes
* fix tests
5 months ago
Jason Dove
f47134d2d0
log warnings when transcoding speed is potentially insufficient ( #2808 )
...
* refactor parsing ffmpeg progress/speed
* log warnings when transcoding speed is potentially insufficient
* dont log progress on hls direct; fix tests
6 months ago
Jason Dove
e10b28bc0b
add normalization options ( #2802 )
...
* add new fields to database
* update editor
* audio and video normalization settings appear to work
* implement optional color normalization
* fix transcoding tests
* update changelog
6 months ago
Jason Dove
ccb917d0df
add ffmpeg profile pad mode ( #2775 )
...
* add ffmpeg profile pad mode
* update changelog
7 months ago
Jason Dove
0af81ad839
add target loudness to ffmpeg profile ( #2727 )
...
* add target loudness to ffmpeg profile
* fix filter
8 months ago
Jason Dove
54606c76f9
framerate improvements ( #2692 )
...
* framerate improvements
* fixes
8 months ago
Jason Dove
132466b3d3
add avisynth script support to all local libraries ( #2612 )
...
* detect avisynth demuxer
* cache ffmpeg capabilities
* check for working avisynth
* scan avs files in all local libraries
* update changelog
9 months ago
Jason Dove
a47510fef3
add aac (latm) audio format ( #2561 )
...
* add aac (latm) audio format
* update changelog
9 months ago
Jason Dove
2ef2b0299a
switch back from fmp4 to ts segments ( #2554 )
...
* restore pts offset calculation
* use ts segments again
* update changelog
9 months ago
Jason Dove
9bae8e73bf
slightly increase throttled readrate in segmenter ( #2534 )
10 months ago
Jason Dove
f41f4b19d4
wait for two initial segments in playback troubleshooting ( #2532 )
10 months ago
Jason Dove
917acf9683
fix hls segmenter fmp4 on windows ( #2531 )
...
* fix hls segmenter fmp4 on windows
* try to fix by using working directory
10 months ago
Jason Dove
036b6e63c7
add new graphics engine ( #2265 )
...
* spike new graphics engine
* fix remote watermarks; add graphics engine to vaapi
* add graphics engine to qsv
1 year ago
Jason Dove
8b12ee459a
fix transitions on nvidia, vaapi, qsv ( #2247 )
1 year ago
Jason Dove
b6ec16c6a7
fix transitions using nvidia accel ( #2244 )
1 year ago
Jason Dove
260949893c
fix some stream continuity issues ( #2186 )
1 year ago
Jason Dove
89b495dc90
qsv and pts fixes ( #2184 )
...
* try to fix qsv freezing
* update changelog
* fix unit tests
1 year ago
Jason Dove
578cdb1e14
add playback troubleshooting tool ( #2155 )
...
* support media info for more content types
* add playback troubleshooting page
* reorganize playback troubleshooting
* fix watermarks and delay
* update changelog
1 year ago
Jason Dove
7e30444857
dependencies and code cleanup ( #2117 )
...
* fix validation in new form layout
* pin mediatr to last oss version
* update dependencies
* cleanup code in core
* cleanup code in ffmpeg
* cleanup code in infra
* cleanup code in scanner
* cleanup code in application
* cleanup main code
* cleanup test code
* solution-wide code cleanup
1 year ago
Jason Dove
7c5137a4af
remove some decode threading limits ( #2103 )
1 year ago
Jason Dove
aeda5050d3
nvidia decoder fixes ( #2041 )
...
* replace FluentAssertions with Shouldly
* fix song transcoding tests
* only specify hwaccel when hardware decode is required
* update changelog
1 year ago
Jason Dove
ea46a7a5ca
add tonemap algorithm setting to ffmpeg profile ( #2039 )
1 year ago
Jason Dove
dad0662fa6
use libplacebo to tonemap with nvidia/vulkan ( #2029 )
1 year ago
Jason Dove
c8ec87b01f
add optional progress bar to generated song videos ( #1945 )
...
* optionally include progress bar in generated song video
* update progress bar size/location
* move everything up 10% when song progress is enabled
* add watermark border to song progress bar
* always show accurate progress bar
* lower progress bar to 90% alpha
* update changelog
2 years ago
Jason Dove
c8113bdf25
fix vaapi decoder capability check ( #1740 )
...
* fix decoder video profile check
* clarify changelog
2 years ago
Jason Dove
242a7ae382
add b-frames option to ffmpeg profile ( #1726 )
...
* add b-frames option to ffmpeg profile
* update dependencies
* cleanup
2 years ago
Jason Dove
b9a7ad2f5a
add video presets for nvenc, qsv, software h264 and hevc encoders ( #1688 )
...
* add video preset to ffmpeg profile
* add some hevc video presets
2 years ago
Jason Dove
35817f09ac
add hls segmenter v2 streaming mode ( #1620 )
...
* concat segmenter process kind of works
* segmenter v2 improvements
* rework to allow hw accel in concat segmenter
* remove shortest; use different audio alignment filter
* hls v2 improvements
* fix tests
* update changelog
2 years ago
Jason Dove
0550c60a78
allow older ffmpeg for testing ( #1485 )
...
* allow older ffmpeg for testing
* use proper option name
3 years ago
Jason Dove
c3fe263978
validate hardware accel, use hw accel for error messages ( #1471 )
...
* only display supported hw accels in ffmpeg profile editor
* qsv capability improvements
* qsv fixes
* update changelog
3 years ago
Jason Dove
e8bc051f73
transcoding improvements ( #1452 )
...
* use noautoscale with vaapi encoder
* only use one input file for vaapi with radeonsi driver
* fix vaapi 8-bit to 10-bit
* fix nvidia subtitle scaling
* optimize nvidia subtitle scaling
* fix test pgs subtitle
3 years ago
Jason Dove
58fae1b0cc
add crop scaling behavior ( #1443 )
...
* add scaling behavior - crop
* fix ffmpeg version check on windows (snapshot)
* update dependencies
3 years ago
Jason Dove
694b6bbd91
scaling behavior and normalize loudness ( #1439 )
...
* update changelog [no ci]
* add ffmpeg profile scaling behavior
* update dependencies
* add normalize loudness mode
* update changelog
3 years ago
Jason Dove
b16215fcd6
improve hls throttle ( #1434 )
...
* throttle using ffmpeg option
* update ffmpeg version
3 years ago
Jason Dove
245c4ec359
code analysis and cleanup ( #1411 )
...
* cleanup scanner project
* cleanup infrastructure projects
* cleanup ffmpeg project
* cleanup core project
* cleanup app project
* cleanup main project
* update dependencies
* code cleanup
3 years ago
Jason Dove
797d4005e2
replace moq with nsubstitute ( #1365 )
3 years ago
Jason Dove
6985826072
add mpeg-ts output format for hls direct ( #1310 )
3 years ago
Jason Dove
147ab6143d
hls direct mkv container ( #1292 )
...
* use mkv container for hls direct
* add setting for mp4/mkv container with hls direct
* cleanup
* update changelog
3 years ago
Jason Dove
aca441074e
subtitle improvements with hls direct ( #1290 )
...
* wip: hls direct subtitles
* convert picture subtitles with hls direct
* use mp4 for hls direct to support more codecs
* disable subtitle conversion in hls direct
* fix tests
* update changelog
3 years ago
Jason Dove
03df2a6c8a
overdue code cleanup ( #1271 )
3 years ago
Jason Dove
cf1552910a
limit hls direct streams to realtime speed ( #1237 )
3 years ago
Jason Dove
4d57ece30d
check ffmpeg for available decoders, filters, encoders ( #1183 )
...
* check ffmpeg for available decoders, filters, encoders
* revert csproj change
3 years ago
Jason Dove
9479806cb0
scanner refactoring and other cleanup ( #1082 )
...
* move subtitles provider into scanner
* move more stuff into scanner
* move nfo into scanner
* add scan subcommand
* fix a bunch of nfo build warnings
* more subcommands
* fix warnings
* cleanup logging
* remove unused code
* cleanup old ffmpeg stuff
* rename complex filter
* refactor wrapped segmenter
4 years ago
Jason Dove
a2274bca7b
detect vaapi capabilities ( #1051 )
...
* remove unused pipeline
* spike vaapi hardware capabilities
* more vaapi capabilities
* use proper vaapi driver
* update readme
* update dependencies
4 years ago
Jason Dove
325ef80951
normalize bit depth via new pipeline ( #1045 )
...
* fix subtitles test and nvidia subtitles
* new ffmpeg pipelines; software and nvidia
* partial qsv
* fix qsv
* fix software pipeline
* add vaapi pipeline
* fix qsv 10-bit h264 output
* nvidia fixes
* properly disable 10-bit h264 hardware encoders
* more nvidia fixes
* add video toolbox pipeline
4 years ago
Jason Dove
7439ded43d
normalize bit depth ( #1031 )
...
* normalize bit depth and color for nvenc
* fix hls direct
* update changelog
* add bit depth option to ffmpeg profile
4 years ago
Jason Dove
357dfee050
nvidia and software mode scaling improvements ( #965 )
...
* convert to square pixels before software scaling
* convert to square pixels in nvidia scale filter
* more scaling fixes; position watermark within padded content
* fix image subtitle scaling
* fix qsv scaling
* update dependencies
4 years ago
Jason Dove
9a4f772f53
fix image subtitle scaling ( #949 )
...
* properly scale image-based subtitles for nvidia and software
* fix vaapi image subtitle scaling
* fix qsv image subtitle scaling
* update changelog
4 years ago
Jason Dove
d669e8114b
more scaling fixes ( #948 )
...
* remove force_original_aspect_ratio from scale_cuda
* remove force_original_aspect_ratio from scale_cuda
* fix qsv scaling
* fix qsv scaling on linux
* fix vaapi scaling edge cases
* update changelog
4 years ago