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
b4eff8ed39
lavc: fixed new aud. ch. layout API warnings
2022-04-12 14:43:16 +02:00
Martin Pulec
e839703307
Lavc P210: fixed compat
...
Do not define P210 to AV_PIX_FMT_NONE if not available - this causes
crash when accessing result of av_pix_fmt_desc_get() in
video_compress/libavcodec.cpp.
2022-04-11 11:55:10 +02:00
Martin Pulec
cb885df890
libavcodec: get rid of global locking
...
this is no longer needed (lavc calls are thread-safe now)
2022-04-01 10:28:55 +02:00
Martin Pulec
abfd209be4
FFmpeg P210 compat
...
+ silenced cast warnings (check with asserts)
2022-03-30 14:05:11 +02:00
Martin Pulec
9e258beddc
lavcd fixed non-420 subsampling warning
...
The improvement introduced by commit 12ee84143 was actually not entirely
correct - since the condition was inverted, all subexpressions needed to
be inverted as well.
+ the condition for pixfmt_has_420_subsampling was not changed from the
old 422 version at all
2022-03-28 16:22:49 +02:00
Martin Pulec
12ee84143f
lavc: issue hwacc compat warning for any non-4:2:0
...
Display warning for every non-4:2:0 subsampling (previously was
displayed for 4:2:2 but also 4:4:4 is now normally supported).
2022-01-17 13:51:17 +01:00
Martin Pulec
a22ff7a5f1
lavc: debug dump spot for converted AVFrame
...
+ change first parameter of serialize callback to (const void *)
+ renamed "lavd-uncompressed" to "lavd-avframe" - uncompressed is vague
since there are multiple forms of uncompressed - avframe, ultragrid
pixfmt...
2021-11-26 12:19:17 +01:00
Martin Pulec
f0c63651d2
libavcodec_common: av_to_uv_convert - use const rgb_shift
2021-11-24 13:26:40 +01:00
Martin Pulec
1b3b27eb7c
Updated copyright dates for modified files
2021-11-08 15:43:14 +01:00
Martin Piatka
fab71806eb
Lavc: print warning about 422 subsampling hwaccel support
2021-08-12 14:57:29 +02:00
Martin Pulec
7af48e236b
Libavcodec compat fix
...
av_packet_alloc/av_packet_free were actually added already in lavc 57.8.0.
+ handle NULLs
+ av_packet_free: fix - set pointed pointer to NULL
2021-05-20 10:33:40 +02:00
Martin Pulec
a186ae2112
Libavcodec: removed deprecated AVPacket usage
...
+ make usages of AVCodec const
2021-05-17 13:17:09 +02:00
Martin Pulec
013f22c652
Lavc: updated NVENC settings
...
Used new values instead of deprecated in current libavcodec.
Refer to GitHub issue #119 .
2021-01-07 16:22:19 +01:00
Martin Pulec
23ca8f37bd
Lavc: set range/colorspec to codec
2020-10-05 15:05:18 +02:00
Martin Pulec
9c484e86b3
Lavc common: added get_uv_to_av_conversion()
2020-09-21 14:34:03 +02:00
Martin Pulec
9e4b317e8f
File cap.: use UG conversion + codec opt
...
Use UltraGrid covnversion if available instead of swscale. Added codec option
2020-08-14 15:11:21 +02:00
Martin Pulec
d59050b384
Lavcd/sws: use full-range color-space transformations
2020-07-22 11:06:38 +02:00
Martin Pulec
31d9809fcd
Updated documentation
...
Updated authors, copyright to 3-clause BSD (where possible) and file-level Doxygen
2019-11-09 13:47:11 +01:00
Martin Pulec
5eddc6546b
Replaced function attributes pure with const
...
Const is actually more powerful than pure while all those function
satisfy those more strict requirements.
2019-11-04 07:53:10 +01:00
Martin Pulec
507a419bb1
Libavcodec common: return print_decoder_error
...
Needed by audio libavcodec, if linking with the object, there would be
needed to link also with VDPAU which doesn't look fortunate.
2019-10-31 09:56:03 +01:00
Martin Pulec
a6dd67032b
Libavcodec common: moved functions from hdr to src
2019-10-23 09:54:57 +02:00
Martin Pulec
06b521f2d0
Libavcodec common: UV<->AV pixfmt conversion funcs
...
Use form UV<->AV pixfmt conversions functions rather than the C++ map in
order to maintain compatibility with C code.
2019-10-22 13:46:06 +02:00
Martin Pulec
763d354794
Lavc: moved UG<->libav codec map to common
2019-10-21 13:49:23 +02:00
Martin Pulec
9e9e77e135
Libavcodec common: do not export API of convs
...
Mark conversion functions as static and remove from header.
2019-10-07 18:28:51 +02:00
Martin Pulec
294041f60b
Libavcodec common: don't include conv list in header
...
Do not include conversion lists in header - it adds dependency on the
libavcodec_common.c file to every module that (transitively) includes
the header (eg. GL) which results in undefined references with modular
build.
2019-10-03 16:57:54 +02:00
Martin Pulec
cff978a082
Do not convert AV_PIX_FMT_* to AV_PIX_FMT_NONE
...
This partially corrects commit f83230c2 which converts the pix format to
0 if not found (old FFMPEG) whereas on some places non-0 is expected
(see previous commit).
2019-09-26 18:37:28 +02:00
Martin Pulec
f83230c208
Libavcodec common: compat macros improvments
...
* reodered
* correctly found out some exact API numbers
* use lavu instead of lavc for some macros that are for lavu functions'
compatibility
2019-09-25 08:49:07 +02:00
Martin Pulec
8a6674d516
Libavcodec common: fixed version check
2019-09-25 08:36:13 +02:00
Martin Pulec
de00f170eb
Added r10k_to_bgr0
2019-09-23 14:23:31 +02:00
Lukas Rucka
babdb79239
COMPAT: compile even with antique version of ffmpeg/libavcodec
2019-07-23 16:01:01 +02:00
Martin Pulec
d00639aea6
libavcodec_common.h: removed no longer used items
2019-06-26 16:25:49 +02:00
Martin Piatka
55bc7d3f82
lavc: Add r10k to yuv422p10le conversion
2019-06-20 12:17:37 +02:00
Martin Pulec
79e90e6501
Libavcodec: toggle optimalizations + params restrict
...
Note: C99 restrict cannot be used because restrict is not a keyword in
C++. __restrict__ or __restrict can be used (the later is supported also
by MSVC).
+ rename min/max macro
2019-06-18 14:59:20 +02:00
Martin Pulec
6b1cf9c2b5
Libavcodec conversions: rename
2019-06-18 14:59:20 +02:00
Martin Pulec
81f7b632d6
Libavcodec: moved conversions to a separate file
2019-06-18 14:59:20 +02:00
Martin Pulec
e285a2318f
Lavd: print text representation of error
2019-06-14 08:55:04 +02:00
Martin Pulec
3a8d3382d0
Libavcodec: AV_CODEC_ID_AV1 backward compat
2019-04-08 17:36:23 +02:00
Martin Pulec
f8656a08d6
SDP: complain about unsupported codecs
2018-11-23 16:12:01 +01:00
Martin Pulec
3f8d00391f
Libavcodec: added HuffYUV and FFV1
2018-11-13 15:13:21 +01:00
Martin Pulec
84b5e18667
Libavcodec 58 compat
2018-01-02 09:57:47 +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
37fac85d02
Libavcodec: do not use VP9 where not available
2017-02-14 21:27:26 +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
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
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