GPUJPEG commit 06f18868b message:
````
gpujpeg_reader spiff: directory read fix+updates
- FIXED: skipping content the dir entries other than EOD (+ early returns)
- pass the complete length, not -2 (it is misleading)
- length check - increase from 6 (4+2) to 8 - T.84 says ELEN should be at
least 8 (seems that EDATA should be at least 2 bytes)
```
Improves the commint 4682cf65 (2024-08-19) allowing also the capture
filter to be specified both before and after the vcap (if only one
used), eg. `-F flip -t testcard -F mirror`.
Set the bitrate only if >0. Do not set if neither set explicitly nor by
the codec preset - eg. for APV avg_bpp is intentionally set to 0. The
libopenapv uses CQP by default and setting the bitrate explicitly
disables that.
Note that this setting doesn't do anything important - setting the
AVCodecContext::bitrate to 0 does nothing. This change is avoid displaying
"Setting bitrate to 0.0 bps." message.
setparam callback is free to alter the copy, which is then used for the
actual setting.
blacklist_opts is therefore no longer needed - the formerly blacklisted
option can now be erased from the lavc_opts copy directly.
not all compat/ headers are marked as exporting, 2 reasons:
- some compat define own symbols, like platform_semafore or aligned_malloc
(not _alloc as in C11)
- some headers are too generic to export all symbols, eg. unistd.h
or windows.h
The includer needs no longer use IWYU pragmas for strcasecmp in *NIX.
In Windows, _stricmp is defined in string.h, which is not currently
exported (it contains more symbols so it isn't specific enough, in
contrary to POSIX strings.h which contains just strcasecmp and ffs
family).
The original sample code uses cascadding if-ladder evaluating Result. The
derived code was just slightly derived but it was maybe even worse because
the error handling (message) was coupled in one if/else with subsequent
API call.
This is mostly a refactor but:
1. two-times VHD_DV_SP_REFRESH_RATE removed
2. perhaps fixed misaligned error message prints to wrong calls, eg. when
board type was not HDMI, the error was print even though the previous
call didn't fail (but continued, anyways)
- delta_board_type_is_dv takes the VHD_BOARD_TYPE now
- to acquire the type from board index, delta_get_board_type() is now
externally linked
- delta_board_type_is_dv: handle types with switch (compiler warns about
unhandled enum values)
- changed compat macros a bit (works at least for VHD 5.19, 6.{19,20,21,30,32})
HDMI/DP devices are listed in the card list (and vice versa - SDI in
deltacast-dv) but are not handled so make at least a notice about that.
Doesn't seem to be necessary for deltacast-dv (from the namw the
specialization is more clear).
+ removed excess NL after card listings
- add to vidcap in the same way as to capture (via common function)
- in both display and vidcap use generic indicator
- increase the report interval to 20 seconds - 5 s is perhaps to
much disturbing if the card is dropping all the time
- handle also new channel types like VHD_CHNTYPE_12GSDI[_ASI]
- moved the above to common fn (used also in vcap)
- handle (print) dropped frames
- use dedicated function for FPS printout (although not a generic FPS
indicator yet)
- uint:1 to bool
- do not zero already zero-initialized struct members
- set play_audio in one expression
- use DELTA_PRINT_ERROR for better printout (textual err representation)
- magic is now FourCC
- board index rn s/i/BoardIndex/; s/board/board_type/
- s/NULL/nullptr/
- use DELTA_PRINT_ERROR
- close board handle if returning prematurely
- use color_printf instead of col() and LOG->MSG (personal taste)
With VHD 6.3x and above, use VHD_BOARDTYPE_ToPrettyString() to support
also new types without having to manually manage the list, eg.:
- VHD_BOARDTYPE_MIXEDINTERFACE
- VHD_BOARDTYPE_FLEX_DEPRECATED
- VHD_BOARDTYPE_ASI
- VHD_BOARDTYPE_IP
- VHD_BOARDTYPE_HDMI20
- VHD_BOARDTYPE_FLEX_DP
- VHD_BOARDTYPE_FLEX_SDI
- VHD_BOARDTYPE_12G
- VHD_BOARDTYPE_FLEX_HMI
- removed wild VHD_SetBoardProperty (most likely by mistkae)
- for s->channel, it was set to FALSE, should be TRUE
- for quad-link, deduce subsequent channel idx (if the first is not 0)