Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
![]() |
#422 | Link |
Registered User
Join Date: Jul 2015
Posts: 807
|
Test
avifenc.exe -a tune=butteraugli -j 4 160011_architecture-air-conditioner-building.jpg 160011_architecture-air-conditioner-building.avif ERROR: Failed to finish encoding: Encoding of color planes failed heifenc.exe image_21447_48bit.png -v -L -q 100 --avif -b 8 --no-alpha -p chroma=444 -p speed=5 -p tune=butteraugli --matrix_coefficients=1 --full_range_flag=0 -o image_21447_36bit.avif ERROR: |
![]() |
![]() |
![]() |
#423 | Link |
Registered User
Join Date: Jul 2015
Posts: 807
|
New codecs for maniac 2021.03.29
https://www.sendspace.com/file/zu5ipq Problem with webp2: Code:
#if !defined(_MSC_VER) #ifdef WP2_HAVE_BOOST #include <boost/stacktrace.hpp> #include <sstream> #else #include "execinfo.h" #endif #endif #if !defined(_WIN32) || !defined(_WIN64) libyuv 1785 - problem with SIMD AVX2 GCC C:\Users\KOMPUT~1\AppData\Local\Temp\ccLXwvku.s: Assembler messages: C:\Users\KOMPUT~1\AppData\Local\Temp\ccLXwvku.s:7873: Error: operand type mismatch for `vbroadcastss' C:\Users\KOMPUT~1\AppData\Local\Temp\ccLXwvku.s:7948: Error: operand type mismatch for `vbroadcastss' Change: Code:
#ifdef HAS_ARGBTOAR30ROW_SSSE3 void ARGBToAR30Row_SSSE3(const uint8_t* src, uint8_t* dst, int width) { ... } void ABGRToAR30Row_SSSE3(const uint8_t* src, uint8_t* dst, int width) { ... } #endif Code:
#ifdef HAS_ARGBTOAR64ROW_SSSE3 void ARGBToAR64Row_SSSE3(const uint8_t* src_argb, uint16_t* dst_ar64, int width) { ... } void AR64ToARGBRow_SSSE3(const uint16_t* src_ar64, uint8_t* dst_argb, int width) { ... } void AB64ToARGBRow_SSSE3(const uint16_t* src_ab64, uint8_t* dst_argb, int width) { ... } #endif Code:
#if defined(HAS_ARGBTOYROW_SSSE3) || defined(HAS_I422TOARGBROW_SSSE3) void BGRAToYRow_SSSE3(const uint8_t* src_bgra, uint8_t* dst_y, int width) { ... } void BGRAToUVRow_SSSE3(const uint8_t* src_bgra, int src_stride_bgra, uint8_t* dst_u, uint8_t* dst_v, int width) { ... } void ABGRToYRow_SSSE3(const uint8_t* src_abgr, uint8_t* dst_y, int width) { ... } void RGBAToYRow_SSSE3(const uint8_t* src_rgba, uint8_t* dst_y, int width) { ... } void ABGRToUVRow_SSSE3(const uint8_t* src_abgr, int src_stride_abgr, uint8_t* dst_u, uint8_t* dst_v, int width) { ... } void RGBAToUVRow_SSSE3(const uint8_t* src_rgba, int src_stride_rgba, uint8_t* dst_u, uint8_t* dst_v, int width) { ... } #endif Code:
#ifdef HAS_CONVERT16TO8ROW_SSSE3 void Convert16To8Row_SSSE3(const uint16_t* src_y, uint8_t* dst_y, int scale, int width) { ... } #endif Code:
#ifdef HAS_HALFMERGEUVROW_SSSE3 void HalfMergeUVRow_SSSE3(const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, uint8_t* dst_uv, int width) { ... } #endif Code:
#ifdef HAS_HALFMERGEUVROW_AVX2 void HalfMergeUVRow_AVX2(const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, uint8_t* dst_uv, int width) { ... } #endif Code:
ANY11(RGB565ToARGBRow_Any_SSE2, RGB565ToARGBRow_SSE2, 0, 2, 4, 7) ANY11(ARGB1555ToARGBRow_Any_SSE2, ARGB1555ToARGBRow_SSE2, 0, 2, 4, 7) ANY11(ARGB4444ToARGBRow_Any_SSE2, ARGB4444ToARGBRow_SSE2, 0, 2, 4, 7) #if defined(HAS_RGB24TOARGBROW_SSSE3) ANY11(RGB24ToARGBRow_Any_SSSE3, RGB24ToARGBRow_SSSE3, 0, 3, 4, 15) ANY11(RAWToARGBRow_Any_SSSE3, RAWToARGBRow_SSSE3, 0, 3, 4, 15) #endif Code:
ANY11(YUY2ToYRow_Any_SSE2, YUY2ToYRow_SSE2, 1, 4, 1, 15) ANY11(UYVYToYRow_Any_SSE2, UYVYToYRow_SSE2, 1, 4, 1, 15) #ifdef HAS_BGRATOYROW_SSSE3 ANY11(BGRAToYRow_Any_SSSE3, BGRAToYRow_SSSE3, 0, 4, 1, 15) ANY11(ABGRToYRow_Any_SSSE3, ABGRToYRow_SSSE3, 0, 4, 1, 15) ANY11(RGBAToYRow_Any_SSSE3, RGBAToYRow_SSSE3, 0, 4, 1, 15) #endif Code:
#ifdef HAS_SCALEROWUP2BILINEAR_16_SSE2 SU2BLANY(ScaleRowUp2_Bilinear_16_Any_SSE2, ScaleRowUp2_Bilinear_16_SSE2, ScaleRowUp2_Bilinear_16_C, 7, uint16_t) #endif Code:
#ifdef HAS_SCALEROWUP2BILINEAR_16_SSSE3 if (TestCpuFlag(kCpuHasSSSE3)) { Scale2RowUp = ScaleRowUp2_Bilinear_16_Any_SSSE3; } #endif Code:
#ifdef HAS_SCALEROWDOWN2_SSSE3 void ScaleRowDown2_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } void ScaleRowDown2Linear_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } void ScaleRowDown2Box_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } #endif Code:
#ifdef HAS_SCALEROWDOWN4_SSSE3 void ScaleRowDown4_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } void ScaleRowDown4Box_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } #endif Code:
#ifdef HAS_SCALEROWDOWN34_SSSE3 void ScaleRowDown34_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } void ScaleRowDown34_1_Box_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } void ScaleRowDown34_0_Box_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } void ScaleRowDown38_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } void ScaleRowDown38_2_Box_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } void ScaleRowDown38_3_Box_SSSE3(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst_ptr, int dst_width) { ... } #endif Code:
#ifdef HAS_SCALEFILTERCOLS_SSSE3 void ScaleFilterCols_SSSE3(uint8_t* dst_ptr, const uint8_t* src_ptr, int dst_width, int x, int dx) { ... } #endif Code:
#ifdef HAS_SCALEARGBFILTERCOLS_SSSE3 void ScaleARGBFilterCols_SSSE3(uint8_t* dst_argb, const uint8_t* src_argb, int dst_width, int x, int dx) { ... } #endif Code:
#ifdef __AVX2__ // Visual C 2012 required for AVX2. #if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \ _MSC_VER >= 1700 #define VISUALC_HAS_AVX2 #endif // VisualStudio >= 2012 // clang >= 3.4.0 required for AVX2. #if defined(__clang__) && (defined(__x86_64__) || defined(__i386__)) #if (__clang_major__ > 3) || (__clang_major__ == 3 && (__clang_minor__ >= 4)) #define CLANG_HAS_AVX2 #endif // clang >= 3.4 #endif // __clang__ #if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) #if (__GNUC__ > 4) || (__GNUC__ == 4 && (__GNUC_MINOR__ >= 7)) #define GCC_HAS_AVX2 #endif // GNUC >= 4.7 #endif // __GNUC__ #endif // The following are available for Visual C and GCC: #if !defined(LIBYUV_DISABLE_X86) && \ (defined(__x86_64__) || defined(__i386__) || defined(_M_IX86)) #ifdef __SSE4_1__ #define HAS_HASHDJB2_SSE41 #endif #define HAS_SUMSQUAREERROR_SSE2 #ifdef __SSE4_2__ #define HAS_HAMMINGDISTANCE_SSE42 #endif #endif Code:
// The following are available for GCC and clangcl 64 bit: #if !defined(LIBYUV_DISABLE_X86) && defined(__SSSE3__) && \ (defined(__x86_64__) || defined(__i386__)) && !defined(_MSC_VER) #define HAS_HAMMINGDISTANCE_SSSE3 #endif // The following are available for GCC and clangcl 64 bit: #if !defined(LIBYUV_DISABLE_X86) && \ (defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) && \ (defined(__x86_64__) || defined(__i386__)) && !defined(_MSC_VER) #define HAS_HAMMINGDISTANCE_AVX2 #endif Code:
#ifdef __AVX2__ // GCC >= 4.7.0 required for AVX2. #if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) #if (__GNUC__ > 4) || (__GNUC__ == 4 && (__GNUC_MINOR__ >= 7)) #define GCC_HAS_AVX2 #endif // GNUC >= 4.7 #endif // __GNUC__ // clang >= 3.4.0 required for AVX2. #if defined(__clang__) && (defined(__x86_64__) || defined(__i386__)) #if (__clang_major__ > 3) || (__clang_major__ == 3 && (__clang_minor__ >= 4)) #define CLANG_HAS_AVX2 #endif // clang >= 3.4 #endif // __clang__ // Visual C 2012 required for AVX2. #if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \ _MSC_VER >= 1700 #define VISUALC_HAS_AVX2 #endif // VisualStudio >= 2012 #endif // clang >= 6.0.0 required for AVX512. #if defined(__clang__) && (defined(__x86_64__) || defined(__i386__)) // clang in xcode follows a different versioning scheme. // TODO(fbarchard): fix xcode 9 ios b/789. #if (__clang_major__ >= 7) && !defined(__APPLE__) #define CLANG_HAS_AVX512 #endif // clang >= 7 #endif // __clang__ Code:
#if (defined(__x86_64__) || defined(__i386__)) && !defined(_MSC_VER) Last edited by Jamaika; 5th April 2021 at 12:03. |
![]() |
![]() |
![]() |
#424 | Link |
Registered User
Join Date: Jul 2015
Posts: 807
|
Opensource 2021.04.04
https://www.sendspace.com/file/9dnpbl Test new GCC 11.0.1 with codec google https://www.sendspace.com/file/59w1iw Test new GCC 11.0.1 with codec google with AVX2 https://www.sendspace.com/file/42l6fk Observed differences. I don't know why I can run AVX2 codecs on my old computer. Either changes have been made to GCC 11 or Windows, or something compiles badly. Last edited by Jamaika; 5th April 2021 at 18:49. |
![]() |
![]() |
![]() |
#425 | Link | |
Registered User
Join Date: Jun 2003
Posts: 129
|
Quote:
Thanks! |
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|