Commit Graph

7078 Commits

Author SHA1 Message Date
Martin Pulec
fa8f3c64be fixed vc_copylineV210toY216 conversion 2023-01-02 15:08:27 +01:00
Martin Pulec
93e8d77a34 lavc: set default QSV preset for all codecs
eg. hevc_qsv, not only h264_qsv
2023-01-02 12:02:14 +01:00
Martin Pulec
d3dbe090f4 fixed qsv encode fail
null string pointer was passed for look_ahead instead of zero

Removed the option altogether since it is 1. not supported for hevc_qsv
and 2. default for h264_qsv in FFmpeg since 2018-03-01 (commit 0645698).
2023-01-02 11:50:51 +01:00
Martin Pulec
9dcceaf3f3 CI: pass GITHUB_TOKEN to bypass rate limiting
see https://github.com/MartinPulec/UltraGrid/actions/runs/3821590834/jobs/6500891823
2023-01-02 11:18:04 +01:00
Martin Pulec
7d033195b3 AppRun,create-appimage.sh: added missing expr redirections 2023-01-02 10:44:31 +01:00
Martin Pulec
4f7c37ca97 AppImage: fixed appimageupdate not running on U22.04
llibfuse2 is missing there
2023-01-02 10:27:20 +01:00
Martin Piatka
10d5350598 pano_gl: Add generic fps reporting 2022-12-14 13:43:28 +01:00
Martin Piatka
7fc086c469 unix_sock disp: Use generic fps reporting 2022-12-14 13:34:48 +01:00
Martin Piatka
c6f9c44b5c fps indicator color fix
Fixes 5433765b4
2022-12-14 13:27:35 +01:00
Martin Piatka
23c83f78e8 audio filters: discard & stats: Zero initialize members 2022-12-14 12:40:30 +01:00
Martin Pulec
97c8eed6a4 CI Coverity: fix build abortion
see https://github.com/MartinPulec/UltraGrid/actions/runs/3658131620/jobs/6182827419

For Vulkan, the memory exhaustion perhaps occurs, thus use only one
concurrent process to build.
2022-12-09 17:16:58 +01:00
Martin Pulec
6bdbf6ff58 CI: avoid missing debhelper-compat(=12) on U20.04
see failed run https://github.com/CESNET/UltraGrid/actions/runs/3657908562

See also 438dbfa4 - `aptitude build-dep` for whatever reason fails on GH
CI ON installation of debhelper-compat(=12), which is a virtual package
provided by debhelper, apt doesn't.

log:

    + sudo aptitude -y build-dep libsdl2-mixer libsdl2-ttf libsdl2-dev:
    [...]
    Building tag database...
    Unable to apply some actions, aborting
    Unable to satisfy the build-depends: Build-Depends: debhelper-compat (= 12)
2022-12-09 17:16:57 +01:00
Martin Pulec
38c3c195fc UltraGrid 1.8 v1.8 2022-12-09 14:08:12 +01:00
Martin Pulec
3c57f67919 UG 1.8 branding
version text color + splashscreen
2022-12-09 14:08:12 +01:00
Martin Pulec
9dc2c8f8f3 testcard: summary - print rather bpc than bpp
bpp represented rather the container size, so both for RGBA and R10k it
was 32 b (and eg. for v210 21.33 instead of actual 20). bpc (bit depth
per component) seems to be more comprehensible value.
2022-12-09 12:47:30 +01:00
Martin Pulec
6b87da86b5 AV_CODEC_CAP_OTHER_THREADS compat
AV_CODEC_CAP_OTHER_THREADS was AV_CODEC_CAP_AUTO_THREADS in older
libavcodec versions.
2022-12-09 12:09:43 +01:00
Martin Pulec
bfe2ee4255 CI Linux FFmpeg: add openVPL
refer to GH-270
2022-12-09 10:52:07 +01:00
Martin Pulec
5afbd5c1ef added fallback yuv444p12le_to_uyvy 2022-12-08 16:18:08 +01:00
Martin Pulec
dabcc0c6f7 added convs from AV_PIX_FMT_YUV444P12LE to Y416,v210
+ added missing always_inline attributes
2022-12-08 16:13:54 +01:00
Martin Pulec
f99e011417 added yuv444p16le_to_y416
refers to GH-275
2022-12-08 14:29:06 +01:00
Martin Pulec
9753112d42 updated NEWS 2022-12-08 13:34:57 +01:00
Martin Pulec
d3130c0038 color_out: added dark yellow
+ helper macros for normal yellow
2022-12-08 10:43:10 +01:00
Martin Pulec
df235228cd vulkan: use Vulkan in window name instead of SDL2 2022-12-07 14:20:50 +01:00
Martin Pulec
6e4e85d6db crop: prefer "size" than width/height
Added option "size" instead of separate "widht"/"height". Both
dimensions need to be entered, anyway, so it is not needed to type more
characters than necessary.

Width/height param is parsing is left for compatibility (for now).
2022-12-07 12:39:50 +01:00
Martin Pulec
b61d7ddf37 lavd: added/fixed aligntment assertions 2022-12-07 12:39:49 +01:00
Martin Pulec
04cd6d4651 added yuv444p10le_to_y416
+ announce Y416 lavd conversions (to Y416 and internal Y416)

closes GH-275
2022-12-07 12:39:49 +01:00
Martin Pulec
ae70df176d dummy display: small refactor (fmt parse func)
+ missing includes
+ check codec array overflow
2022-12-07 12:39:49 +01:00
Martin Pulec
fd9821dc75 dummy disp: allow multiple codecs for "codec" opt 2022-12-07 12:39:49 +01:00
Martin Pulec
ffcf7d3117 vulkan yuv->rgb conv: mark coefs as BT.709
The values were marked as a placehoolder (as in GL) but are constants
here, namely BT.709 so rename it as such.
2022-12-07 12:39:43 +01:00
Martin Piatka
f213c0649f lavd: Add initial nvdec support
Note that only copy mode is supported right now - meaning that decoded
frames are copied from the GPU to the system memory. For simpler codecs
like H.264 this could actually be slower than sw. decoding. VDPAU is
probably still a better choice for codecs supported by it.

Right now ffmpeg prioritizes vdpau, so this will get selected only when
vdpau is unavailable or fails to initialize.
2022-12-06 15:54:24 +01:00
Martin Pulec
b22318634d lavc NVENC: use param lavc-rc-buffer-size-factor if set
+ hint
2022-12-06 15:48:10 +01:00
Martin Pulec
19aaeeb3c8 fixed a crash of vidcaps with own FPS indicator 2022-12-06 15:00:55 +01:00
Martin Pulec
06f74f7592 lavc NVENC: warn if FFmpeg is not patched 2022-12-06 14:27:06 +01:00
Martin Pulec
419afb0977 lavd: set GPU if decoder is cuvid 2022-12-06 12:05:30 +01:00
Martin Pulec
63279eed7e lavd: removed unneeded repeated zeroing
already zero-initialized
2022-12-06 10:02:02 +01:00
Martin Pulec
e5cbb2a175 lavd: print similiar performance hint as lavc 2022-12-06 09:55:39 +01:00
Martin Pulec
b17dad13f9 lavc: allow option listing also for decoders 2022-12-06 08:47:52 +01:00
Martin Pulec
f029f465a1 lavd: removed unused member 2022-12-05 16:04:06 +01:00
Martin Pulec
c48b614cdc lavc: simplify also rest of opts 2022-12-05 16:04:03 +01:00
Martin Pulec
fcb87b6b4d lavc: add a hint to increase throughput
If the compression cannot make it, print a hint that would perhaps
increase a latence and thus is not enabled by default.

As as consequence of that, set NVENC delay to 0 again to be consistent
with the other compressions (latency preferred).
2022-12-05 15:36:54 +01:00
Martin Pulec
2f01fbc323 lavc: do not suggest frame threads if not avail. 2022-12-05 14:54:46 +01:00
Martin Pulec
fd15d5f9bf lavc opt setting simplified
use predefined error-checking function
2022-12-05 14:54:03 +01:00
Martin Pulec
f2884aeec0 testcard: bpp should be in bits not bytes 2022-12-05 12:22:58 +01:00
Martin Pulec
0d52f02ccf fixed hevc_nvenc AppImage not working on Pascals
The bug is induced by upstream FFmpeg changes, in particular:

    28680e2f41

Supposedly "disabled" is the only supported b_ref_mode for Pascal cards
and it fails if not set (set otherwise). We don't use B-frames at all so
it can be disabled by default, anyways.

closes GH-273
2022-12-05 11:56:56 +01:00
Martin Pulec
dd5fda2f1a get_ug_codec_to_av: prefer first AV codecs
If earlier codec is convertible, use this. In other words, prefer first
codecs, not those most easily convertible.

The point is, that the list passed to get_format lavd callback is
usually ordered from best codecs so we want to keep it.

It also fixes a "regression" from 4c5cf6f2 (given by the different
selection schemes in original and the replacement):

   uv -t testcard:codec=R12L -c libavcodec:encoder=libsvt_hevc -d dummy \
        --param force-lavd-decoder=libde265 -V

decoding YUYV, not v210 (from AVPixelFomat AV_PIX_FMT_YUV444P10LE)
2022-12-02 15:26:55 +01:00
Martin Pulec
63043e2f26 lavc: allow to set also nr of converion threads 2022-12-02 14:12:11 +01:00
Martin Pulec
4c5cf6f2be lavd simplified 2022-12-02 13:43:26 +01:00
Martin Pulec
18b47e7f85 lavd probe fixes
Fixed incorrectly selected UYVY with following command:

    uv -t testcard:codec=R12L -c libavcodec:encoder=hevc_nvenc --param force-lavd-decoder=hevc_cuvid -d dummy -V

There were 2 problems:

1. probed codec should be returned after first successful decoded frame
   because in the above case, the decoder offers nv12 via get_frame
   callback first and it changes later to yuv444p16le if decoding
   continues and succeeds (see also 2.)

2. get_format_callback() returned VIDEO_CODDC_NONE on probe but that
   caused subsequent initialization of 'hevc' decoder (because lavd
   thought that it failed). Because of that, the probe couldn't have
   proceeded.

After the changes, the probed format is R10k (correct for now -
get_best_ug_codec_to_av({AV_PIX_FMT_YUV444P16, 0}, 0) returns R10k).
2022-12-02 12:25:36 +01:00
Martin Pulec
fb0729bb6e AppRun: do not mount /tmp RO if will be written 2022-12-02 11:18:12 +01:00
Martin Pulec
a2b0105001 PAM/Y4M utils: move implementation to .c file 2022-12-02 11:15:21 +01:00