Commit Graph

72 Commits

Author SHA1 Message Date
Martin Pulec
dcf882cc61 from_lavc_vid_conv: make iternal state opaque
Return just a pointer (that needs to be detroyed after that).

This is perhaps more convenient way and also it will allow eg. utlizing
GPU for the conversions.
2024-03-08 16:11:46 +01:00
Martin Pulec
ec09de4e4b tests: link FFmpeg tests only if avail 2023-08-09 16:08:32 +02:00
Martin Pulec
064a22793d test/test_aes.c: silence fscanf unused res warns 2023-08-09 16:08:31 +02:00
Martin Pulec
6c431eff87 Makefile: do not link unused files 2023-08-08 14:39:32 +02:00
Martin Pulec
93aeb59d9f fixed tests (rand48 compat removed in Win) 2023-08-02 11:21:10 +02:00
Martin Pulec
1ed549df4a separated some common root mod handling to host.cpp
The management of should_exit events should be also be shared with the
transcoding reflector that uses some parts that may depend upon this
functionality.

This is not purely a refactorization but slightly changes behavior,
namely the shared state cleanup is done in a destructor, not by
`uv.stop()` as it used to be.

see GH-307
2023-04-12 16:35:55 +02:00
Martin Pulec
a62f503100 skip net tests in GitHub CI
In ARM chroot, all other tests fail so it is perhaps better to bail out
in CI altogether.

This partially reverts commit 393b6f9eaf.
2023-03-15 15:33:46 +01:00
Martin Pulec
d2c00ff3f8 split utils/text to string.c and text.c 2023-03-14 13:21:12 +01:00
Martin Pulec
393b6f9eaf CI: do not skip net_udp test but not fail on mcast
Do not skip the whole net_udp test suite but rather only suppress the
multicast initialize fail in macOS runner.
2023-03-08 09:53:41 +01:00
Martin Pulec
d001bd18f9 run_tests: accept also --verbose param
Options can be passed to the long parameters, whereas to the short opt
it cannot.
2023-03-08 08:53:08 +01:00
Martin Pulec
86b54697af tests: be less verbose
With standard log level, the tests produce unnecessary warnings intended
mainly to main user, not a developer. So silence this by default to be
nicer (but allow '-V' option).
2023-03-07 16:36:51 +01:00
Martin Pulec
4c114d0b33 unify test API for old and new tests
return int -1 if test failed; 0 if succeeded; 1 if not applicable (but
not failed)

As the old and new tests are mostly compatible now, do not take
different approach handling both groups.
2023-03-07 16:04:36 +01:00
Martin Pulec
380e88d306 run_tests: error if specified test not found 2023-03-07 15:45:46 +01:00
Martin Pulec
56ecf79f06 removed remaning cppunit bits 2023-03-07 15:45:46 +01:00
Martin Pulec
84db4767bb rewritten all remaining tests without cppunit 2023-03-07 15:45:45 +01:00
Martin Pulec
8b61de68d9 adapted test/ff_codec_conversions_test to new API 2023-03-07 15:45:45 +01:00
Martin Pulec
33222ed79b unit tests: begin removing cppunit 2023-03-07 15:45:45 +01:00
Martin Pulec
0654e99744 decompress probe: use pixdesc to represent intern fmt
Use pixfmt_desc instead of codec_t for internal compression
representation. This better alignes eg. YUV 10-bit 4:4:4 which has been
deduced as Y416 and eg. for DeckLink, R12L was chosen because it was
thought to be 16 bit, not 10.

This fixes:

    uv -t testcard:codec=R10k -c libavcodec:encoder=libx265:yuv -d dummy:codec=decklink

being detected internally as Y416 and configured as R12L. Now it is
internally Y444_10 and output DeckLink would be configured to R10k.

Removed also params "lavd-use-10bit", "lavd-use-codec", which were
deprecated already some time and if can be replaced by
"decoder-use-codec" if needed.
2023-02-28 16:44:42 +01:00
Martin Pulec
c4c3ffd5dc lavc: fixed test
changed prototype of some functions:

- to_lavc_vid_conv - accept (char *) instead of (struct video_frame)
- get_av_pixfmt_details - (enum AVPixelFormat) instead of int

+ make to_lavc_vid_conv.c partially C++ compatible (I attempted first to
  include it as was it libavcodec.cpp), so leave it (just in case)
2023-02-21 10:28:04 +01:00
Martin Pulec
037d6bef64 fixed tests
broken by API change from last commit
2023-01-30 14:53:19 +01:00
Martin Pulec
90d2492d0d lavc: HAVE_<codec> replaced with <codec>_PRESENT
HAVE_YX macros are either defined or not to signalize feature XY
availability. The _PRESENT macro here has either value 1 or 0 but are
always defined.

+ mark parameters of apply_blacklist() as [[maybe_unused]]
2023-01-20 13:57:58 +01:00
Martin Pulec
a082cdaf12 CI tests: replace UG_SKIP_NET_TESTS with GITHUB_REPOSITORY
Automatically ignore network test errors (typically a multicast on mac
and in arm chroot) if run from CI.
2022-11-08 16:49:36 +01:00
Martin Pulec
a43b808388 support for encryption with wolfSSL
In addition to OpenSSL, wolfSSL can now be used.

+ renamed built-in MD5_CTX to MD5CTX not to interact with the library
  one
2022-11-03 14:12:48 +01:00
Martin Pulec
05aea72a3c moved some functions from misc to text
moved text-related functions from utils/misc to utils/text
2022-10-13 09:16:16 +02:00
Martin Pulec
dad032c7bb fixed libavcodec test
changed path of libavcodec/lavc_common
2022-08-18 14:58:39 +02:00
Martin Pulec
d5c721a649 cppunit: fixed missing ifdef 2022-06-06 11:06:07 +02:00
Martin Pulec
7b1837c668 video_codec: removed slow parameter from get_decoder_from_to 2022-05-30 15:38:48 +02:00
Martin Pulec
d66f336e1d video_codec: removed some more ext link
+ return vc_copylineRGB[A] for RGB->RGB and RGBA->RGBA instead of
  vc_memcpy - we cannot know if caller wants or doesn't want to use
  rgb-shifts other than default. Both implementations call vc_memcpy
  if s/he does
2022-05-30 15:38:47 +02:00
Martin Pulec
b1a7f2229a lavc split also to/from conv file
The combined file had ~3k lines which is quite too much.
2022-05-02 16:12:26 +02:00
Martin Pulec
d4841687c4 split libavcodec_common to multiple files
This allows use of libavcodec_common with eg. audio without to need to
include all the conversions burden.
2022-05-02 16:12:26 +02:00
Martin Pulec
a1a1e96b04 Fixed also P210 unit test 2022-04-11 13:39:04 +02:00
Martin Pulec
b8b11a092a P210 test compat
complatibility with FFmpeg not supporting P210 pixel format
2022-04-05 12:39:05 +02:00
Martin Pulec
6649f88416 ff_codec_conversions_test: small fixes 2022-04-04 13:45:16 +02:00
Martin Pulec
2b0c10ecd1 unit tests: print running unit test name
+ output with standard error
2022-04-04 13:44:47 +02:00
Martin Pulec
ba267b00ed ff_codec_conversions_test: print alloc error 2022-04-01 15:52:04 +02:00
Martin Pulec
1f0b841e11 fixed test warnings 2022-04-01 13:28:10 +02:00
Martin Pulec
0e89cdea2c Fixed AV_PIX_FMT_P010LE->v210 conversion
- it used only 8 bits and perhaps it didn't work at all
- also there was missing shift for last Y in v210 block
2022-03-29 16:22:42 +02:00
Martin Pulec
1103e248d1 Added AV_PIX_FMT_P210LE<->v210 conversions 2022-03-29 16:22:41 +02:00
Martin Pulec
b1bc866d7f mist_test.cpp: ignore false positive clang warning 2022-03-18 08:52:32 +01:00
Martin Pulec
91d5054677 configure, config_unix.h: removed some obsolete includes/checks 2022-03-02 11:24:02 +01:00
Martin Pulec
f62e04d15f fixed replace_all()
In response to Coverity CID 383367 - it is perhaps false positive but
there has been another small bug - the step should be length of to, not
from (which may be longer).

+ written a test for it
2022-02-21 15:32:00 +01:00
Martin Pulec
8e133a88d2 get_framerate_test: fixed wrong guard + ext 2022-02-21 15:31:38 +01:00
Martin Pulec
a231561131 ff_codec_conversions_test.cpp : R10k no longer exists 2022-01-26 08:22:42 +01:00
Martin Pulec
8ec7b7dca0 fixed tests: toI420 is now static + fixed a warn 2022-01-26 08:22:42 +01:00
Martin Pulec
49208387da main: moved getopt parsing to a separate function 2021-07-09 10:20:13 +02:00
Martin Pulec
613c62bf54 Lavc: fixed get_decoder_from_uv_to_uv
Improved UG decoder selection in get_decoder_from_uv_to_uv - now is
selected nearest better codec.

+ written a test for the above
2021-05-25 10:11:30 +02:00
Martin Pulec
9a3412fdd5 Libavcodec conversions: use 14-bit precision coefs
This yields precision ~12 bit precision but avoids integer overflows.
2021-05-14 13:56:44 +02:00
Martin Pulec
77bb2ae18f Test RG48: allow custom image
+ fixes
2021-05-14 13:30:29 +02:00
Martin Pulec
620eb6581e Unit test: added FF RG48 out-of-range check 2021-05-14 13:30:09 +02:00
Martin Pulec
1a09526980 ff_codec_conversions_test::test_yuv444p16le_from_to_rg48 updates
- headrooms as a constant
- check if output is within the range
2021-05-13 14:33:05 +02:00