Martin Pulec
79531ceacf
Lavc: codec ordering to a separate function
2019-06-13 14:01:50 +02:00
Martin Pulec
fd869ea034
Lavc: table for pixfmt conversions
2019-06-13 14:01:50 +02:00
Martin Pulec
d4dded81ca
Video codec: fixed some warnings
2019-06-07 13:44:33 +02:00
Martin Pulec
59f4183df7
Lavc: use libx264 params also for libx264rgb
2019-05-30 11:38:18 +02:00
Martin Pulec
879d557810
Lavc: fixed unset linesizes
2019-05-30 11:38:17 +02:00
Martin Piatka
1f56d139a1
Video compress: lavc: Decode to v210 with memcpy only if input is v210
2019-04-08 13:37:11 +02:00
Martin Piatka
f15ed9c5bd
Video compress: lavc: Fix segfault when pixfmt unsupported
2019-04-08 13:06:36 +02:00
Martin Pulec
bf979a1c56
Lavc: allow RGB for libx264rgb
...
* when codecs supports pixel format natively, it is now passed directly
* also when no conversion is needed, data aren't memcpied anymore
2019-03-29 15:04:05 +01:00
Martin Piatka
835239498d
Separate async frame and async tile APIs
2019-03-13 15:00:05 +01:00
Martin Pulec
071bc9b3ad
Libavcodec: support for AV1
2019-03-01 14:04:05 +01:00
Martin Pulec
c76512df6b
lavc: pretty print
2019-03-01 14:03:16 +01:00
Martin Pulec
dafc6f48af
Lavc: added cmath header (compile fix)
...
+ reorder headers
2019-02-22 16:38:32 +01:00
Martin Pulec
9f6048e144
Added RFC 2435 compliant RTP JPEG transport
...
Compliant JPEGs can be now sent with SDP or RTSP.
2018-12-17 10:37:53 +01:00
Martin Pulec
3f8d00391f
Libavcodec: added HuffYUV and FFV1
2018-11-13 15:13:21 +01:00
Martin Piatka
1e2f38c97c
Rewrite video_frame callbacks to be set by decoders
2018-09-12 23:29:08 +02:00
Martin Pulec
eacade34e9
Lavc: warn if we cannot set CRF/CQP
2018-08-22 11:23:09 +02:00
Martin Pulec
60cab503ec
Libavcodec: use new API for iterating codecs
2018-08-22 11:23:09 +02:00
Martin Pulec
d7827ea014
Copyright isn't license
...
Get entirely rid of licensing stuff - we do not explicitly license
UltraGrid.
2018-08-15 13:29:51 +02:00
Martin Pulec
30e76180ff
Libavcodec QSV: set intra-refresh by default
2018-07-03 09:46:31 +02:00
Martin Pulec
abc593e7e3
Libavcodec NVENC: changed default RC
...
The former caused pulsing and is deprecated. The current one doesn't
make frames of the exactly same size (I-frames are bigger).
2018-06-27 14:33:46 +02:00
Martin Piatka
4dfe336949
hwaccel: Split code into more files, compile each hwaccel independently
2018-05-16 14:19:24 +02:00
Martin Pulec
c71ad1760a
Libavcodec: fixed crash when VAAPI init fails
2018-01-08 15:21:38 +01:00
Martin Pulec
098383cfd9
Lavc: H.264 - use ultrafast for >1080p30
2018-01-08 15:21:38 +01:00
Martin Pulec
78602d9715
Lavc: changed preset selection
2018-01-08 15:21:38 +01:00
Martin Pulec
84b5e18667
Libavcodec 58 compat
2018-01-02 09:57:47 +01:00
Martin Pulec
85d5faf4a7
Libavcodec: fixed pkt->size == 0 (crash in export)
...
This fixes a crash in video_export.c on assertion data_len != 0.
2017-09-21 10:34:12 +02:00
Martin Pulec
0d6f2a3ca9
Libavcodec: get rid of multiple cpu_count
...
Was duplicitly in state_video_compress_libav and setparam_param.
2017-06-21 10:12:14 +02:00
Martin Piatka
af8c478a38
SSE vectorisation for to_nv12 and yuv420p_to_yuv422
2017-06-20 12:55:14 +02:00
Martin Piatka
747f230024
VAAPI hw accelerated encoding support
2017-06-13 14:27:14 +02:00
Martin Pulec
f6aa52e426
Libavcodec: show info which codec is not supported
...
Show info which UltraGrid codec is not supported - has no transcoding to
libavcodec native pixel formats.
2017-06-05 11:00:57 +02:00
Martin Pulec
7c2730237b
Libavcodec: hot-fixed initialization of params
...
Parameters were initialized after being used.
2017-05-22 17:08:23 +02:00
Lukas Rucka
98943bf56d
Compilation compatibility fix - use std::isnan instead of isnan (broken gcc c++11 support)
2017-04-05 22:24:56 +02:00
Martin Pulec
2894c313a2
Better input value check for bitrates and MTU
...
* better check values' boundries
* for MTU and traffic shapper also check if there are reasonable values
(eg. for the cases when they are interchanged by mistake)
2017-03-15 16:45:47 +01:00
Martin Pulec
8a537bedde
Libavcodec: changed one warning
2017-02-24 14:37:53 +01:00
Martin Pulec
feae858c65
Validate optional commandline parameters
2017-02-23 16:30:43 +01:00
Martin Pulec
1c02c5e8b0
New way of documenting additional params (--param)
...
All parameters can now be listed with '--params help'.
2017-02-20 11:27:30 +01:00
Martin Pulec
4950bf95e8
Libavcodec: small cleanups
...
* denote which identifiers are 8-bit
* simplify pixel format conversions lookup in decoder
* if encoder could not have been initialized, writes for which pixel
format (useful for NVENC where HW may not support all pixel formats)
2017-02-15 10:18:30 +01:00
Martin Pulec
c76b4f95e9
Libavcodec: experimental support for 10-bit
2017-02-15 10:17:59 +01:00
Martin Pulec
0bff18d80f
Libavcodec enc.: make functions static
2017-02-15 10:16:07 +01:00
Martin Pulec
541f5727d7
Libavcodec: use CBR for QSV
2017-02-15 10:12:51 +01:00
Martin Pulec
9c0d08526a
Libavcodec NVENC: disable spatial AQ by default
...
AQ requires more computational power from decoder. Currently NVENC from
libavcodec uses only one slice, therefore the decoder isn't much
parallelized. Consequently, the use of AQ can be the difference if the
decoder is sufficiently powerful to decode the stream or not.
2017-01-26 14:55:16 +01:00
Martin Pulec
00bb07667f
Libavcodec: opt to enable interlaced DCT (H.264)
2017-01-23 19:01:52 +01:00
Martin Pulec
e7673158f2
Libavcodec: added VP9
2017-01-18 11:13:24 +01:00
Martin Pulec
666850b638
Libavcodec NVENC: Adjust parameters to recommended
...
Use settings recommended by NVIDIA for low-latency setups.
2017-01-04 15:00:35 +01:00
Martin Pulec
24c0c93075
Libavcodec: try different pix. formats for encoder
...
This fixes problem when hevc_nvenc reports YUV444 although device
doesn't support it (eg. Maxwell NVIDIA cards) and thus avcodec_open2()
fail. From now, different pixel formats are examined and used if open is
successful (YUV420 in this case).
2017-01-04 13:14:22 +01:00
Martin Pulec
8f46a8bb4d
Libavcodec: fixed x264/x265 ban in BSD build
...
Use of libx264/libx265 is forbidded even if given with 'encoder' option.
On the other hand, alternative encoders are allowed for H.264/H.265 in
BSD build.
2016-10-27 16:00:39 +02:00
Martin Pulec
020d9e24a0
Libavcodec: use zerolatency for NVENC
2016-10-12 16:41:18 +02:00
Martin Pulec
1559345727
Libavcodec: use regex to match encoder names
...
* use regex to match encoder names - this is mainly due to often NVENC
encoders' renaming (nvenc, nvenc_h264, h264_nvenc)
* do not enforce AV_PIX_FMT_NV12 for NVENC anymore, instead there is a
generic command-line parameter (lavc-use-codec) to allow user select
one desired encdoer pixel format.
* set default preset for h264_qsv/hevc_qsv to medium - it is implicit
but to be consistent with other similar encoders
2016-10-10 20:44:37 +02:00
Martin Pulec
eae680fe85
Libavcodec: use tune zerolatency for x265
...
x265 supports only single tune parameter (in opposite to x264, where we
currently use "zerolatency,fastdecode").
2016-10-10 20:44:37 +02:00
Martin Pulec
47d1cb4014
Libavcodec: removed deprecated functions (encoder)
...
+ fixed leaked codec in audio
+ fixed warnings in codec listing (--audio-codec help)
2016-10-10 20:44:37 +02:00