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
3e3bfbd5f5
use heuristic to work around some qsv av desync cases ( #2829 )
...
* check for multiple h264 profiles using qsv decoding
* fix build
* update changelog
* pass cancellation token
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
8575ab5c32
fix bt2020 playback ( #2714 )
...
* fix bt2020 playback
* update pixel format
* update changelog
8 months ago
Jason Dove
54606c76f9
framerate improvements ( #2692 )
...
* framerate improvements
* fixes
8 months ago
Jason Dove
82e0fcaec8
maintain source fps when using qsv ( #2558 )
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
a33ac4a048
fix qsv audio sync ( #2542 )
...
* fix qsv audio sync
* cast a wider net
* always reset qsv pts
10 months ago
Jason Dove
287adc34b5
add qsv av1 encoder ( #2471 )
10 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
0e7ec6e3b9
fix qsv transitions when remote streaming ( #2291 )
12 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
6c6ccfa94b
fix seeking with text subtitles ( #2214 )
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
74d6b32828
change how qsv is initialized on windows ( #2183 )
1 year ago
Jason Dove
beaaa62ed9
fix nvidia edge case with missing bit depth info ( #2123 )
...
* fix nvidia edge case with missing bit depth info
* revert docker-compose changes
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
ea46a7a5ca
add tonemap algorithm setting to ffmpeg profile ( #2039 )
1 year ago
Jason Dove
4a59dafe51
optimize tonemapping performance ( #2037 )
...
* add env var to disable vulkan
* tonemap after scaling
* vulkan tonemapping still needs to happen before scaling
1 year ago
Jason Dove
d82ccf8fb5
use hardware-accelerated tonemapping with qsv ( #2034 )
...
* add tonemap for qsv
* update changelog
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
6858103be5
fix transcoding 10-bit source content using qsv on windows ( #1762 )
2 years ago
Jason Dove
c8113bdf25
fix vaapi decoder capability check ( #1740 )
...
* fix decoder video profile check
* clarify changelog
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
c1d6ddcc57
add h264 profile option to ffmpeg profile ( #1686 )
...
* add video profile for nvenc/software h264 encoders
* add h264 profile for all other encoders
* update changelog
2 years ago
Jason Dove
087901d177
adjust block unique constraint ( #1634 )
...
* upgrade dependencies
* allow blocks with same name in different groups
* code cleanup
2 years ago
Jason Dove
70c4036dc9
fix ten bit source and destination with segmenter v2 ( #1633 )
...
* fix software and vaapi 10 bit content
* fix nvidia 10 bit content
* some qsv improvements
2 years ago
Jason Dove
6957a76156
fix concat segmenter for nvidia and qsv ( #1622 )
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
9587692486
optimize image playback ( #1609 )
3 years ago
Jason Dove
5e530b9301
fix scale behavior crop with qsv ( #1546 )
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
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
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
f945f16d97
fix qsv subtitle scaling ( #1367 )
3 years ago
Jason Dove
f929dc92d1
update dependencies; code cleanup ( #1357 )
...
* update dependencies
* code cleanup
3 years ago
Jason Dove
7a25996ab4
scale subtitles with all accels ( #1311 )
...
* properly scale subtitles with qsv and vaapi
* fixes
3 years ago
Jason Dove
03df2a6c8a
overdue code cleanup ( #1271 )
3 years ago
Jason Dove
afb2caa95d
fix qsv watermark alpha ( #1239 )
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
1afff11063
software decoder fixes ( #1169 )
...
* fix software decoder pipeline bugs
* tweak nvidia scaling logic
* update changelog
* update dependencies
3 years ago
Jason Dove
2689a67eb8
qsv and vaapi fixes ( #1139 )
...
* lots of qsv fixes
* update changelog
* fix qsv mpeg2
* vaapi fixes
* update changelog
* upgrade mudblazor
* fix bug with undefined input colorspace
4 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
d2040eaac9
pipeline fixes when colorspace filter is used ( #1068 )
...
* fix colorspace filter with missing input transfer or input primaries
* properly download before applying colorspace filter
* fix extra hwupload/hwdownload with nvidia pipeline
* colorspace tests
* update dependencies
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
cd0f1e98cc
fix qsv color normalization ( #1046 )
4 years ago