Commit Graph

75 Commits

Author SHA1 Message Date
Martin Pulec
52b9ed2554 testcard/pattern: rename pixel_bars to strips + w=10
Renamed pixel_bars to strips - the original name is not much descriptive -
pixels indicated 1 pixel width, which is not necessarily true, bars
(=vertical) isn't the default mode. Also not much distinctive (there
are other "bars").

Set also the default width to 10 - actually, the original width 1 is
better for troubleshooting compressions etc. But 10 is a visually more
appealing as a default and for the original use, the with can be set
explictily.
2024-09-04 11:58:17 +02:00
Martin Pulec
3a4c13f2d1 testcard/pattern/pixel_bars: add white/gray/black
may help in some troubleshooting
2024-09-04 11:56:20 +02:00
Martin Pulec
fe77b42a1e testcard/pattern/pixel_bars: added strip width opt 2024-09-04 11:08:12 +02:00
Martin Pulec
33675df8f6 pattern pixel_{rows,column}: add diagonal+rename
- added diagonal variant
- rename to pixel_bars again (we now have 3 flavors, but are related).

vertical/horizontal/diagonal is now an option
2024-09-03 16:41:49 +02:00
Martin Pulec
6e42db0bed image_pattern_pixel_bars: allow also rows
+ bars rename to columns
2024-09-03 14:54:56 +02:00
Martin Pulec
66e7b23f2c video_pattern_generator/interlaced: check width 2024-09-03 14:54:56 +02:00
Martin Pulec
c9aef86c40 video_pattern_generator/interlaced: alloc inc MAX_PADDING 2024-09-03 14:54:56 +02:00
Martin Pulec
0e7b990d2b video_pattern_generator usage: reformat
as the number of of patterns grew, it became a bit messy
2024-09-03 14:54:56 +02:00
Martin Pulec
0466ef87a8 video_pattern_generator: new pattern pixel_bars
makes the bars as the default pattern, but width is set to 1 pixel
(and repeated).
2024-09-03 14:54:56 +02:00
Martin Pulec
0df55a477f testcard/pattern=blank: print inline help 2024-09-03 09:14:15 +02:00
Martin Pulec
04beae7c2d fixed some clang-tidy complains 2024-04-26 16:48:56 +02:00
Martin Pulec
80281c5c07 older compiler compat - rm array type deduction
Removed array template arguments deduction. Is not supported eg. by
clang 10 on macOS (Xcode 10.1) - perhaps not a big deal but the fix is
quite undemanding.
2024-04-26 14:38:39 +02:00
Martin Pulec
3708bd74ea fixed VLAs in C++ files
see commit @{2} description
2024-03-25 15:29:10 +01:00
Martin Piatka
dd57e4ab86 testcard: diagonal pattern: Fix writing past bound 2023-11-21 13:33:03 +01:00
Martin Piatka
9b1f2fea70 testcard: Add diagonal pattern generator 2023-11-14 14:37:55 +01:00
Martin Pulec
c14ad5f95e pixfmt_conv.h: small doxy update
\+ added some direct pixfmt_conv.h includes (in attempt to remove its
inclusion from video_codec.h, which finally didn't take place but still
it is better to include this directly)
2023-11-13 10:27:09 +01:00
Martin Pulec
fa3a69473c video_pattern_generator can have C API 2023-05-19 08:53:17 +02:00
Martin Pulec
841b254946 testcard pattern gray: fixed noopt usage
calling `-t testcard:pattern=gray` (without explicit step) result in
error

+ wrong usage (should be `gray[=step]`, not `gray[:step]`
2023-05-17 11:42:05 +02:00
Martin Pulec
04a0bf581b removed ATTRIBUTE macros
This was unnecessary compat macro, since we always build with a compiler
that understands __attribute__ except of the AJA module in MSW, which
uses MSVC compiler
2023-05-02 15:22:55 +02:00
Martin Pulec
170c50f7ab testcard: added interlaced pattern 2023-04-24 09:53:00 +02:00
Martin Pulec
e338ca2f55 video_pattern_generator: split config to pattern+opts first 2023-04-21 14:20:35 +02:00
Martin Pulec
27dc4c6a92 macOS warning fixes 2023-02-21 09:52:58 +01:00
Martin Pulec
86ae693117 text textcard pattern: updates
- accept bg/fg options without need to alter (default) text
- print error on wrong option
- use #CC00CC (pink) - although looking less decent, the subsampling
  artifacts should be more observalble with this color
2023-02-10 11:52:40 +01:00
Martin Pulec
cac1d11190 updated copyrights of files changed in 2023 2023-02-09 09:19:50 +01:00
Martin Pulec
7d8cf2db14 added text testcard pattern
- print printable ASCII characters
- choosed default colors such that 4:2:2 subsampling is observable
2023-02-08 12:49:12 +01:00
Martin Pulec
16659b61ea added simple bitmap font + function to draw RGBA
+ option to annotatne testcard bars
2023-02-08 12:49:12 +01:00
Martin Pulec
7c5e286834 video_pattern_generator: catch errors + init noexcept
The out of bound access in previous commit was silently suppressed
because the exception was passed and catch(...) didn't print anything.

- init is now noexcept
- while still letting catch(...) without err msg, because when int is
  thrown, it is expected that thrower has already printed a cause (or
  help), catch std::exception
2023-02-07 09:45:49 +01:00
Martin Pulec
a541bcddf5 image_pattern_generator: fixed EBU/SMPTE patters
- EBU didn't work at all (out of bounds access)
- last column of SMPTE pattern has full luminance but should have .75%
2023-02-07 09:45:49 +01:00
Martin Pulec
d374a52f3d testcard blank: accept 0xFFFFFFFF pattern 2023-01-30 16:09:23 +01:00
Martin Pulec
481cc66821 video_pattern_generator: log "Fill rect" as debug
+ use logger where there hasn't been

The messages are not particulary useful and produce higher number of
lines on init so it would be better to use debug level.
2023-01-13 16:24:48 +01:00
Martin Pulec
2d20a63487 gray image pattern: allow also alternative spelling 2022-11-28 16:37:23 +01:00
Martin Pulec
cd51c3b831 testcard gray pattern: decrease default step to 1
The previous value 16 was too much fast (one iteration lasted only 16
frames) which was even unsuitable for latency evaluation for higher
latency compressions.

With the value 1, the latency can be directy read from difference of
luma on subsequent lines.
2022-11-28 12:01:58 +01:00
Martin Pulec
c97bf2bcea testcard gray pattern: added option for color step 2022-11-28 11:36:14 +01:00
Martin Pulec
9de21a236c video_pattern_generator: fixed 1st px overwrite
- fixed overwritting own data for very first pixel of image in rgba->rg48
  conversion
2022-11-04 16:50:59 +01:00
Martin Pulec
1e50d51e11 replaced unqualified move with std::move
to avoid this clang warning: https://reviews.llvm.org/D119670
2022-10-18 09:21:50 +02:00
Martin Pulec
d5728f5669 testcard uv_plane: set default level to 0.5 2022-09-19 14:34:24 +02:00
Martin Pulec
08aac6798d testcard uv_plane: fixed compution of level 2022-09-19 14:34:08 +02:00
Martin Pulec
7737a4f878 replace some color_out macros with stream-oriented
For ostreams, the stream macros are prefered both over raw escape
sequence macros (guarantee style/color termination) and function-like
ones in form T<PROP>(), because it allows also different argument than
C string literal.
2022-08-24 16:12:36 +02:00
Martin Pulec
b1f0e004f4 fixed new Coverity bugs
Fixed some of (easy) newly detected Coverity bugs. Those are mostly
innocent ones (performance) and not new (detected because of new release
of Coverity).
2022-08-22 09:57:16 +02:00
Martin Pulec
cb3618af85 video pattern generator: list only >8-bit pixfmts
List only higher bit-dept pixel formats instead of full to which also
8-bit codecs counted.
2022-08-15 16:23:11 +02:00
Martin Pulec
fc6087180a image generator gradient: generate full depth as well 2022-08-15 16:06:23 +02:00
Martin Pulec
984bd9dfd6 image generator: help - note that gradient2 also has options 2022-08-15 15:21:40 +02:00
Martin Pulec
21129d7fcb image generators: unified initialization
- either nothing or string passed to constructor
- disallowed omitting "blank" when color with "blank=<color>" given
2022-08-15 15:12:54 +02:00
Martin Pulec
edad146aeb added testcard pattern uv_plane 2022-08-15 15:11:57 +02:00
Martin Pulec
6e3133a6e6 image generator: help updated
highlight pattern names + use new color API
2022-08-15 15:10:40 +02:00
Martin Pulec
04c2d245d0 fixed Win compile warnings (from CI) 2022-08-11 10:42:45 +02:00
Martin Pulec
26a739dc6b testcard gray: preinit frames
Generating frames on-fly is a bit slow.
2022-08-05 16:11:46 +02:00
Martin Pulec
e1a490b334 testcard: added gray pattern 2022-08-05 09:43:22 +02:00
Martin Pulec
76e6a824c9 still_image_video_pattern_generator: use vector
use vector instead of unique ptrs for still_image_video_pattern_generator and image_pattern.
2022-08-04 15:33:00 +02:00
Martin Pulec
85111a96c2 restructuralize video_pattern_generactor a bit
Currently only still image patterns are used, but it can be also
something else so factor out it to separate class.
2022-08-04 15:00:44 +02:00