[FFmpeg-devel] [PATCH v3 4/4] swscale/bswapdsp: copy over bswapdsp from avcodec

2022-12-12 Thread mindmark
From: Mark Reid There are some places in input.c that could use it too but they aren't currently being pass the SwsContext --- libswscale/Makefile | 1 + libswscale/bswapdsp.c| 59 libswscale/bswapdsp.h| 66 + libswscale/output.c

[FFmpeg-devel] [PATCH v3 3/4] avcodec/bswapdsp: add documentation

2022-12-12 Thread mindmark
From: Mark Reid --- libavcodec/bswapdsp.h | 33 + 1 file changed, 33 insertions(+) diff --git a/libavcodec/bswapdsp.h b/libavcodec/bswapdsp.h index 10519cfd2e..ecc37d2c56 100644 --- a/libavcodec/bswapdsp.h +++ b/libavcodec/bswapdsp.h @@ -21,11 +21,44 @@

[FFmpeg-devel] [PATCH v3 2/4] avcodec/bswapdsp: rename bswap_buf to bswap_buf32

2022-12-12 Thread mindmark
From: Mark Reid --- libavcodec/4xm.c | 8 libavcodec/alsdec.c | 6 +++--- libavcodec/apedec.c | 4 ++-- libavcodec/asvdec.c | 4 ++-- libavcodec/asvenc.c | 4 ++-- libavcodec/bswapdsp.c| 8

[FFmpeg-devel] [PATCH v3 1/4] avcodec/bswapdsp: remove unused cextern

2022-12-12 Thread mindmark
From: Mark Reid --- libavcodec/x86/bswapdsp.asm | 2 -- 1 file changed, 2 deletions(-) diff --git a/libavcodec/x86/bswapdsp.asm b/libavcodec/x86/bswapdsp.asm index 31c6c48a21..2aa235e13c 100644 --- a/libavcodec/x86/bswapdsp.asm +++ b/libavcodec/x86/bswapdsp.asm @@ -26,8 +26,6 @@

[FFmpeg-devel] [PATCH v2 1/2] avutil: move bswapdsp from avcodec to avutil

2022-12-05 Thread mindmark
From: Mark Reid Also renamed bswap_buf to bswap32_buf --- configure | 56 --- libavcodec/4xm.c | 14 ++--- libavcodec/Makefile | 1 - libavcodec/ac3dec.c | 4 +-

[FFmpeg-devel] [PATCH v2 2/2] libswscale: add AVBSwapDSPContext and use

2022-12-05 Thread mindmark
From: Mark Reid There are some places in input.c that could use it too but they aren't currently being pass the SwsContext --- libswscale/output.c | 36 +++ libswscale/swscale_internal.h | 3 +++ libswscale/swscale_unscaled.c | 26

[FFmpeg-devel] [PATCH 1/2] avutil: move bswapdsp from avcodec to avutil

2022-12-04 Thread mindmark
From: Mark Reid Also renamed bswap_buf to bswap32_buf --- configure | 56 --- libavcodec/4xm.c | 14 ++--- libavcodec/Makefile | 1 - libavcodec/ac3dec.c | 4 +-

[FFmpeg-devel] [PATCH 2/2] libswscale: add AVBSwapDSPContext and use

2022-12-04 Thread mindmark
From: Mark Reid There are some places in input.c that could use it too but they aren't currently being pass the SwsContext --- libswscale/output.c | 36 +++ libswscale/swscale_internal.h | 3 +++ libswscale/swscale_unscaled.c | 26

[FFmpeg-devel] [PATCH v5 4/4] swscale/output: add rgbaf32 output support

2022-11-23 Thread mindmark
From: Mark Reid --- libswscale/output.c | 92 libswscale/swscale_unscaled.c| 4 +- libswscale/tests/floatimg_cmp.c | 4 +- libswscale/utils.c | 16 +++-- libswscale/yuv2rgb.c | 2 +

[FFmpeg-devel] [PATCH v5 3/4] avfilter/vf_transpose: add support for packed rgb float formats

2022-11-23 Thread mindmark
From: Mark Reid --- libavfilter/vf_transpose.c | 44 ++ 1 file changed, 44 insertions(+) diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c index 469e66729f..1023d6fe82 100644 --- a/libavfilter/vf_transpose.c +++

[FFmpeg-devel] [PATCH v5 2/4] avfilter/vf_hflip: add support for packed rgb float formats

2022-11-23 Thread mindmark
From: Mark Reid --- libavfilter/vf_hflip_init.h | 25 + 1 file changed, 25 insertions(+) diff --git a/libavfilter/vf_hflip_init.h b/libavfilter/vf_hflip_init.h index d0319f463d..31173f73fc 100644 --- a/libavfilter/vf_hflip_init.h +++ b/libavfilter/vf_hflip_init.h @@

[FFmpeg-devel] [PATCH v5 1/4] swscale/input: add rgbaf32 input support

2022-11-23 Thread mindmark
From: Mark Reid The input functions are currently matching the planar f32 functions. They can be factorized removing multiple lrintf/av_clipf calls, this will be addressed in a future patch. --- libswscale/input.c | 122 + libswscale/utils.c | 6 +++

[FFmpeg-devel] [PATCH v5 0/4] swscale: rgbaf32 input/output support

2022-11-23 Thread mindmark
From: Mark Reid This patch series adds swscale input/output support for the packed rgb float formats. A few of the filters also needed support the larger 96/128 bit packed pixel sizes. I also plan to eventually add lossless unscaled conversions between the planer and packed formats. changes

[FFmpeg-devel] [PATCH v4 4/4] swscale/output: add rgbaf32 output support

2022-11-21 Thread mindmark
From: Mark Reid --- libswscale/output.c | 92 libswscale/swscale_unscaled.c| 4 +- libswscale/tests/floatimg_cmp.c | 4 +- libswscale/utils.c | 16 +++-- libswscale/yuv2rgb.c | 2 +

[FFmpeg-devel] [PATCH v4 3/4] avfilter/vf_transpose: add support for packed rgb float formats

2022-11-21 Thread mindmark
From: Mark Reid --- libavfilter/vf_transpose.c | 44 ++ 1 file changed, 44 insertions(+) diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c index 469e66729f..1023d6fe82 100644 --- a/libavfilter/vf_transpose.c +++

[FFmpeg-devel] [PATCH v4 2/4] avfilter/vf_hflip: add support for packed rgb float formats

2022-11-21 Thread mindmark
From: Mark Reid --- libavfilter/vf_hflip_init.h | 25 + 1 file changed, 25 insertions(+) diff --git a/libavfilter/vf_hflip_init.h b/libavfilter/vf_hflip_init.h index d0319f463d..31173f73fc 100644 --- a/libavfilter/vf_hflip_init.h +++ b/libavfilter/vf_hflip_init.h @@

[FFmpeg-devel] [PATCH v4 1/4] swscale/input: add rgbaf32 input support

2022-11-21 Thread mindmark
From: Mark Reid --- libswscale/input.c | 120 + libswscale/utils.c | 6 +++ 2 files changed, 126 insertions(+) diff --git a/libswscale/input.c b/libswscale/input.c index d5676062a2..a305be5ac2 100644 --- a/libswscale/input.c +++

[FFmpeg-devel] [PATCH v4 0/4] swscale: rgbaf32 input/output support

2022-11-21 Thread mindmark
From: Mark Reid This patch series adds swscale input/output support for the packed rgb float formats. A few of the filters also needed support the larger 96/128 bit packed pixel sizes. I also plan to eventually add lossless unscaled conversions between the planer and packed formats. changes

[FFmpeg-devel] [PATCH v3 4/4] swscale/output: add rgbaf32 output support

2022-11-02 Thread mindmark
From: Mark Reid --- libswscale/output.c | 92 libswscale/swscale_unscaled.c| 4 +- libswscale/tests/floatimg_cmp.c | 4 +- libswscale/utils.c | 16 +++-- libswscale/yuv2rgb.c | 2 +

[FFmpeg-devel] [PATCH v3 3/4] avfilter/vf_transpose: add support for packed rgb float formats

2022-11-02 Thread mindmark
From: Mark Reid --- libavfilter/vf_transpose.c | 44 ++ 1 file changed, 44 insertions(+) diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c index 469e66729f..1023d6fe82 100644 --- a/libavfilter/vf_transpose.c +++

[FFmpeg-devel] [PATCH v3 2/4] avfilter/vf_hflip: add support for packed rgb float formats

2022-11-02 Thread mindmark
From: Mark Reid --- libavfilter/vf_hflip_init.h | 25 + 1 file changed, 25 insertions(+) diff --git a/libavfilter/vf_hflip_init.h b/libavfilter/vf_hflip_init.h index d0319f463d..31173f73fc 100644 --- a/libavfilter/vf_hflip_init.h +++ b/libavfilter/vf_hflip_init.h @@

[FFmpeg-devel] [PATCH v3 1/4] swscale/input: add rgbaf32 input support

2022-11-02 Thread mindmark
From: Mark Reid --- libswscale/input.c | 172 + libswscale/utils.c | 4 ++ 2 files changed, 176 insertions(+) diff --git a/libswscale/input.c b/libswscale/input.c index 7ff7bfaa01..4683284b0b 100644 --- a/libswscale/input.c +++ b/libswscale/input.c

[FFmpeg-devel] [PATCH v3 0/4] swscale rgbaf32 input/output support

2022-11-02 Thread mindmark
From: Mark Reid This patch series adds swscale input/output support for the packed rgb float formats. A few of the filters also needed support the larger 96/128 bit packed pixel sizes. I also plan to eventually add lossless unscaled conversions between the planer and packed formats. changes

[FFmpeg-devel] [PATCH v2 4/4] swscale/output: add rgbaf32 output support

2022-10-30 Thread mindmark
From: Mark Reid --- libswscale/output.c | 92 libswscale/swscale_unscaled.c| 4 +- libswscale/tests/floatimg_cmp.c | 4 +- libswscale/utils.c | 16 +++-- libswscale/yuv2rgb.c | 2 +

[FFmpeg-devel] [PATCH v2 3/4] avfilter/vf_transpose: add support for packed rgb float formats

2022-10-30 Thread mindmark
From: Mark Reid --- libavfilter/vf_transpose.c | 44 ++ 1 file changed, 44 insertions(+) diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c index 469e66729f..1023d6fe82 100644 --- a/libavfilter/vf_transpose.c +++

[FFmpeg-devel] [PATCH v2 2/4] avfilter/vf_hflip: add support for packed rgb float formats

2022-10-30 Thread mindmark
From: Mark Reid --- libavfilter/vf_hflip_init.h | 25 + 1 file changed, 25 insertions(+) diff --git a/libavfilter/vf_hflip_init.h b/libavfilter/vf_hflip_init.h index d0319f463d..31173f73fc 100644 --- a/libavfilter/vf_hflip_init.h +++ b/libavfilter/vf_hflip_init.h @@

[FFmpeg-devel] [PATCH v2 1/4] swscale/input: add rgbaf32 input support

2022-10-30 Thread mindmark
From: Mark Reid --- libswscale/input.c | 172 + libswscale/utils.c | 4 ++ 2 files changed, 176 insertions(+) diff --git a/libswscale/input.c b/libswscale/input.c index 7ff7bfaa01..4683284b0b 100644 --- a/libswscale/input.c +++ b/libswscale/input.c

[FFmpeg-devel] [PATCH v2 0/4] swscale rgbaf32 input/output support

2022-10-30 Thread mindmark
From: Mark Reid This patch series adds swscale input/output support for the packed rgb float formats. A few of the filters also needed support the larger 96/128 bit packed pixel sizes. I also plan to eventually add lossless unscaled conversions between the planer and packed formats. changes

[FFmpeg-devel] [PATCH v2] avcodec/tiff: add read support for compressed rgb floating point formats

2022-10-01 Thread mindmark
From: Mark Reid floating point uses a slightly different predictor technique describe here http://chriscox.org/TIFFTN3d1.pdf Here is a link the test files, if someone could add them to fate me https://www.dropbox.com/s/fg59h2os4gb4wug/tiff_fate_samples.zip --- libavcodec/tiff.c

[FFmpeg-devel] [PATCH] avcodec/tiff: add support for decoding compressed rgb floating point formats

2022-10-01 Thread mindmark
From: Mark Reid floating point uses a slightly different predictor technique describe here http://chriscox.org/TIFFTN3d1.pdf Here is a link the test files, if someone could add them to fate me https://www.dropbox.com/s/fg59h2os4gb4wug/tiff_fate_samples.zip --- libavcodec/tiff.c

[FFmpeg-devel] [PATCH 4/4] swscale/output: add rgbaf32 output support

2022-09-29 Thread mindmark
From: Mark Reid --- libswscale/output.c | 89 libswscale/swscale_unscaled.c| 4 +- libswscale/tests/floatimg_cmp.c | 4 +- libswscale/utils.c | 16 +++-- libswscale/yuv2rgb.c | 2 +

[FFmpeg-devel] [PATCH 3/4] avfilter/vf_transpose: add support for packed rgb float formats

2022-09-29 Thread mindmark
From: Mark Reid --- libavfilter/vf_transpose.c | 44 ++ 1 file changed, 44 insertions(+) diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c index 469e66729f..1023d6fe82 100644 --- a/libavfilter/vf_transpose.c +++

[FFmpeg-devel] [PATCH 2/4] avfilter/vf_hflip: add support for packed rgb float formats

2022-09-29 Thread mindmark
From: Mark Reid --- libavfilter/vf_hflip_init.h | 25 + 1 file changed, 25 insertions(+) diff --git a/libavfilter/vf_hflip_init.h b/libavfilter/vf_hflip_init.h index d0319f463d..31173f73fc 100644 --- a/libavfilter/vf_hflip_init.h +++ b/libavfilter/vf_hflip_init.h @@

[FFmpeg-devel] [PATCH 1/4] swscale/input: add rgbaf32 input support

2022-09-29 Thread mindmark
From: Mark Reid --- libswscale/input.c | 172 + libswscale/utils.c | 4 ++ 2 files changed, 176 insertions(+) diff --git a/libswscale/input.c b/libswscale/input.c index 7ff7bfaa01..4683284b0b 100644 --- a/libswscale/input.c +++ b/libswscale/input.c

[FFmpeg-devel] [PATCH 0/4] swscale rgbaf32 input/output support

2022-09-29 Thread mindmark
From: Mark Reid This patch series adds swscale input/output support for the packed rgb float formats. A few of the filters also needed support the larger 96/128 bit packed pixel sizes. I also plan to eventually add lossless unscaled conversions between the planer and packed formats. Mark

[FFmpeg-devel] [PATCH v3 2/2] swscale/x86/input.asm: add x86-optimized planer rgb2yuv functions

2021-11-24 Thread mindmark
From: Mark Reid sse2 only operates on 2 lanes per loop for to_y and to_uv functions, due to the lack of pmulld instruction. Emulating pmulld with 2 pmuludq and shuffles proved too costly and made to_uv functions slower then the c implementation. For to_y on sse2 only float functions are

[FFmpeg-devel] [PATCH v3 1/2] swscale/x86/output.asm: add x86-optimized planer gbr yuv2anyX functions

2021-11-24 Thread mindmark
From: Mark Reid changes since v2: * fixed label changes since v1: * remove vex intruction on sse4 path * some load/pack marcos use less intructions * fixed some typos yuv2gbrp_full_X_4_512_c: 12757.6 yuv2gbrp_full_X_4_512_sse2: 8946.6 yuv2gbrp_full_X_4_512_sse4: 5138.6

[FFmpeg-devel] [PATCH v3 2/2] swscale/input: clip rgbf32 values before lrintf

2021-11-14 Thread mindmark
From: Mark Reid if the float pixel * 65535.0f > 2147483647.0f lrintf may overfow and return negative values, depending on implementation. nan and +/-inf values may also be implementation defined clip the value first so lrintf always works. values < 0.0f, -inf, nan = 0.0f values > 65535.0f,

[FFmpeg-devel] [PATCH v3 1/2] libavutil/common: clip nan value to amin

2021-11-14 Thread mindmark
From: Mark Reid Changes av_clipf to return amin if a is nan. Before if a is nan av_clipf_c returned nan and av_clipf_sse would return amax. Now the both should behave the same. This works because nan > amin is false. The max(nan, amin) will be amin. --- libavutil/common.h | 12

[FFmpeg-devel] [PATCH v2 2/2] swscale/input: clamp rgbf32 values before lrintf

2021-11-13 Thread mindmark
From: Mark Reid if the float pixel * 65535.0f > 2147483647.0f lrintf may overfow and return negative values, depending on implementation. nan and +/-inf values may also be implementation defined clamp the value first so lrintf so, always works. values <=0.0f, -inf, nan = 0.0f values >=1.0f,

[FFmpeg-devel] [PATCH v2 1/2] swscale/input: unify grayf32 funcs with rgbf32 funcs

2021-11-13 Thread mindmark
From: Mark Reid This is ment to be a cosmetic change old timings: 42780 UNITS in grayf32le, 1 runs, 0 skips 56720 UNITS in grayf32le, 2 runs, 0 skips 67265 UNITS in grayf32le, 4 runs, 0 skips 58082 UNITS in grayf32le, 8 runs, 0 skips 63512

[FFmpeg-devel] [PATCH v2 1/2] swscale/input: unify grayf32 funcs with rgbf32 funcs

2021-11-07 Thread mindmark
From: Mark Reid --- libswscale/input.c | 36 +++- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/libswscale/input.c b/libswscale/input.c index 336f957c8c..90efdd2ffc 100644 --- a/libswscale/input.c +++ b/libswscale/input.c @@ -1013,31 +1013,19 @@

[FFmpeg-devel] [PATCH v2 2/2] swscale/input: clamp rgbf32 values between 0, 1 before scaling

2021-11-07 Thread mindmark
From: Mark Reid if the float pixel * 65535.0f > 2147483647.0f lrintf may overfow and return negative values, depending on implementation. nan and +/-inf values may also be implementation defined clamp the values between 0,1 before scaling, so lrintf always works. values <=0.0f, -inf, nan =

[FFmpeg-devel] [PATCH] swscale/input: clamp rgbf32 values between 0, 1 before scaling

2021-11-06 Thread mindmark
From: Mark Reid if the float pixel * 65535.0f > 2147483647.0f lrintf may overfow and return negative values, depending on implementation. nan and +/-inf values may also be implementation defined clamp the values between 0,1 before scaling, so lrintf always works. values <=0.0f, -inf, nan =

[FFmpeg-devel] [PATCH v2] swscale/x86/output.asm: add x86-optimized planer gbr yuv2anyX functions

2021-11-03 Thread mindmark
From: Mark Reid changes since v1: * remove vex intruction on sse4 path * some load/pack marcos use less intructions * fixed some typos yuv2gbrp_full_X_4_512_c: 12757.6 yuv2gbrp_full_X_4_512_sse2: 8946.6 yuv2gbrp_full_X_4_512_sse4: 5138.6 yuv2gbrp_full_X_4_512_avx2: 3889.6

[FFmpeg-devel] [PATCH 1/1] swscale/input: fix planar_rgb16_to_a for gbrap10be and gbrap12be formats

2021-11-03 Thread mindmark
From: Mark Reid --- libswscale/input.c | 2 +- tests/ref/fate/filter-pixfmts-scale | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libswscale/input.c b/libswscale/input.c index 477dc3d6b2..336f957c8c 100644 --- a/libswscale/input.c +++

[FFmpeg-devel] [PATCH] swscale/x86/output.asm: add x86-optimized planer gbr yuv2anyX functions

2021-10-24 Thread mindmark
From: Mark Reid yuv2gbrp_full_X_4_512_c: 12096.6 yuv2gbrp_full_X_4_512_sse2: 10782.6 yuv2gbrp_full_X_4_512_sse4: 5143.6 yuv2gbrp_full_X_4_512_avx2: 3000.1 yuv2gbrap_full_X_4_512_c: 15463.1 yuv2gbrap_full_X_4_512_sse2: 14296.6 yuv2gbrap_full_X_4_512_sse4: 6319.1 yuv2gbrap_full_X_4_512_avx2:

[FFmpeg-devel] [PATCH] avfilter/vf_lut3d: fix building with --disable-optimizations

2021-10-11 Thread mindmark
From: Mark Reid --- libavfilter/x86/vf_lut3d_init.c | 4 1 file changed, 4 insertions(+) diff --git a/libavfilter/x86/vf_lut3d_init.c b/libavfilter/x86/vf_lut3d_init.c index 3b3dd18680..db1a152f51 100644 --- a/libavfilter/x86/vf_lut3d_init.c +++ b/libavfilter/x86/vf_lut3d_init.c @@ -48,9

[FFmpeg-devel] [PATCH v2] avfilter/vf_lut3d: add x86-optimized tetrahedral interpolation

2021-10-05 Thread mindmark
From: Mark Reid I spotted an interesting pattern that I didn't see before that leads to the implementation being faster. The bit shifting table I was using before is no longer needed, and was able to remove quite a few lines.  I also add use of FMA on the AVX2 version. f32 1920x1080 1 thread

[FFmpeg-devel] [PATCH] avfilter/vf_lut3d: add x86-optimized tetrahedral interpolation

2021-09-28 Thread mindmark
From: Mark Reid Only supports float and 16bit planer formats at the momoment. Mainly focused on AVX and AVX2 optimizations, but SSE2 does seem offer some speed gains. f32 1920x1080 1 thread with prelut c impl 1389936500 UNITS in lut3d->interp,       1 runs,      0 skips 1425800240 UNITS in

[FFmpeg-devel] [PATCH v2 2/2] libavdevice/avfoundation: add option to set audio sample rate and use native device formats

2021-04-11 Thread mindmark
From: Mark Reid This also seems to prevent the audio format changing after format has been identified. This can happen in ffplay and might have something to do with sdl configuring the audio devices. --- libavdevice/avfoundation.m | 123 - 1 file changed,

[FFmpeg-devel] [PATCH v2 1/2] libavdevice/avfoundation: add buffer fifo and output packets in order they arrive

2021-04-11 Thread mindmark
From: Mark Reid This fixes audio issues I've had with some capture devices. The audio gets really choppy and stops working. This seems to be because avf_read_packet stops outputting the audio frames because a video frame happens to be available first. It base on the approach used in a patch

[FFmpeg-devel] [PATCH] libavdevice/avfoundation: add buffer fifo and output packets in order they arrive

2021-02-13 Thread mindmark
From: Mark Reid Hi, This patch fixes audio issues I've had with some capture devices. The audio gets really choppy and stops working. This seems to be because avf_read_packet stops outputting the audio frames because a video frame happens to be available first. It base on the approach used in

[FFmpeg-devel] [PATCH v2] avformat/mov: fix timecode with counter mode flag set

2021-01-16 Thread mindmark
From: Mark Reid The current behaviour ends up squaring the avg_frame_rate if the conter mode flag is set. This messes up the timecode calculation, and looks to me as a regression that seems to have been introduced 428b4aac. Upon further testing is seems that no special case is need for having

[FFmpeg-devel] [PATCH 1/1] avformat/mov: fix timecode with counter mode flag set

2020-11-28 Thread mindmark
From: Mark Reid The current behaviour ends up squaring the avg_frame_rate if the conter mode flag is set. This messes up the timecode calculation, and looks to me as a regression that seems to have been introduced 428b4aac. The new behaviour is use the "Number of frames" field for

[FFmpeg-devel] [PATCH] avcodec/exr: preserve half-float NaN bits and add fate test

2020-11-22 Thread mindmark
From: Mark Reid Hi, This patch handles NaNs more like the offical implentation handles them, preserving the original bits. https://github.com/AcademySoftwareFoundation/openexr/blob/RB-2.5/IlmBase/Half/toFloat.cpp#L111 It also adds a fate test that is a 256x256 exr containing all possible

[FFmpeg-devel] [PATCH 1/1] avcodec/exr: use lookuptable for alpha if there is no trc_func

2020-11-08 Thread mindmark
From: Mark Reid --- libavcodec/exr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/exr.c b/libavcodec/exr.c index cf7824402a..e907c5c464 100644 --- a/libavcodec/exr.c +++ b/libavcodec/exr.c @@ -1203,7 +1203,7 @@ static int decode_block(AVCodecContext *avctx,

[FFmpeg-devel] [PATCH 1/1] avfilter/vf_lut3d: fix sanitizef INF handling

2020-11-08 Thread mindmark
From: Mark Reid --- libavfilter/vf_lut3d.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c index 988f6c8b55..172d6df0c8 100644 --- a/libavfilter/vf_lut3d.c +++ b/libavfilter/vf_lut3d.c @@ -107,7 +107,7 @@ typedef struct

[FFmpeg-devel] [PATCH] libswcale/input: use more accurate planer rgb16 yuv conversions

2020-10-03 Thread mindmark
From: Mark Reid These conversion appears to be exhibiting the same rounding error as the rgbf32 formats where. I seperated the rounding value from the 16 and 128 offsets, I think it makes it a little more clear. --- libswscale/input.c | 6 ++--

[FFmpeg-devel] [PATCH v2 2/2] libswcale/input: use more accurate rgbf32 yuv conversions

2020-09-28 Thread mindmark
From: Mark Reid --- libswscale/input.c | 12 ++- tests/ref/fate/filter-pixfmts-scale | 8 +- tests/ref/fate/sws-floatimg-cmp | 122 ++-- 3 files changed, 70 insertions(+), 72 deletions(-) diff --git a/libswscale/input.c b/libswscale/input.c index

[FFmpeg-devel] [PATCH v2 1/2] libswscale/tests: add floatimg_cmp test

2020-09-28 Thread mindmark
From: Mark Reid changes since v1: - made into fate test - fixed c90 warnings - tests more intermediate formats - tested on BE mips too --- libswscale/Makefile | 1 + libswscale/tests/.gitignore | 1 + libswscale/tests/floatimg_cmp.c | 296

[FFmpeg-devel] [PATCH] libavcodec/exr: fix incorrect translation of denorm mantissa

2020-09-14 Thread mindmark
From: Mark Reid Hi, This fixes a very subtle error thats hard notice until up unpremultiply a image. This loop is suppose to stop at first 1, instead was stoping at first 0 The comment is correct through! openexrs implementation is very similar.

[FFmpeg-devel] [PATCH] avfilter/vf_premultiply: add missing AV_PIX_FMT_YUVA444P12

2020-09-13 Thread mindmark
From: Mark Reid query_formats says its supported, but is missing from switch statement leading to segfault --- libavfilter/vf_premultiply.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavfilter/vf_premultiply.c b/libavfilter/vf_premultiply.c index 7e5b2aa97f..e051cadac0 100644 ---

[FFmpeg-devel] [PATCH 0/2] libswcale/input: fix incorrect rgbf32 yuv conversions

2020-09-12 Thread mindmark
From: Mark Reid Hi, I'm not sure how I didn't notice this before but the f32 to yuv conversion is slightly off. the folowinng 2 patches fix it. In doing this I found that one of the exr tests probably wasn't testing the right layer, so I fixed that before. Mark Reid (2): fate: use correct

[FFmpeg-devel] [PATCH 2/2] libswcale/input: fix incorrect rgbf32 yuv conversions

2020-09-12 Thread mindmark
From: Mark Reid --- libswscale/input.c | 12 +--- tests/ref/fate/filter-pixfmts-scale | 8 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/libswscale/input.c b/libswscale/input.c index 064ed5902f..67a85b0418 100644 --- a/libswscale/input.c +++

[FFmpeg-devel] [PATCH 1/2] fate: use correct uint32 layer

2020-09-12 Thread mindmark
From: Mark Reid --- tests/fate/image.mak | 2 +- tests/ref/fate/exr-rgb-scanline-pxr24-half-uint32-13x9 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/fate/image.mak b/tests/fate/image.mak index 756d01c667..69b4ea5431 100644 ---

[FFmpeg-devel] [PATCH 1/1] avfilter/vf_premultiply: add support for gbrapf32 format

2020-09-09 Thread mindmark
From: Mark Reid --- libavfilter/vf_premultiply.c | 118 ++- 1 file changed, 115 insertions(+), 3 deletions(-) diff --git a/libavfilter/vf_premultiply.c b/libavfilter/vf_premultiply.c index 5d053b1f77..7e5b2aa97f 100644 --- a/libavfilter/vf_premultiply.c +++

[FFmpeg-devel] [PATCH 1/1] avcodec/exr: add support data windows larger or outside display window

2020-09-07 Thread mindmark
From: Mark Reid Hi, The following patch adds exr support for data windows that are larger or outside the display window. This adds support for both scanline and tiled formats. Here are the added exr files for the fate tests. Could somebody upload them to fate for me?

[FFmpeg-devel] [PATCH] avfilter/vf_lut3d: support remaping negative values in the prelut

2020-09-05 Thread mindmark
From: Mark Reid --- libavfilter/vf_lut3d.c | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c index 6730a424ce..988f6c8b55 100644 --- a/libavfilter/vf_lut3d.c +++ b/libavfilter/vf_lut3d.c @@ -878,18 +878,16 @@ static int

[FFmpeg-devel] [PATCH v2] avfilter/vf_lut3d: prelut support for 3d cinespace luts

2020-05-23 Thread mindmark
From: Mark Reid changes since v1: * cleaned up code style * slightly reworked apply_lut functions to feel more consistent with code --- libavfilter/vf_lut3d.c | 372 +++-- 1 file changed, 317 insertions(+), 55 deletions(-) diff --git

[FFmpeg-devel] [PATCH 2/2] avfilter/vf_lut3d: prelut support for 3d cinespace luts

2020-05-18 Thread mindmark
From: Mark Reid --- libavfilter/vf_lut3d.c | 367 +++-- 1 file changed, 312 insertions(+), 55 deletions(-) diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c index 482e2394a7..4067c4a60a 100644 --- a/libavfilter/vf_lut3d.c +++

[FFmpeg-devel] [PATCH 1/2] avfilter/vf_lut3d: initial float pixel format support

2020-05-18 Thread mindmark
From: Mark Reid --- libavfilter/vf_lut3d.c | 207 +++-- 1 file changed, 201 insertions(+), 6 deletions(-) diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c index fda85b16b4..482e2394a7 100644 --- a/libavfilter/vf_lut3d.c +++

[FFmpeg-devel] [PATCH] libswscale: fix for floating point formats, require full chroma

2020-05-10 Thread mindmark
From: Mark Reid upon more floating point testing, looks like I missed adding this bit. --- libswscale/utils.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libswscale/utils.c b/libswscale/utils.c index 15c0a19afa..111062e915 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@

[FFmpeg-devel] [PATCH v2] avcodec/exr: output float pixels in float pixel format

2020-05-09 Thread mindmark
From: Mark Reid changes since v1 - default behavior, no longer hidden behind decoder parameter - updated tests to reflect change --- libavcodec/exr.c | 244 +- tests/fate/image.mak | 120 -

[FFmpeg-devel] [PATCH v2 2/2] libswscale: add output support for AV_PIX_FMT_GBRAPF32

2020-05-03 Thread mindmark
From: Mark Reid --- libswscale/output.c | 82 libswscale/slice.c | 28 libswscale/swscale.c | 5 ++ libswscale/swscale_internal.h| 36 +++ libswscale/swscale_unscaled.c

[FFmpeg-devel] [PATCH v2 1/2] libswscale: add input support AV_PIX_FMT_GBRAPF32

2020-05-03 Thread mindmark
From: Mark Reid --- libswscale/input.c | 91 ++ libswscale/utils.c | 4 ++ 2 files changed, 95 insertions(+) diff --git a/libswscale/input.c b/libswscale/input.c index 099661cb6d..e74cf04133 100644 --- a/libswscale/input.c +++ b/libswscale/input.c

[FFmpeg-devel] [PATCH v2 0/2] initial input/output support for AV_PIX_FMT_GBRAPF32

2020-05-03 Thread mindmark
From: Mark Reid changes since v1 - added missing fillPlane32 function - tests should pass now for qemu-mips - removed exr patch for now Mark Reid (2): libswscale: add input support AV_PIX_FMT_GBRAPF32 libswscale: add output support for AV_PIX_FMT_GBRAPF32 libswscale/input.c

[FFmpeg-devel] [PATCH 3/3] avcodec/exr: add option to output pixels in float

2020-04-28 Thread mindmark
From: Mark Reid --- libavcodec/exr.c | 103 +++ 1 file changed, 86 insertions(+), 17 deletions(-) diff --git a/libavcodec/exr.c b/libavcodec/exr.c index 73419eadb1..f86e97a433 100644 --- a/libavcodec/exr.c +++ b/libavcodec/exr.c @@ -161,6 +161,7 @@

[FFmpeg-devel] [PATCH 1/3] libswscale: add input support AV_PIX_FMT_GBRAPF32

2020-04-28 Thread mindmark
From: Mark Reid --- libswscale/input.c | 91 ++ libswscale/utils.c | 4 ++ 2 files changed, 95 insertions(+) diff --git a/libswscale/input.c b/libswscale/input.c index 099661cb6d..e74cf04133 100644 --- a/libswscale/input.c +++ b/libswscale/input.c

[FFmpeg-devel] [PATCH 2/3] libswscale: add output support for AV_PIX_FMT_GBRAPF32

2020-04-28 Thread mindmark
From: Mark Reid --- libswscale/output.c | 82 libswscale/slice.c | 28 libswscale/swscale_unscaled.c| 33 ++ libswscale/utils.c | 8 +--

[FFmpeg-devel] [PATCH 0/3] libswscale: initial input/output support for AV_PIX_FMT_GBRAPF32

2020-04-28 Thread mindmark
From: Mark Reid Hi, The following patches add initial input/output support for planer rgb floating point pixel formats in libswscale and adds a decoder option to exr to output as float. Mark Reid (3): libswscale: add input support AV_PIX_FMT_GBRAPF32 libswscale: add output support for

[FFmpeg-devel] [PATCH] fate/exr: add test for YA16

2020-04-26 Thread mindmark
From: Mark Reid Hi, I noticed there was not fate test for this support format of exr. here is the test file to add to fate https://www.dropbox.com/s/urzus0svmq1oizd/ya_scanline_zip_half_12x8.exr?dl=0 --- tests/fate/image.mak | 3 +++

[FFmpeg-devel] [PATCH v2] avcodec/exr: add cineon lin2log trc

2020-03-05 Thread mindmark
From: Mark Reid Hi, The following patch adds a cineon lin2log color transfer characteristic to exr. The purpose of this patch is to allow preserving of the dynamic range of an exr file when converting to DPX or when using video filter such as 3d luts. I wasn't sure if adding it to the

[FFmpeg-devel] [PATCH] avcodec/exr: add cineon lin2log trc

2020-03-05 Thread mindmark
From: Mark Reid Hi, The following patch adds a cineon lin2log color transfer characteristic to exr. The purpose of this patch is to allow preserving of the dynamic range of an exr file when converting to DPX or when using video filter such as 3d luts. I wasn't sure if adding it to the

[FFmpeg-devel] [PATCH v2 2/2] fate/mxf: add mxf user comments tests

2019-03-11 Thread mindmark
From: Mark Reid --- tests/fate/mxf.mak | 15 ++- tests/ref/fate/mxf-d10-user-comments| 1 + tests/ref/fate/mxf-opatom-user-comments | 1 + tests/ref/fate/mxf-user-comments| 1 + 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644

[FFmpeg-devel] [PATCH v2 1/2] avformat/mxfenc: allow user comments for opatom muxer

2019-03-11 Thread mindmark
From: Mark Reid --- doc/muxers.texi | 4 ++-- libavformat/mxfenc.c | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index 372fab2f92..aac7d94edf 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -1629,7 +1629,7 @@ ffmpeg -i

[FFmpeg-devel] [PATCH] avformat/mxfenc: allow user comments for opatom muxer

2019-03-10 Thread mindmark
From: Mark Reid This patch restores the ability to add user comments for the opatom_mxf muxer. The ability seems to have been disabled in d9726893f31. --- doc/muxers.texi | 2 +- libavformat/mxfenc.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/muxers.texi