Commit Graph

86 Commits

Author SHA1 Message Date
Martin Pulec
2c97ecdf4e Libavcodec 58 compat 2018-01-04 10:16:59 +01:00
Martin Pulec
d7858e91b3 Libavcodec: fixed pkt->size == 0 (crash in export)
This fixes a crash in video_export.c on assertion data_len != 0.
2017-10-11 14:05:33 +02:00
Martin Pulec
8f974ade23 Libavcodec: hot-fixed initialization of params
Parameters were initialized after being used.
2017-05-22 17:12:45 +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
Martin Pulec
d774026e78 Libavcodec: updated default presets for H.264/HEVC
Use following default presets:
* x264 - veryfast (very good performance)
* x265 - ultrafast (best performance, H.265 is still a bit demanding)
* nvenc - llhq (low-latency high-quality)
2016-10-06 09:18:31 +02:00
Martin Pulec
86eb848b2c Libavcodec: fixed avcodec_free_context compat
+ compute bitrate tolerance differently (now it is at most 6 frames)
2016-08-01 14:19:19 +02:00
Martin Pulec
6bd457cee6 Libavcodec: compat
+ fixed some mess in configure.ac
2016-07-26 15:06:04 +02:00
Martin Pulec
6ced9a57f6 Lavd: removed some deprecated functions
+ fixed leaked AVCodecContext
2016-06-29 10:36:55 +02:00
Martin Pulec
6ffaff45ff Lavc: toggle flag for interlaced 2016-06-28 17:33:24 +02:00
Martin Pulec
ef9d3a2585 Lavc: get rid of custom setting for libx264/5
Superfast preset should be ok for both and the actual setting was a bit
messy.
2016-06-28 17:33:24 +02:00
Martin Pulec
61b3b3ac56 Lavc: added CRF and CQP RC options for libx264/5
+ use CRF by default for libx264 and libx265
2016-05-02 17:12:07 +02:00
Martin Pulec
5c73f6827a Lavc: fixed libx265 2016-04-29 14:07:30 +02:00
Martin Pulec
2c377ed616 Libavcodec: set delay to 0 for NVENC
The delay lasting about 1 sec was introduced in some version of
libavcodec so we manually set it to 0 frames.
2016-04-28 14:49:53 +02:00
Martin Pulec
a9266d3f60 Libavcodec: do not use deprecated av_free_packet 2016-03-14 11:33:42 +01:00
Martin Pulec
4fa90b6ac1 Lavc: allow arbitrary option to be passet to coder 2016-01-28 19:17:03 +01:00
Martin Pulec
efd11441a9 Lavc: removed intra refresh for NVENC
Now, intra refresh is enabled only for libx264/libx265 since libavcodec
doesn't populate this setting to the real encoder.
2016-01-28 16:23:41 +01:00
Martin Pulec
d005105e7a Lavc: remove some duplicite code 2016-01-28 15:23:29 +01:00
Martin Pulec
1fca971de0 Lavc: initial support for QSV 2016-01-26 16:04:46 +01:00
Martin Pulec
6badd143f5 Video compress: added Async API 2016-01-13 11:22:03 +01:00
Martin Pulec
573ca2428b Libavcodec: small fix 2015-12-15 16:58:28 +01:00
Martin Pulec
83c9421b4a Fixed some Coverity issues 2015-10-19 11:31:10 +02:00
Martin Pulec
7c67d8090d Libavcode 53 compat 2015-09-28 10:53:17 +02:00
Martin Pulec
60d3a7d20b Fixed unused variable from previous commit 2015-09-27 14:24:43 +02:00
Martin Pulec
c7d9f659c0 Do not report nvenc in capabilities 2015-09-27 14:15:26 +02:00
Martin Pulec
201a72bb16 Video compress: use new module API 2015-09-22 17:22:41 +02:00
Martin Pulec
87fd061e53 Libavcodec capabilities: report nvenc if available 2015-09-18 16:11:04 +02:00
Martin Pulec
40abd1d403 Video compress: change API for querying caps 2015-09-18 15:27:11 +02:00
Martin Pulec
e7cdd9d14c Lavc: show frame sizes only in debug mode 2015-09-08 19:49:39 +02:00
Martin Pulec
100683c983 Warning about some potentialy broken modules 2015-08-31 11:11:04 +02:00
Martin Pulec
0e075bbb43 Display correct bps in caps for uncompressed 2015-08-27 16:13:31 +02:00
Martin Pulec
2cc6aab0e2 Added possibility to send message synchronously
+ in capabilities list, given bitrate is computed according to the
  detected capture format (provided that '-t' argument is given)
2015-08-25 17:05:23 +02:00
Martin Pulec
7ef57dd9ab Libavcodec: support for nvenc_hevc 2015-07-31 11:32:21 +02:00