Count dropped frames from display. It was broken from some time point
and the count of dropped frames was always 0.
+ make some things prettier (alphabetic order, one-line assignment)
Some macros are quite common so it is perhaps more wise to use a
separate header.
Also moved ref_count_init_once and ref_count_terminate last to misc.h.
+ 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
Support FPS values that are not understood by UG (FPSd == 0) and
replace it by 30.
This is a forward compatibility feature when there may be special meaning FPS
values (unlimited etc.) but it can still be displayed, especially by displays
that don't honor FPS value like OpenGL.
After removing CoUniverse-related reporting, most of the work is done
from single thread, except of FEC statistics, that is however replaced
by atomic vars which is sufficient here.
This was originally for CoUniverse/UltraGridAfco - both of them are
inactive now so removing that because it may unnecesarily cause some
overhead.
Audio statistics are kept since those are used by the GUI.
Check bounds also for compressed/FEC streams to avoid crashes and/or
potential attacks. This can occur for instance when VR has some
unexpected data outside the buffer.
- fixed decompress deinit when one init fails
- fixed a crash when number of substream changes - destroyed the new
number of substreams but old was allocated
This fixes a problem with incorrect handling native codec list - using
parameter "decoder-use-codec" only set native_count but there were
places where was expected a NULL-terminated list. (Example wrong
behavior may be observed with "-d dummy --param decoder-use-codes="
when the codec is not reflected).
Try nearest higher-bit depth than the internal first, then
downwardly lower ones. Eg. when RGB is received and only R10k and RG48
is available, R10k is chosen instead of RG48.
Moved the documentation into the video_decoders.cpp. But generally the
out-of-source documentation may not be a bad idea.
+ moved video_decoder.cpp to appropriate group
Query decoder corrupted frames acceptance property after reconfiguration
because the ability may differ according to the properties (namely codec
for libavcodec).