Commit Graph

53 Commits

Author SHA1 Message Date
Martin Pulec
81867c5748 Lavcd: conversions AV_PIX_FMT_GBRP12LE<->RG48 2021-03-11 16:39:43 +01:00
Martin Pulec
3b1fecc4c8 Lavc: added conversions for/to 16-bit FF YUV and RG48
AJA for eg. Kona 4 doesn't support 12-bit RGB natively.
2021-03-11 16:39:40 +01:00
Martin Pulec
32aa6c0eae Lavcodec common: added Y216->AV_PIX_FMT_YUV444P16LE 2021-01-14 15:47:43 +01:00
Martin Pulec
554aae2072 Lavc common: FORMAT_RGBA - ones for alpha
Set unset bits to 1 for displays that honor alpha
2020-12-08 16:48:00 +01:00
Martin Pulec
0ff4f9c6bb Lavc common: small fixes for yuv8p_to_rgb 2020-12-08 16:47:55 +01:00
Martin Pulec
c5ead73271 Libavcodec conv.: fixed another typo 2020-10-20 16:06:16 +02:00
Martin Pulec
eb64060593 Libavcodec convs: fixed copy&paste error
Fixed wrong conversions in uv to av list.

+ tests for 10, 12 bits to R12L
+ test on lower resolution image to reduce test time
2020-10-20 15:00:00 +02:00
Martin Pulec
f2e8444308 Fixed libavcodec conversions yuv444p16le_to_v210
* yuv444p16le_to_uyvy - removed native flag (is not native)
* for yuv444p10le_to_r12l there was incorrect src codec (16 instead of
  10)
2020-10-20 14:09:17 +02:00
Martin Pulec
b1681a1c65 Libavcodec: added native yuv444p16le_to_uyvy 2020-10-15 14:41:40 +02:00
Martin Pulec
c191ab5210 Libavcodec common: wrong conversion 2020-10-13 09:55:57 +02:00
Martin Pulec
e08a365c54 getSwsContext: set full-range only for RGB 2020-10-12 16:41:17 +02:00
Martin Pulec
01ff3fc334 Fixed p010le_to_uyvy 2020-10-12 16:32:43 +02:00
Martin Pulec
bb15014b45 This reverts commit 6b4f2ddfce.
The conversions are no longer needed with new GPUJPEG that supports
compressing YUV BT.709 natively.
2020-10-05 15:05:19 +02:00
Martin Pulec
49d9167a52 Conversions from JPEG full-range 601
Only full->limited range YCbCr is performed
2020-10-05 15:05:18 +02:00
Martin Pulec
23ca8f37bd Lavc: set range/colorspec to codec 2020-10-05 15:05:18 +02:00
Martin Pulec
4a33cf560f Lavc common: rewritten also nv12_to_rgb 2020-09-25 11:03:03 +02:00
Martin Pulec
e1ac0c8868 Libavcodec common: updates 2020-09-25 11:02:25 +02:00
Martin Pulec
a515742881 Libavcodec common: rewritten 10-bit YUV to RGB convs 2020-09-25 09:38:47 +02:00
Martin Pulec
9b1fa96370 Libavcodec common: fixed YUV8->RGB(a) conversions
* use common coefficients (there was color shift before)
* utilize RGB-shifts for RGBA
2020-09-25 09:38:46 +02:00
Martin Pulec
518a67b470 Rewrite yuv444p10le_to_rgb24/32
Rewrite yuv444p10le_to_rgb24/32 to use standard conversions and use common
code.
2020-09-24 14:39:08 +02:00
Martin Pulec
adbf54d7a5 Lavc: use int32_t instead of int_fast32_t
int32_t is faster than use of int_fast32_t
2020-09-24 14:38:16 +02:00
Martin Pulec
d34ca8c072 Libavcodec common.: check comp_type_t size instead int_fast32_t 2020-09-23 16:43:32 +02:00
Martin Pulec
61071a0cbe Libavcodec common: added 10-/12-bit YUV<->RGB conversions
Use the 16-bit conversions also for 10 and 12 bit FFmpeg pixel formats.
2020-09-22 11:43:35 +02:00
Martin Pulec
e86e66147c Lavc: added R10k/R12L conv from/to AV_PIX_FMT_YUV444P16LE
+ conversion AV_PIX_FMT_YUV444P10LE->R10k
2020-09-21 14:34:03 +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
40cc678088 Lavc: added yuv444p16le_to_v210() 2020-08-03 12:12:37 +02:00
Martin Pulec
e32ddfdb7a Lavc: added v210_to_yuv444p16le()
This allows flawless encoding of v210 for nvenc without additional options like
"lavc-use-codec".
2020-08-03 10:29:48 +02:00
Martin Pulec
d59050b384 Lavcd/sws: use full-range color-space transformations 2020-07-22 11:06:38 +02:00
Martin Pulec
712b4294eb Lavc: mapping RG48<->AV_PIX_FMT_RGB48LE 2020-07-17 16:35:48 +02:00
Martin Pulec
bf7fb0069a Improved yuv444p10le_to_rgb24/32
Fixed RGB shifts for RGBA and process in one step only.
2020-06-29 12:42:02 +02:00
Martin Pulec
57015d04f3 Libavcodec: removed some forgotten abort 2020-06-05 14:46:45 +02:00
Martin Pulec
1b0d3566ee libavcodec_common: fixed wrong arg order for vc_get_linesize 2020-05-21 19:57:58 +02:00
Martin Pulec
26bfee02ba Lavd: added/enabled conversions to RGBA 2020-05-19 13:28:42 +02:00
Martin Pulec
5bae8aaac2 Libavcodec_common: fixed conversions from/to 420 2020-03-02 17:13:04 +01:00
Martin Pulec
c05c4ecf38 Lavc: support for I420 2020-03-02 17:12:59 +01:00
Martin Piatka
c77fd4f100 libavcodec_common: uyvy_to_yuv420p: Fix invalid reads when height is odd 2020-01-23 11:45:47 +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
72f0f59582 Libavcodec: fixed gbrp12le compat
The condition was reversed.

+ compile the conversions only if used (i. e. when the pixfmt is
  supported by FFMPEG)
2019-10-07 18:28:54 +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
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
Martin Pulec
f3f59bc664 Lavc: GBR is not BGR (fixed conversions) 2019-08-08 13:18:45 +02:00
Lukas Rucka
babdb79239 COMPAT: compile even with antique version of ffmpeg/libavcodec 2019-07-23 16:01:01 +02:00
Martin Piatka
55bc7d3f82 lavc: Add r10k to yuv422p10le conversion 2019-06-20 12:17:37 +02:00
Martin Pulec
997862ad3e Optimalizations for video_codec.c
- compile with -Ofast
- use restricted pointers for vc_copyline functions
- use a vectorizable for-loop
- small fixes - in vc_copylineR12LtoRGB was not decoded last few pixels
  and in copylineYUVtoRGB was out-of-bound access (not likely, only if
  output dst_len was not divisible by 6)
2019-06-19 16:43:11 +02:00