Actually the pool properties is precompress_desc, saved_desc is used
in usual sense to check whether the properties were changed from last
(re)configuratio.
Disable copying to CUDA buffers if there is more CUDA devices configured,
it does cause the following error:
```
[J2K enc.] Setting image samples: Cannot configure input samples in CUDA
buffer because argument 'device_id' doesn't match the configured CUDA
device in encoder. Single CUDA encoder must be configured.
```
If convert function is not used, copy the data directly to GPU memory
instead of duplicating with memcpy. CUDA support must also be enabled
for this to work.
to measure the duration of the newly created kernel for ->R12L kernel
It is actually 1.6 ms for 1920x1080 picture on GeForce GTX TITAN, which
seems to be more or less OK for now (it could be perhaps optimzed but
doesn't seem to be a blocker for now).
Rewritten restrict_returned_codecs to respect eventual pixfmt change by
the postprocessor (as with change_pixfmt).
Originally the set intersection of codecs accepted for vo_postprocess
and display was used, which is unsuitable when the vo_postprocess changes
the format. Now the postprocessor is queried for the output format instead,
which is then compared with display list of supported codecs.
Properly report codecs that we can accept on input. If not reported,
the display native codecs were reported, which is not correct in general
(although may work in some cases).
Allow setting the get_property callback that can be specified for
vo_postproess filters. This is optional for the wrapper - if set to
nullptr, false will be always returned as until now.
We need to release the resources if encode fails - otherwise eg. the
pool will get exhausted because it has a limited capacity.
+ print enc image failure whether was in push or pop
Use static_assert to ensure little endian instead of the preprocessor
checks - if the those macros are not defined by the compiler, the check
will be eliminated. If other complier is used, write this more
generically.
Where the PACKAGE_BUGREPORT is the only used item from config.h,
use bug_msg(), which can be then removed.
Improved bug_msg() to allow printf-like fomat + arguments.
- print the direct RTP stream URLs only once (== do not repeat with
every printed address)
- print only if autorun was not specifiec
- take the IP version from the state
Since the rtpmap line is now generated also for static packet types,
the condition must have been updated to check the packet type rather
than the presence of rtpmap line.
Instead of deducing from audio parameters, defer the creation until we
receive some audio data.
This complements identical change for RTSP in the commit 41b038862
(2024-08-13).
MJPEG does produce wrong JPEGs[^1] if either slices or threads == 1 and
the other not (until now also the implicit case, because the values
are auto-adjusted).
So if either is 1, auto-set the other value to 1 as well. If both are
set and either is 1 and the other not, issue at least a warning.
[^1]: for the s=1 && t>1, FFmpeg own decoder is capable to decode,
but the bitstream is definitely wrong - instead of RST markers there
are EOI markers.
Fixed the Coverity complaint by keeping the behavior of "doing nothing" with
the frame while passing it unchanged. It may also return nothing, as it was
doing for the short time - this seems to be inferior in cases when the input
changes from supported to unsupported, this would cut-off the picture eniterely,
not just the logo.
1. do not call av_log_set_level if using custom callback - seemingly not
used for custom callbacks
2. simplify lavc-log-level (rename from lavcd-...) and keep it only for FFmpeg
values only (+ use FFmpeg default logger)
As indicated by the point 1, it didn't perhaps even work unless the
'D' suffix (now removed) was added to the param because the value set
was not used by the custom callback but default (UG global) log_msg was
used instead.
The export module is now intended to be initialized always, although
not exporting at that moment, so assert the state presence for
export_audio/export_video.