aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* lavc/hevcdec: do not pass HEVCContext to ff_hevc_frame_nb_refs()Anton Khirnov2024-06-115-8/+8
| | | | | | | | Pass the only things required from it - slice header and PPS - explicitly. Will be useful in the following commits to avoid mofiying HEVCContext in hls_slice_header().
* lavc/hevcdec: only call export_stream_params_from_sei() once per frameAnton Khirnov2024-06-111-4/+4
| | | | | Not once per each slice header, as it makes no sense and may cause races with frame threading.
* lavc/hevcdec: move pocTid0 computation to hevc_frame_start()Anton Khirnov2024-06-112-14/+14
| | | | | It is only done once per frame. Also, rename the variable to poc_tid0 to be consistent with our naming conventions.
* lavc/hevcdec: do not pass HEVCContext to decode_lt_rps()Anton Khirnov2024-06-111-4/+4
| | | | | | Pass the two numbers needed from it explicitly. Makes it clear that HEVCContext is not modified by this function.
* lavc/hevcdec: pass SliceHeader explicitly to pred_weight_table()Anton Khirnov2024-06-111-37/+38
| | | | | | And replace the HEVCContext* parameter by void *logctx. Makes it clear that only SliceHeader is modified by this function.
* lavc/hevcdec: only ignore INVALIDDATA in decode_nal_unit()Anton Khirnov2024-06-111-3/+7
| | | | | | All other errors should cause a failure, regardless of the value of err_recognition. Also, print a warning message when skipping invalid NAL units.
* lavc/hevcdec: drop an always-zero variableAnton Khirnov2024-06-112-8/+2
|
* lavc/hevcdec: move active PPS from HEVCParamSets to HEVCContextAnton Khirnov2024-06-1111-48/+45
| | | | | "Currently active PPS" is a property of the decoding process, not of the list of available parameter sets.
* lavc/hevcdec: stop accessing parameter sets through HEVCParamSetsAnton Khirnov2024-06-111-408/+470
| | | | | | Instead, accept PPS/SPS as function arguments. Makes the code shorter and significantly reduces diff in future commits.
* lavc/hevc/pred: stop accessing parameter sets through HEVCParamSetsAnton Khirnov2024-06-115-197/+202
| | | | | | Instead, accept PPS/SPS as function arguments. Makes the code shorter and significantly reduces diff in future commits.
* lavc/hevc/cabac: stop accessing parameter sets through HEVCParamSetsAnton Khirnov2024-06-113-96/+102
| | | | | | Instead, accept PPS/SPS as function arguments. Makes the code shorter and significantly reduces diff in future commits.
* lavc/hevc/filter: stop accessing parameter sets through HEVCParamSetsAnton Khirnov2024-06-113-161/+188
| | | | | | Instead, accept PPS as a function argument and retrieve SPS through it. Makes the code shorter and significantly reduces diff in future commits.
* lavc/hevc/mvs: stop accessing parameter sets through HEVCParamSetsAnton Khirnov2024-06-113-75/+87
| | | | | | Instead, accept PPS as a function argument and retrieve SPS through it. Makes the code shorter and significantly reduces diff in future commits.
* lavc/hevc/parser: stop using HEVCParamSets.[psv]psAnton Khirnov2024-06-111-31/+30
| | | | The parser does not need to preserve these between frames.
* lavc/hevc_ps: make SPS hold a reference to its VPSAnton Khirnov2024-06-114-8/+14
| | | | | | SPS and its dependent PPSes depend on, and are parsed for, specific VPS data. This will be useful in following commits.
* lavc/hevc_ps: make PPS hold a reference to its SPSAnton Khirnov2024-06-114-8/+10
| | | | | | PPS depends on, and is parsed for, specific SPS data. This will be useful in following commits.
* lavc/hevcdec: drop a redundant assignment in hevc_decode_frame()Anton Khirnov2024-06-111-1/+0
| | | | The exact same code is executed at the beginning of decode_nal_units()
* lavc/hevcdec: simplify conditionAnton Khirnov2024-06-111-1/+1
|
* lavc/hevcdec: do not free SliceHeader arrays in pic_arrays_free()Anton Khirnov2024-06-111-4/+0
| | | | | SliceHeader.{entry_point_offset,size,offset} are not derived from frame size and do not need to be freed here.
* lavf/tls_mbedtls: handle session ticket error code as no-opsfan52024-06-111-0/+3
| | | | | | | | | | When TLSv1.3 and session tickets are enabled mbedtls_ssl_read() will return an error code to inform about a received session ticket. This can simply be handled like EAGAIN instead of errornously aborting the connection. ref: https://github.com/Mbed-TLS/mbedtls/issues/8749 Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavf/tls_mbedtls: fix handling of certification validation failuressfan52024-06-111-1/+2
| | | | | | | | | | We manually check the verification status after the handshake has completed using mbedtls_ssl_get_verify_result(). However with VERIFY_REQUIRED mbedtls_ssl_handshake() already returns an error, so this code is never reached. Fix that by using VERIFY_OPTIONAL, which performs the verification but does not abort the handshake. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavf/tls_mbedtls: hook up debug message callbacksfan52024-06-111-0/+17
| | | | | | | Unfortunately this won't work out-of-the-box because mbedTLS only provides a global (not per-context) debug toggle. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavf/tls_mbedtls: add missing call to psa_crypto_initsfan52024-06-111-0/+10
| | | | | | This is mandatory depending on configuration or at least with mbedTLS 3.6.0. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavf/tls_mbedtls: handle more error codes for human-readable messagessfan52024-06-111-0/+9
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc/vc1dsp: match C block layout in inv_trans_4x8_rvvRémi Denis-Courmont2024-06-111-6/+15
| | | | | | | | Although checkasm does not verify this, the decoder requires that the transform updates the input block exactly like the C code does. This fixes vc1-ism, vc1_ilaced_twomv, vc1_sa00040, vc1_sa10091, vc1_sa10143, vc1_sa20021, vc1test_smm0005 and wmv3-drm-dec tests.
* lavc/vc1dsp: match C block layout in inv_trans_4x4_rvvRémi Denis-Courmont2024-06-111-4/+4
| | | | | | | | Although checkasm does not verify this, the decoder requires that the transform updates the input block exactly like the C code does. This fixes vc1-ism, vc1_ilaced_twomv, vc1_sa00040, vc1_sa10091, vc1_sa10143, vc1_sa20021, vc1test_smm0005 and wmv3-drm-dec tests.
* fftools/ffmpeg_mux_init: Fix leak when using non-encoding optionAndreas Rheinhardt2024-06-111-0/+1
| | | | | Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* configure: Disable DNN without backendAndreas Rheinhardt2024-06-111-1/+1
| | | | | | | The DNN filters are useless without a backend. This will also "fix" Coverity issues #1598288 and #1601718. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffmpeg_mux_init: Return error upon errorAndreas Rheinhardt2024-06-111-3/+7
| | | | | | | | | Currently it may return an uninitialized value. Introduced in 840f2bc18eddd72fa886aec30efc82991b920c45. Fixes Coverity issue #1603565. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vvc/inter: Don't return voidAndreas Rheinhardt2024-06-111-3/+6
| | | | | | | Returning a void is not allowed by the spec. Just return instead. Reviewed-by: Nuo Mi <nuomi2021@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* sws/range_convert: R-V V to/from JPEGRémi Denis-Courmont2024-06-103-1/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C908 X60 chrRangeFromJpeg_8_c: 2.7 2.5 chrRangeFromJpeg_8_rvv_i32: 1.7 1.5 chrRangeFromJpeg_24_c: 7.5 6.7 chrRangeFromJpeg_24_rvv_i32: 1.7 1.5 chrRangeFromJpeg_128_c: 55.2 34.7 chrRangeFromJpeg_128_rvv_i32: 6.5 3.0 chrRangeFromJpeg_144_c: 44.0 39.2 chrRangeFromJpeg_144_rvv_i32: 7.7 4.5 chrRangeFromJpeg_256_c: 78.2 69.5 chrRangeFromJpeg_256_rvv_i32: 12.2 6.0 chrRangeFromJpeg_512_c: 172.2 138.5 chrRangeFromJpeg_512_rvv_i32: 24.5 11.7 chrRangeToJpeg_8_c: 4.7 4.2 chrRangeToJpeg_8_rvv_i32: 2.0 1.7 chrRangeToJpeg_24_c: 13.7 12.2 chrRangeToJpeg_24_rvv_i32: 2.0 1.5 chrRangeToJpeg_128_c: 72.0 63.7 chrRangeToJpeg_128_rvv_i32: 6.7 3.2 chrRangeToJpeg_144_c: 80.7 71.7 chrRangeToJpeg_144_rvv_i32: 8.5 4.7 chrRangeToJpeg_256_c: 143.2 127.2 chrRangeToJpeg_256_rvv_i32: 13.5 6.5 chrRangeToJpeg_512_c: 285.7 253.7 chrRangeToJpeg_512_rvv_i32: 27.0 13.0 lumRangeFromJpeg_8_c: 1.7 1.5 lumRangeFromJpeg_8_rvv_i32: 1.2 1.0 lumRangeFromJpeg_24_c: 4.2 3.7 lumRangeFromJpeg_24_rvv_i32: 1.2 1.0 lumRangeFromJpeg_128_c: 21.7 19.2 lumRangeFromJpeg_128_rvv_i32: 3.7 1.7 lumRangeFromJpeg_144_c: 24.7 22.0 lumRangeFromJpeg_144_rvv_i32: 4.7 2.7 lumRangeFromJpeg_256_c: 43.7 39.0 lumRangeFromJpeg_256_rvv_i32: 7.5 3.2 lumRangeFromJpeg_512_c: 87.0 77.2 lumRangeFromJpeg_512_rvv_i32: 14.5 6.7 lumRangeToJpeg_8_c: 2.7 2.2 lumRangeToJpeg_8_rvv_i32: 1.0 1.0 lumRangeToJpeg_24_c: 7.2 6.5 lumRangeToJpeg_24_rvv_i32: 1.2 1.0 lumRangeToJpeg_128_c: 37.7 33.7 lumRangeToJpeg_128_rvv_i32: 3.7 2.0 lumRangeToJpeg_144_c: 42.5 37.7 lumRangeToJpeg_144_rvv_i32: 4.7 2.7 lumRangeToJpeg_256_c: 75.0 66.7 lumRangeToJpeg_256_rvv_i32: 7.5 3.5 lumRangeToJpeg_512_c: 149.5 133.0 lumRangeToJpeg_512_rvv_i32: 14.7 7.0
* swscale/aarch64: Add rgb24 to yuv implementationZhao Zhili2024-06-113-0/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test on Apple M1: rgb24_to_uv_8_c: 0.0 rgb24_to_uv_8_neon: 0.2 rgb24_to_uv_128_c: 1.0 rgb24_to_uv_128_neon: 0.5 rgb24_to_uv_1080_c: 7.0 rgb24_to_uv_1080_neon: 5.7 rgb24_to_uv_1920_c: 12.5 rgb24_to_uv_1920_neon: 9.5 rgb24_to_uv_half_8_c: 0.2 rgb24_to_uv_half_8_neon: 0.2 rgb24_to_uv_half_128_c: 1.0 rgb24_to_uv_half_128_neon: 0.5 rgb24_to_uv_half_1080_c: 6.2 rgb24_to_uv_half_1080_neon: 3.0 rgb24_to_uv_half_1920_c: 11.2 rgb24_to_uv_half_1920_neon: 5.2 rgb24_to_y_8_c: 0.2 rgb24_to_y_8_neon: 0.0 rgb24_to_y_128_c: 0.5 rgb24_to_y_128_neon: 0.5 rgb24_to_y_1080_c: 4.7 rgb24_to_y_1080_neon: 3.2 rgb24_to_y_1920_c: 8.0 rgb24_to_y_1920_neon: 5.7 On Pixel 6: rgb24_to_uv_8_c: 30.7 rgb24_to_uv_8_neon: 56.9 rgb24_to_uv_128_c: 213.9 rgb24_to_uv_128_neon: 173.2 rgb24_to_uv_1080_c: 1649.9 rgb24_to_uv_1080_neon: 1424.4 rgb24_to_uv_1920_c: 2907.9 rgb24_to_uv_1920_neon: 2480.7 rgb24_to_uv_half_8_c: 36.2 rgb24_to_uv_half_8_neon: 33.4 rgb24_to_uv_half_128_c: 167.9 rgb24_to_uv_half_128_neon: 99.4 rgb24_to_uv_half_1080_c: 1293.9 rgb24_to_uv_half_1080_neon: 778.7 rgb24_to_uv_half_1920_c: 2292.7 rgb24_to_uv_half_1920_neon: 1328.7 rgb24_to_y_8_c: 19.7 rgb24_to_y_8_neon: 27.7 rgb24_to_y_128_c: 129.9 rgb24_to_y_128_neon: 96.7 rgb24_to_y_1080_c: 995.4 rgb24_to_y_1080_neon: 767.7 rgb24_to_y_1920_c: 1747.4 rgb24_to_y_1920_neon: 1337.2 Note both tests use clang as compiler, which has vectorization enabled by default with -O3. Reviewed-by: Rémi Denis-Courmont <remi@remlab.net> Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* tests/checkasm: Fix build error when enable linux perf on AndroidZhao Zhili2024-06-111-9/+9
| | | | | | | B0 is defined by system header, see f0f596dbc6b for ref. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avutil/timer: Add clock_gettime as a fallback of AV_READ_TIMEZhao Zhili2024-06-111-0/+10
| | | | | | Reviewed-by: Rémi Denis-Courmont <remi@remlab.net> Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avutil/aarch64: Skip define AV_READ_TIME for appleZhao Zhili2024-06-111-7/+1
| | | | | | | It will fallback to mach_absolute_time inside libavutil/timer.h Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* x86/aacencdsp: fix ff_aac_quantize_bands_avx on unix64 ABIJames Almer2024-06-091-13/+16
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* swscale/x86/rgb_2_rgb: add missing wrap to ff_uyvytoyuv422_avx2James Almer2024-06-091-0/+2
| | | | | | Fixes old yasm. Signed-off-by: James Almer <jamrial@gmail.com>
* swscale/x86/rgb2rgb: add missing wrap for ff_uyvytoyuv422_avx2James Almer2024-06-091-1/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm/sw_rgb: fix alignment of buffers for rgb_to_yuv testsJames Almer2024-06-091-8/+8
| | | | | | | | src is apparently not guaranteed to be >8 byte aligned, but align to 16 nonetheless as the x86 asm will do unaligned loads anyway. dst is guaranteed to be 32 byte aligned for the Y plane, but 16 byte for UV. Signed-off-by: James Almer <jamrial@gmail.com>
* swscale/x86/rgb2rgb: remove mmxext version of shuffle_bytes_2103James Almer2024-06-092-68/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* swscale/x86/input: add AVX2 optimized uyvytoyuv422James Almer2024-06-092-8/+30
| | | | | | | | | uyvytoyuv422_c: 23991.8 uyvytoyuv422_sse2: 2817.8 uyvytoyuv422_avx: 2819.3 uyvytoyuv422_avx2: 1972.3 Signed-off-by: James Almer <jamrial@gmail.com>
* swscale/x86/input: add AVX2 optimized RGB32 to YUV functionsJames Almer2024-06-092-28/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | abgr_to_uv_8_c: 43.3 abgr_to_uv_8_sse2: 14.3 abgr_to_uv_8_avx: 15.3 abgr_to_uv_8_avx2: 18.8 abgr_to_uv_128_c: 650.3 abgr_to_uv_128_sse2: 110.8 abgr_to_uv_128_avx: 112.3 abgr_to_uv_128_avx2: 64.8 abgr_to_uv_1080_c: 5456.3 abgr_to_uv_1080_sse2: 888.8 abgr_to_uv_1080_avx: 900.8 abgr_to_uv_1080_avx2: 518.3 abgr_to_uv_1920_c: 9692.3 abgr_to_uv_1920_sse2: 1593.8 abgr_to_uv_1920_avx: 1613.3 abgr_to_uv_1920_avx2: 864.8 abgr_to_y_8_c: 23.3 abgr_to_y_8_sse2: 12.8 abgr_to_y_8_avx: 13.3 abgr_to_y_8_avx2: 17.3 abgr_to_y_128_c: 308.3 abgr_to_y_128_sse2: 67.3 abgr_to_y_128_avx: 66.8 abgr_to_y_128_avx2: 44.8 abgr_to_y_1080_c: 2371.3 abgr_to_y_1080_sse2: 512.8 abgr_to_y_1080_avx: 505.8 abgr_to_y_1080_avx2: 314.3 abgr_to_y_1920_c: 4177.3 abgr_to_y_1920_sse2: 915.8 abgr_to_y_1920_avx: 926.8 abgr_to_y_1920_avx2: 519.3 bgra_to_uv_8_c: 37.3 bgra_to_uv_8_sse2: 13.3 bgra_to_uv_8_avx: 14.8 bgra_to_uv_8_avx2: 19.8 bgra_to_uv_128_c: 563.8 bgra_to_uv_128_sse2: 111.3 bgra_to_uv_128_avx: 112.3 bgra_to_uv_128_avx2: 64.8 bgra_to_uv_1080_c: 4691.8 bgra_to_uv_1080_sse2: 893.8 bgra_to_uv_1080_avx: 899.8 bgra_to_uv_1080_avx2: 517.8 bgra_to_uv_1920_c: 8332.8 bgra_to_uv_1920_sse2: 1590.8 bgra_to_uv_1920_avx: 1605.8 bgra_to_uv_1920_avx2: 867.3 bgra_to_y_8_c: 22.3 bgra_to_y_8_sse2: 12.8 bgra_to_y_8_avx: 12.8 bgra_to_y_8_avx2: 17.3 bgra_to_y_128_c: 291.3 bgra_to_y_128_sse2: 67.8 bgra_to_y_128_avx: 69.3 bgra_to_y_128_avx2: 45.3 bgra_to_y_1080_c: 2357.3 bgra_to_y_1080_sse2: 508.3 bgra_to_y_1080_avx: 518.3 bgra_to_y_1080_avx2: 399.8 bgra_to_y_1920_c: 4202.8 bgra_to_y_1920_sse2: 906.8 bgra_to_y_1920_avx: 907.3 bgra_to_y_1920_avx2: 526.3 Signed-off-by: James Almer <jamrial@gmail.com>
* swscale/x86/input: add AVX2 optimized RGB24 to YUV functionsJames Almer2024-06-092-28/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rgb24_to_uv_8_c: 39.3 rgb24_to_uv_8_sse2: 14.3 rgb24_to_uv_8_ssse3: 13.3 rgb24_to_uv_8_avx: 12.8 rgb24_to_uv_8_avx2: 14.3 rgb24_to_uv_128_c: 582.8 rgb24_to_uv_128_sse2: 127.3 rgb24_to_uv_128_ssse3: 107.3 rgb24_to_uv_128_avx: 111.3 rgb24_to_uv_128_avx2: 62.3 rgb24_to_uv_1080_c: 4981.3 rgb24_to_uv_1080_sse2: 1048.3 rgb24_to_uv_1080_ssse3: 876.8 rgb24_to_uv_1080_avx: 887.8 rgb24_to_uv_1080_avx2: 492.3 rgb24_to_uv_1280_c: 5906.8 rgb24_to_uv_1280_sse2: 1263.3 rgb24_to_uv_1280_ssse3: 1048.3 rgb24_to_uv_1280_avx: 1045.8 rgb24_to_uv_1280_avx2: 579.8 rgb24_to_uv_1920_c: 8665.3 rgb24_to_uv_1920_sse2: 1888.8 rgb24_to_uv_1920_ssse3: 1571.8 rgb24_to_uv_1920_avx: 1558.8 rgb24_to_uv_1920_avx2: 869.3 rgb24_to_y_8_c: 20.3 rgb24_to_y_8_sse2: 11.8 rgb24_to_y_8_ssse3: 10.3 rgb24_to_y_8_avx: 10.3 rgb24_to_y_8_avx2: 10.8 rgb24_to_y_128_c: 284.8 rgb24_to_y_128_sse2: 83.3 rgb24_to_y_128_ssse3: 66.8 rgb24_to_y_128_avx: 64.8 rgb24_to_y_128_avx2: 39.3 rgb24_to_y_1080_c: 2451.3 rgb24_to_y_1080_sse2: 696.3 rgb24_to_y_1080_ssse3: 516.8 rgb24_to_y_1080_avx: 518.8 rgb24_to_y_1080_avx2: 301.8 rgb24_to_y_1280_c: 2892.8 rgb24_to_y_1280_sse2: 816.8 rgb24_to_y_1280_ssse3: 623.3 rgb24_to_y_1280_avx: 616.3 rgb24_to_y_1280_avx2: 350.8 rgb24_to_y_1920_c: 4338.8 rgb24_to_y_1920_sse2: 1210.8 rgb24_to_y_1920_ssse3: 928.3 rgb24_to_y_1920_avx: 920.3 rgb24_to_y_1920_avx2: 534.8 Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm/sw_rgb: test rgb32/rgb32_1 to yuvJames Almer2024-06-091-6/+22
| | | | | | | Test all four pixel formats, but only bench the two native endian ones for a given target. Signed-off-by: James Almer <jamrial@gmail.com>
* x86/aacencdsp: add AVX version of quantize_bandsJames Almer2024-06-094-6/+33
| | | | | | | | | | | quant_bands_signed_c: 1928.0 quant_bands_signed_sse2: 406.0 quant_bands_signed_avx: 207.0 quant_bands_unsigned_c: 1702.0 quant_bands_unsigned_sse2: 404.0 quant_bands_unsigned_avx: 209.0 Signed-off-by: James Almer <jamrial@gmail.com>
* sws/input: R-V V 32-bit RGB to halved UVRémi Denis-Courmont2024-06-092-4/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | T-Head C908: abgr_to_uv_half_8_c: 2.2 abgr_to_uv_half_8_rvv_i32: 3.5 abgr_to_uv_half_128_c: 44.0 abgr_to_uv_half_128_rvv_i32: 13.0 abgr_to_uv_half_1080_c: 245.0 abgr_to_uv_half_1080_rvv_i32: 107.2 abgr_to_uv_half_1920_c: 406.2 abgr_to_uv_half_1920_rvv_i32: 188.7 bgra_to_uv_half_8_c: 2.2 bgra_to_uv_half_8_rvv_i32: 3.5 bgra_to_uv_half_128_c: 26.5 bgra_to_uv_half_128_rvv_i32: 13.0 bgra_to_uv_half_1080_c: 219.7 bgra_to_uv_half_1080_rvv_i32: 107.0 bgra_to_uv_half_1920_c: 406.7 bgra_to_uv_half_1920_rvv_i32: 188.7 SpacemiT X60: abgr_to_uv_half_8_c: 2.2 abgr_to_uv_half_8_rvv_i32: 3.0 abgr_to_uv_half_128_c: 28.2 abgr_to_uv_half_128_rvv_i32: 5.7 abgr_to_uv_half_1080_c: 235.5 abgr_to_uv_half_1080_rvv_i32: 47.7 abgr_to_uv_half_1920_c: 418.2 abgr_to_uv_half_1920_rvv_i32: 84.0 bgra_to_uv_half_8_c: 2.0 bgra_to_uv_half_8_rvv_i32: 3.0 bgra_to_uv_half_128_c: 23.7 bgra_to_uv_half_128_rvv_i32: 5.7 bgra_to_uv_half_1080_c: 195.5 bgra_to_uv_half_1080_rvv_i32: 47.7 bgra_to_uv_half_1920_c: 346.5 bgra_to_uv_half_1920_rvv_i32: 84.0
* sws/input: R-V V 32-bit RGB to UVRémi Denis-Courmont2024-06-092-0/+60
|
* sws/input: R-V V 32-bit RGB to YRémi Denis-Courmont2024-06-092-14/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | T-Head C908: abgr_to_y_8_c: 2.5 abgr_to_y_8_rvv_i32: 2.2 abgr_to_y_128_c: 37.0 abgr_to_y_128_rvv_i32: 8.5 abgr_to_y_1080_c: 327.0 abgr_to_y_1080_rvv_i32: 69.5 abgr_to_y_1920_c: 552.0 abgr_to_y_1920_rvv_i32: 122.2 bgra_to_y_8_c: 2.5 bgra_to_y_8_rvv_i32: 2.2 bgra_to_y_128_c: 37.2 bgra_to_y_128_rvv_i32: 8.5 bgra_to_y_1080_c: 310.2 bgra_to_y_1080_rvv_i32: 69.5 bgra_to_y_1920_c: 568.2 bgra_to_y_1920_rvv_i32: 122.5 SpacemiT X60: abgr_to_y_8_c: 2.5 abgr_to_y_8_rvv_i32: 2.0 abgr_to_y_128_c: 33.0 abgr_to_y_128_rvv_i32: 3.7 abgr_to_y_1080_c: 276.0 abgr_to_y_1080_rvv_i32: 31.5 abgr_to_y_1920_c: 493.7 abgr_to_y_1920_rvv_i32: 55.5 bgra_to_y_8_c: 2.2 bgra_to_y_8_rvv_i32: 2.0 bgra_to_y_128_c: 33.0 bgra_to_y_128_rvv_i32: 3.7 bgra_to_y_1080_c: 276.0 bgra_to_y_1080_rvv_i32: 31.5 bgra_to_y_1920_c: 490.7 bgra_to_y_1920_rvv_i32: 55.5
* swscale/x86/rgb2rgb: DetemplatizeAndreas Rheinhardt2024-06-092-2334/+2253
| | | | | | | | Every function in rgb2rgb_template.c is only compiled exactly once; there is no overlap at all between the MMXEXT and the SSE2 functions, so detemplatize it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* swscale/x86/rgb2rgb_template: Remove unused uyvytoyv12Andreas Rheinhardt2024-06-091-104/+0
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>