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
b86f45844c
add health check to verify ffmpeg capabilities (filters) ( #2798 )
...
* add health check to verify ffmpeg capabilities (filters)
* fix loudnorm
6 months ago
Jason Dove
f9e4c4d386
improve build time by only running analyzers explicitly ( #2710 )
...
* improve build time by only running analyzers explicitly
* don't exclude scanner from analyzers
* Revert "don't exclude scanner from analyzers"
This reverts commit d927f9850a .
* fix sed syntax for linux
8 months ago
Jason Dove
b45c22092d
fix startup on systems unsupported by nvencsharp ( #2678 )
8 months ago
Jason Dove
bd7fd8984c
fix 10-bit decoding with amd polaris ( #2653 )
...
* fix color conversion on amd polaris
* try software decode for polaris
* update changelog
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
ffe15629cb
consolidate streaming modes ( #2544 )
...
* consolidate segmenters
* let old segmenter mode query params continue to work
10 months ago
Jason Dove
dd92a65742
more nvidia capabilities safety ( #2509 )
10 months ago
Jason Dove
b820b798cb
use nvenc to detect encoder capability ( #2459 )
10 months ago
Peter Dey
d855e4f20d
Add initial support for Rockchip Media Process Platform (rkmpp) hardware acceleration ( #2418 )
...
* Add Rockchip Media Process Platform (rkmpp) acceleration
* remove fourcc stuff; it's exclusive to videotoolbox
* update changelog
---------
Co-authored-by: Jason Dove <1695733+jasongdove@users.noreply.github.com>
11 months ago
Jason Dove
307b9dadd2
partial v4l2m2m accel support ( #2416 )
...
* start to add v4l2m2m accel
* add v4l2m2m pipeline
* add encoders
* fix decoders and encoders
* output software frames from decoders
* more buffers
* hide v4l2m2m from ui
11 months ago
Jason Dove
5d081ceeff
fix editorconfig and run code cleanup ( #2324 )
...
* fix formatting rules
* reformat ersatztv
* reformat ersatztv.application
* reformat ersatztv.core
* refactor ersatztv.core.tests
* reformat ersatztv.ffmpeg
* reformat ersatztv.ffmpeg.tests
* reformat ersatztv.infrastructure
* cleanup infra mysql
* cleanup infra sqlite
* cleanup infra tests
* cleanup ersatztv.scanner
* cleanup ersatztv.scanner.tests
* sln cleanup
* update dependencies
12 months ago
Jason Dove
8921273900
detect some videotoolbox decoders ( #2240 )
1 year ago
Jason Dove
0489741123
add videotoolbox capabilities ( #2239 )
...
* implement videotoolbox hardware capabilities
* add videotoolbox troubleshooting info
* update changelog
1 year ago
Jason Dove
837f824660
include hardware info in troubleshooting archive ( #2159 )
...
* add cpu and gpu info to troubleshooting general
* include capabilities in troubleshooting archive
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
f6dcaf9108
fix qsv audio sync ( #2090 )
1 year ago
Jason Dove
4f085c1950
fix detecting nvidia capabilities on blackwell gpus ( #2030 )
1 year ago
Jason Dove
375a306edc
fix vaapi capabilities detection when display is not drm ( #1949 )
...
* fix vainfo device syntax
* update logging
* don't pass vaapi_device when display is not drm
* fix hw accel
* proper accel fix
* Revert "proper accel fix"
This reverts commit 5dbadb1f79 .
* Revert "fix hw accel"
This reverts commit b6b132d7b9 .
* Revert "don't pass vaapi_device when display is not drm"
This reverts commit 0459210718 .
* still show vaapi device
2 years ago
Jason Dove
759052c725
add vaapi display option to ffmpeg profile ( #1948 )
...
* add vaapi display option
* fix vaapi capabilities cache key
* update logging
2 years ago
Jason Dove
6923b25177
add more log level switches ( #1582 )
...
* label block and json playouts as experimental
* add more log level switches
3 years ago
Jason Dove
c18be5559b
fix delete old segments ( #1536 )
...
* code cleanup
* ignore errors deleting old hls segments
3 years ago
Jason Dove
9471cb55dd
upgrade from dotnet 7 to dotnet 8 ( #1529 )
...
* upgrade sdk
* fix warnings in ersatztv.ffmpeg
* fix warnings in ersatztv.core
* fix warnings in ersatztv.infrastructure
* fix warnings in ersatztv.application
* disable analysis for migrations projects
* fix warnings in ersatztv.scanner
* fix warnings in ersatztv
* upgrade project framework
* update github actions and dockerfiles
3 years ago
Jason Dove
14a88bd225
optimize ffmpeg capability cache ( #1486 )
...
* minimize cached ffmpeg capabilities
* use set intersect
* try disabling work ahead on nvidia/windows
3 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
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
52e1874426
vaapi cqp rate control mode ( #1319 )
3 years ago
Jason Dove
03df2a6c8a
overdue code cleanup ( #1271 )
3 years ago
Jason Dove
17dcbfc344
add troubleshooting page ( #1206 )
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
0fc1e15cac
colorspace fixes; song playback fixes ( #1072 )
...
* fix colorspace bug, vaapi song playback
* more colorspace fixes, nvidia fixes
* nvidia colorspace fixes
* fix some qsv output color metadata
* update changelog
* update changelog
4 years ago
Jason Dove
93673fce03
add more logging to vaapi capabilities detection ( #1059 )
4 years ago
Jason Dove
a4fc1f1c6f
upgrade to dotnet 7, ffmpeg 5.1.2 ( #1058 )
...
* wip
* update dockerfiles
* more net6 to net7
* update dependencies
* update builds
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
3abf310a3b
add amf pipeline ( #1048 )
4 years ago
Jason Dove
4176df9940
fix nvidia capabilities for second-gen maxwell ( #899 )
4 years ago
Jason Dove
dd7f77751c
detect nvidia capabilities ( #853 )
...
* fallback to software codecs for old nvidia cards
* update dependencies
4 years ago