Martin Pulec
45bcb26572
added vc_copylineY216toV210()
2022-05-09 13:54:24 +02:00
Martin Pulec
ee9db30752
GL: change vsync back to 1
...
This reverts b80fcf18 while addressing the resize issue that the
original commit was supposed to solve.
Adaptive VSync may cause tearing if real frame rate is lower than
nominal (display) frame rate.
see also #227
2022-05-09 10:41:30 +02:00
Martin Pulec
e3ee7a24e7
GLSL: compilation, link: check errors
2022-05-06 16:23:57 +02:00
Martin Pulec
a51ded322b
GL: v210 shader: use Rec. 709 coeffs
2022-05-06 16:23:44 +02:00
Martin Pulec
4db63a3431
GL: rewritten the v210 shader to GLSL 1.1
2022-05-06 15:29:53 +02:00
Martin Pulec
6aacbccdcf
testcard, pattern generator: generate full-depth v210
2022-05-06 09:58:36 +02:00
Martin Pulec
be2dd026d3
added RG48->v210 conversion
2022-05-06 09:56:04 +02:00
Martin Pulec
5d62199aea
testcard: help updates
2022-05-05 14:09:38 +02:00
Martin Pulec
be01d313e4
GL: added shader to display v210 natively
2022-05-05 14:09:38 +02:00
Martin Piatka
8a6a2fff1e
GL: Preserve refresh rate when creating fullscreen window
2022-05-05 12:11:03 +02:00
Martin Pulec
f0d3021644
gl_check_error() as macro
...
Macro allows to print the place (file/line/function) where the error occured.
2022-05-04 16:31:26 +02:00
Martin Pulec
1327c0619f
transmit H.264: use rtpenc_h264_get_next_nal
...
Also removed remaining H.264 codestream parsing/splitting code - it was
a bit over-engineered.
2022-05-04 10:20:57 +02:00
Martin Pulec
ff3d41cf92
RTSP cap.: fixed err return value
2022-05-04 09:08:18 +02:00
Martin Pulec
ddd2f77da7
RTSP, GL: added warnings about not supported options
2022-05-03 17:02:27 +02:00
Martin Pulec
4ba5f85072
RTSP cap.: set CURLOPT_NOSIGNAL to 1
...
This flag should be set in multithreaded environment:
https://stackoverflow.com/questions/30098087/is-libcurl-really-thread-safe
2022-05-03 16:45:43 +02:00
Martin Pulec
2fbcc40894
lavd: mitigate flood of errors at H.264 dec start
...
Do not pass decoder frames until one beginning with SPS is received -
this mitigates flood of errors at the beginning of H.264 decode, which
may be potentially harmful because it pushes off other messages
(including warnings).
2022-05-03 16:38:23 +02:00
Martin Pulec
a20a29b4ce
RTSP cap.: emit extra SPS/PPS at beginning of stream
...
+ added example command to generate a stream to test with
2022-05-03 13:52:05 +02:00
Martin Pulec
1701fb11c1
RTP UDP: eliminated else-after-return
2022-05-03 13:52:05 +02:00
Martin Pulec
9021a82fc8
Worker: signal after unlock
...
This is more correct anyway but for some reason, it hung when
instrumented by valgrind.
2022-05-03 13:52:04 +02:00
Martin Pulec
11ca5b3aaf
RTSP: fixed synchronization problems + leaks
2022-05-03 13:52:04 +02:00
Martin Pulec
db04e0e27f
RTSP cap.: moved again to C
2022-05-03 13:52:01 +02:00
Martin Pulec
a1d23aea78
RTSP improved logging
...
+ remove message that the module is broken
+ remove untested comment
+ printf RTSP responses only if verbose or in case of error
2022-05-02 16:58:37 +02:00
Martin Pulec
8fc614df0f
RTSP cap.: use my_curl_easy_perform abstr.
2022-05-02 16:12:33 +02:00
Martin Pulec
d40233f695
rtpdec_h264.c: process NAL units in 1st pass
...
processing in 2nd is too late - we need to set data offset before the
second pass
2022-05-02 16:12:33 +02:00
Martin Pulec
5ca1ed3730
RTSP cap.: get rid of glib dependency
...
It was needed only for base64 decode, which is perhaps needless
overhead.
2022-05-02 16:12:32 +02:00
Martin Pulec
c52375177e
RTSP cap.: fixed get_nals parsing
...
';' is not a valid delimiter for sprop-parameters-set units according to
RFC 6185, example line from SDP:
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QAKKyyAPAET8uAiAAAAwAIAAADAZR4wZJA,aOvDyyLA; profile-level-id=640028
2022-05-02 16:12:32 +02:00
Martin Pulec
ead6aec22e
RTSP capture: get_nals simplified
...
Simplified processing of NALs received in SDP.
- removed writing start code _after_ the serialized NAL
2022-05-02 16:12:32 +02:00
Martin Pulec
6e525b3df5
rtpdec_h264: use symbolic names for constants
...
+ move NAL type 0 from unhandled to invalid (only different msg)
2022-05-02 16:12:32 +02:00
Martin Pulec
94bb693c8e
dump disp.: check export_init return value
2022-05-02 16:12:31 +02:00
Martin Pulec
476aff2008
RTSP cap.: improved logging
2022-05-02 16:12:31 +02:00
Martin Pulec
13b3705098
RTSP cap.: fixed init crash
...
Fixed a crash when init fails and done function is called - check if
threads that are to be destroyed were actually created.
2022-05-02 16:12:30 +02:00
Martin Pulec
5e57ec64ae
rtpdec_h264.c: print also nri
2022-05-02 16:12:30 +02:00
Martin Pulec
bfb210ade0
RTSP cap.: print curl error messages
2022-05-02 16:12:30 +02:00
Martin Pulec
67c443c785
dump disp.: small refactor
...
+ do not export discarded frame
+ assure that the exported frame is ours (otherwise the lifetime is
uncertain eg. if we decide to write the frame in thread)
2022-05-02 16:12:29 +02:00
Martin Pulec
e9f8a95ea1
dump display: fixed a crash
...
For opaque codecs (H.264), the allocated size was actually smaller than
(maximal) data len set. That is usually not an issue, but when
destroying, the invalid maximum is exported (because PUTF_DISCARD with
unmodified frame). Steps to reproduce:
uv -t testcard:size=1280x128 -c libavcodec:codec=H.264 -d dump
2022-05-02 16:12:29 +02:00
Martin Pulec
fad9d20ade
rtpdec_h264.c: process reassembled NAL
...
Process reassembled NAL from fragmentation units (FU).
2022-05-02 16:12:29 +02:00
Martin Pulec
40c3821204
rtpdec_h264.c: process NAL units from STAP-A
2022-05-02 16:12:29 +02:00
Martin Pulec
c3634debae
rtpdec_h264.c: reverse order of aggregate NALs fix
...
NAL units are put to the buffer in a reverse order (from the end of the
frame to the beginning), but aggregate (STAP-A) NAL units were processed
straight while put in the buffer from the end.
2022-05-02 16:12:28 +02:00
Martin Pulec
4a15dafa87
rtpdec_h264.c: moved NAL processing to sep. func
2022-05-02 16:12:28 +02:00
Martin Pulec
1d3db3e726
rtpdec_h264.c: simplify a bit
2022-05-02 16:12:28 +02:00
Martin Pulec
1fedeebca5
rtpdec_h264.c: small refactor
2022-05-02 16:12:27 +02:00
Martin Pulec
6a96ccc082
rtpdec_h264.c: size of NAL in STAP-A is little-end
2022-05-02 16:12:27 +02:00
Martin Pulec
16530807bb
lavc conv: remove some unused sse compat
2022-05-02 16:12:27 +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
512cfc181e
added param to specify libavcodec logging level
...
The output may be flooded by decoding errors (eg. H.264) which may not
be desirable. If not specified, the verbosity level for libavcodec is
deduced from UltraGrid log level.
2022-05-02 16:12:26 +02:00
Martin Pulec
0275d4e669
register_param: warn if max params reached
2022-05-02 16:12:25 +02:00
Martin Pulec
49eb5219a0
register_param: skip repeating registr. of param
...
Skip repeating registration of the same parameter.
This allows registration of the param from within more modules (eg.
common file included in multiple plugins). Warning is issued if already
registered param has a different description.
2022-05-02 16:12:25 +02:00
Martin Pulec
53e6876ac7
vc_copyliner10k: pointless double cast to same type
2022-05-02 16:12:25 +02:00
Martin Piatka
053640ce69
lavc: Fix channel layouts on new API
...
AAC encoder didn't like unspecified layout + format was not set on
avframe
2022-05-02 13:08:53 +02:00