Builder ffmpegsos-solaris10-sparc Build #13742
Results:
Failed
SourceStamp:
| Project | ffmpeg |
| Repository | https://git.ffmpeg.org/ffmpeg.git |
| Branch | master |
| Revision | 406c5a37aa666d648928a142d367483fe1acdd17 |
| Changes | 10 changes |
BuildSlave:
unstable10sReason:
The SingleBranchScheduler scheduler named 'schedule-ffmpegsos-solaris10-sparc' triggered this build
Steps and Logfiles:
Build Properties:
| Name | Value | Source |
|---|---|---|
| branch | master | Build |
| builddir | /export/home/buildbot-unstable10s/slave/ffmpegsos-solaris10-sparc | slave |
| buildername | ffmpegsos-solaris10-sparc | Builder |
| buildnumber | 13742 | Build |
| codebase | Build | |
| project | ffmpeg | Build |
| repository | https://git.ffmpeg.org/ffmpeg.git | Build |
| revision | 406c5a37aa666d648928a142d367483fe1acdd17 | Build |
| scheduler | schedule-ffmpegsos-solaris10-sparc | Scheduler |
| slavename | unstable10s | BuildSlave |
| workdir | /export/home/buildbot-unstable10s/slave/ffmpegsos-solaris10-sparc | slave (deprecated) |
Forced Build Properties:
| Name | Label | Value |
|---|
Responsible Users:
- Andreas Rheinhardtandreas.rheinhardt@outlook.com
Timing:
| Start | Sat Aug 1 15:58:01 2026 |
| End | Sat Aug 1 15:59:11 2026 |
| Elapsed | 1 mins, 10 secs |
All Changes:
:
Change #276706
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision b5483446d33c6a883d7eec247498a3cc067bfeba Comments
avcodec/x86/vc1dsp_init: Avoid fpel wrappers One can just reuse the already existing SIZExSIZE fpel wrappers. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/x86/fpel.asm
- libavcodec/x86/vc1dsp_init.c
Change #276707
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 933b195bcb2cf1cd8e2c7ba0967452074f01e77d Comments
avcodec/vc1dsp: Avoid negating unnecessarily Due to the earlier "if (a1 < a0 || a2 < a0)" check it is guaranteed that min(a1,a2) is < a0, allowing simplifications. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/vc1dsp.c
Change #276708
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision f30ef7eec41dce9ff0f134dcd579b5ade95b5b1b Comments
avcodec/x86/vc1dsp_loopfilter: Avoid imul Multipliying a GPR by 0x01010101 splats a byte to a dword; the intention was to avoid vector shuffles lateron, yet this is not true because the byte splat necessitates a byte->word conversion lateron. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/x86/vc1dsp_loopfilter.asm
Change #276709
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 8434869cfdf3c708c048ce7db1519d4a27f20e1d Comments
avcodec/x86/vc1dsp_loopfilter: Reduce number of GPRs used Reuse the register that held pq for this instead of using another one. This saves a push+pop on 32bit systems and avoids REX prefixes on Unix64. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/x86/vc1dsp_loopfilter.asm
Change #276710
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision f2035a4605734b15847ebf6ffb0d6bd0b1507de3 Comments
avcodec/x86/vc1dsp_loopfilter: Reorder instructions slightly In particular, apply the rounding before adding the result of the multiplication. No change in performance here. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/x86/vc1dsp_loopfilter.asm
Change #276711
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 55bdc109a1911044d11c2a8d8b447a55f6bbe059 Comments
avcodec/x86/vc1dsp_loopfilter: Avoid unnecessary PABSW The loop filter is only active if min(a1,a2)<abs(a0) which is done via masking. Ergo the sign of min(a1,a2)-abs(a0) is known (always negative) and one does not need to use PABSW to get its absolute value. This gives a small speedup. Old benchmarks: vc1dsp.vc1_h_loop_filter4_bestcase_c: 3.1 vc1dsp.vc1_h_loop_filter4_bestcase_ssse3: 33.6 ( 0.09x) vc1dsp.vc1_h_loop_filter4_worstcase_c: 43.0 vc1dsp.vc1_h_loop_filter4_worstcase_ssse3: 33.4 ( 1.29x) vc1dsp.vc1_h_loop_filter8_bestcase_c: 6.0 vc1dsp.vc1_h_loop_filter8_bestcase_sse2: 38.4 ( 0.16x) vc1dsp.vc1_h_loop_filter8_bestcase_ssse3: 37.2 ( 0.16x) vc1dsp.vc1_h_loop_filter8_bestcase_sse4: 37.6 ( 0.16x) vc1dsp.vc1_h_loop_filter8_worstcase_c: 87.5 vc1dsp.vc1_h_loop_filter8_worstcase_sse2: 38.4 ( 2.28x) vc1dsp.vc1_h_loop_filter8_worstcase_ssse3: 37.6 ( 2.32x) vc1dsp.vc1_h_loop_filter8_worstcase_sse4: 37.6 ( 2.32x) vc1dsp.vc1_h_loop_filter16_bestcase_c: 11.7 vc1dsp.vc1_h_loop_filter16_bestcase_sse2: 42.0 ( 0.28x) vc1dsp.vc1_h_loop_filter16_bestcase_ssse3: 41.4 ( 0.28x) vc1dsp.vc1_h_loop_filter16_bestcase_sse4: 44.8 ( 0.26x) vc1dsp.vc1_h_loop_filter16_worstcase_c: 167.2 vc1dsp.vc1_h_loop_filter16_worstcase_sse2: 41.8 ( 4.00x) vc1dsp.vc1_h_loop_filter16_worstcase_ssse3: 41.7 ( 3.92x) vc1dsp.vc1_h_loop_filter16_worstcase_sse4: 45.3 ( 3.69x) vc1dsp.vc1_v_loop_filter4_bestcase_c: 3.6 vc1dsp.vc1_v_loop_filter4_bestcase_ssse3: 17.1 ( 0.21x) vc1dsp.vc1_v_loop_filter4_worstcase_c: 49.3 vc1dsp.vc1_v_loop_filter4_worstcase_ssse3: 17.0 ( 2.89x) vc1dsp.vc1_v_loop_filter8_bestcase_c: 6.3 vc1dsp.vc1_v_loop_filter8_bestcase_sse2: 17.7 ( 0.36x) vc1dsp.vc1_v_loop_filter8_bestcase_ssse3: 16.8 ( 0.38x) vc1dsp.vc1_v_loop_filter8_worstcase_c: 85.8 vc1dsp.vc1_v_loop_filter8_worstcase_sse2: 17.7 ( 4.83x) vc1dsp.vc1_v_loop_filter8_worstcase_ssse3: 16.7 ( 5.12x) vc1dsp.vc1_v_loop_filter16_bestcase_c: 12.7 vc1dsp.vc1_v_loop_filter16_bestcase_sse2: 26.4 ( 0.48x) vc1dsp.vc1_v_loop_filter16_bestcase_ssse3: 24.0 ( 0.53x) vc1dsp.vc1_v_loop_filter16_worstcase_c: 170.1 vc1dsp.vc1_v_loop_filter16_worstcase_sse2: 25.7 ( 6.63x) vc1dsp.vc1_v_loop_filter16_worstcase_ssse3: 25.2 ( 6.75x) New benchmarks: vc1dsp.vc1_h_loop_filter4_bestcase_c: 3.0 vc1dsp.vc1_h_loop_filter4_bestcase_ssse3: 32.4 ( 0.09x) vc1dsp.vc1_h_loop_filter4_worstcase_c: 42.3 vc1dsp.vc1_h_loop_filter4_worstcase_ssse3: 32.7 ( 1.29x) vc1dsp.vc1_h_loop_filter8_bestcase_c: 6.1 vc1dsp.vc1_h_loop_filter8_bestcase_sse2: 37.1 ( 0.17x) vc1dsp.vc1_h_loop_filter8_bestcase_ssse3: 36.4 ( 0.17x) vc1dsp.vc1_h_loop_filter8_bestcase_sse4: 36.6 ( 0.17x) vc1dsp.vc1_h_loop_filter8_worstcase_c: 87.2 vc1dsp.vc1_h_loop_filter8_worstcase_sse2: 36.9 ( 2.36x) vc1dsp.vc1_h_loop_filter8_worstcase_ssse3: 35.8 ( 2.35x) vc1dsp.vc1_h_loop_filter8_worstcase_sse4: 36.7 ( 2.38x) vc1dsp.vc1_h_loop_filter16_bestcase_c: 12.0 vc1dsp.vc1_h_loop_filter16_bestcase_sse2: 40.0 ( 0.30x) vc1dsp.vc1_h_loop_filter16_bestcase_ssse3: 39.8 ( 0.30x) vc1dsp.vc1_h_loop_filter16_bestcase_sse4: 44.4 ( 0.27x) vc1dsp.vc1_h_loop_filter16_worstcase_c: 166.4 vc1dsp.vc1_h_loop_filter16_worstcase_sse2: 39.9 ( 4.17x) vc1dsp.vc1_h_loop_filter16_worstcase_ssse3: 39.7 ( 4.19x) vc1dsp.vc1_h_loop_filter16_worstcase_sse4: 43.8 ( 3.80x) vc1dsp.vc1_v_loop_filter4_bestcase_c: 3.6 vc1dsp.vc1_v_loop_filter4_bestcase_ssse3: 16.3 ( 0.22x) vc1dsp.vc1_v_loop_filter4_worstcase_c: 49.3 vc1dsp.vc1_v_loop_filter4_worstcase_ssse3: 16.2 ( 3.04x) vc1dsp.vc1_v_loop_filter8_bestcase_c: 6.4 vc1dsp.vc1_v_loop_filter8_bestcase_sse2: 16.3 ( 0.39x) vc1dsp.vc1_v_loop_filter8_bestcase_ssse3: 15.8 ( 0.40x) vc1dsp.vc1_v_loop_filter8_worstcase_c: 85.7 vc1dsp.vc1_v_loop_filter8_worstcase_sse2: 16.3 ( 5.24x) vc1dsp.vc1_v_loop_filter8_worstcase_ssse3: 15.8 ( 5.42x) vc1dsp.vc1_v_loop_filter16_bestcase_c: 12.7 vc1dsp.vc1_v_loop_filter16_bestcase_sse2: 24.7 ( 0.52x) vc1dsp.vc1_v_loop_filter16_bestcase_ssse3: 22.7 ( 0.56x) vc1dsp.vc1_v_loop_filter16_worstcase_c: 169.4 vc1dsp.vc1_v_loop_filter16_worstcase_sse2: 24.1 ( 7.03x) vc1dsp.vc1_v_loop_filter16_worstcase_ssse3: 24.6 ( 6.88x) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/x86/vc1dsp_loopfilter.asm
Change #276712
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 8f05c446a1e3f16785b3768623050a23c7d7bfb1 Comments
avcodec/x86/vc1dsp_loopfilter: Use psignw when available The VC1 loop filter uses something equivalent to if (a0_sign ^ clip_sign) { if (clip_sign) d = -d; } else d = 0; which can be mapped to psignw. Old benchmarks: vc1dsp.vc1_h_loop_filter4_bestcase_c: 3.0 vc1dsp.vc1_h_loop_filter4_bestcase_ssse3: 32.4 ( 0.09x) vc1dsp.vc1_h_loop_filter4_worstcase_c: 42.3 vc1dsp.vc1_h_loop_filter4_worstcase_ssse3: 32.7 ( 1.29x) vc1dsp.vc1_h_loop_filter8_bestcase_c: 6.1 vc1dsp.vc1_h_loop_filter8_bestcase_sse2: 37.1 ( 0.17x) vc1dsp.vc1_h_loop_filter8_bestcase_ssse3: 36.4 ( 0.17x) vc1dsp.vc1_h_loop_filter8_bestcase_sse4: 36.6 ( 0.17x) vc1dsp.vc1_h_loop_filter8_worstcase_c: 87.2 vc1dsp.vc1_h_loop_filter8_worstcase_sse2: 36.9 ( 2.36x) vc1dsp.vc1_h_loop_filter8_worstcase_ssse3: 35.8 ( 2.35x) vc1dsp.vc1_h_loop_filter8_worstcase_sse4: 36.7 ( 2.38x) vc1dsp.vc1_h_loop_filter16_bestcase_c: 12.0 vc1dsp.vc1_h_loop_filter16_bestcase_sse2: 40.0 ( 0.30x) vc1dsp.vc1_h_loop_filter16_bestcase_ssse3: 39.8 ( 0.30x) vc1dsp.vc1_h_loop_filter16_bestcase_sse4: 44.4 ( 0.27x) vc1dsp.vc1_h_loop_filter16_worstcase_c: 166.4 vc1dsp.vc1_h_loop_filter16_worstcase_sse2: 39.9 ( 4.17x) vc1dsp.vc1_h_loop_filter16_worstcase_ssse3: 39.7 ( 4.19x) vc1dsp.vc1_h_loop_filter16_worstcase_sse4: 43.8 ( 3.80x) vc1dsp.vc1_v_loop_filter4_bestcase_c: 3.6 vc1dsp.vc1_v_loop_filter4_bestcase_ssse3: 16.3 ( 0.22x) vc1dsp.vc1_v_loop_filter4_worstcase_c: 49.3 vc1dsp.vc1_v_loop_filter4_worstcase_ssse3: 16.2 ( 3.04x) vc1dsp.vc1_v_loop_filter8_bestcase_c: 6.4 vc1dsp.vc1_v_loop_filter8_bestcase_sse2: 16.3 ( 0.39x) vc1dsp.vc1_v_loop_filter8_bestcase_ssse3: 15.8 ( 0.40x) vc1dsp.vc1_v_loop_filter8_worstcase_c: 85.7 vc1dsp.vc1_v_loop_filter8_worstcase_sse2: 16.3 ( 5.24x) vc1dsp.vc1_v_loop_filter8_worstcase_ssse3: 15.8 ( 5.42x) vc1dsp.vc1_v_loop_filter16_bestcase_c: 12.7 vc1dsp.vc1_v_loop_filter16_bestcase_sse2: 24.7 ( 0.52x) vc1dsp.vc1_v_loop_filter16_bestcase_ssse3: 22.7 ( 0.56x) vc1dsp.vc1_v_loop_filter16_worstcase_c: 169.4 vc1dsp.vc1_v_loop_filter16_worstcase_sse2: 24.1 ( 7.03x) vc1dsp.vc1_v_loop_filter16_worstcase_ssse3: 24.6 ( 6.88x) New benchmarks: vc1dsp.vc1_h_loop_filter4_bestcase_c: 3.0 vc1dsp.vc1_h_loop_filter4_bestcase_ssse3: 32.0 ( 0.09x) vc1dsp.vc1_h_loop_filter4_worstcase_c: 43.2 vc1dsp.vc1_h_loop_filter4_worstcase_ssse3: 31.8 ( 1.36x) vc1dsp.vc1_h_loop_filter8_bestcase_c: 6.0 vc1dsp.vc1_h_loop_filter8_bestcase_sse2: 36.9 ( 0.16x) vc1dsp.vc1_h_loop_filter8_bestcase_ssse3: 35.5 ( 0.17x) vc1dsp.vc1_h_loop_filter8_bestcase_sse4: 36.2 ( 0.17x) vc1dsp.vc1_h_loop_filter8_worstcase_c: 87.3 vc1dsp.vc1_h_loop_filter8_worstcase_sse2: 37.6 ( 2.33x) vc1dsp.vc1_h_loop_filter8_worstcase_ssse3: 35.3 ( 2.40x) vc1dsp.vc1_h_loop_filter8_worstcase_sse4: 36.1 ( 2.42x) vc1dsp.vc1_h_loop_filter16_bestcase_c: 11.8 vc1dsp.vc1_h_loop_filter16_bestcase_sse2: 40.1 ( 0.29x) vc1dsp.vc1_h_loop_filter16_bestcase_ssse3: 39.2 ( 0.30x) vc1dsp.vc1_h_loop_filter16_bestcase_sse4: 42.9 ( 0.28x) vc1dsp.vc1_h_loop_filter16_worstcase_c: 166.5 vc1dsp.vc1_h_loop_filter16_worstcase_sse2: 39.8 ( 4.18x) vc1dsp.vc1_h_loop_filter16_worstcase_ssse3: 39.1 ( 4.26x) vc1dsp.vc1_h_loop_filter16_worstcase_sse4: 42.9 ( 3.88x) vc1dsp.vc1_v_loop_filter4_bestcase_c: 3.6 vc1dsp.vc1_v_loop_filter4_bestcase_ssse3: 15.7 ( 0.22x) vc1dsp.vc1_v_loop_filter4_worstcase_c: 49.1 vc1dsp.vc1_v_loop_filter4_worstcase_ssse3: 15.8 ( 3.10x) vc1dsp.vc1_v_loop_filter8_bestcase_c: 6.4 vc1dsp.vc1_v_loop_filter8_bestcase_sse2: 16.3 ( 0.39x) vc1dsp.vc1_v_loop_filter8_bestcase_ssse3: 15.3 ( 0.42x) vc1dsp.vc1_v_loop_filter8_worstcase_c: 85.7 vc1dsp.vc1_v_loop_filter8_worstcase_sse2: 16.3 ( 5.26x) vc1dsp.vc1_v_loop_filter8_worstcase_ssse3: 15.2 ( 5.62x) vc1dsp.vc1_v_loop_filter16_bestcase_c: 13.6 vc1dsp.vc1_v_loop_filter16_bestcase_sse2: 24.8 ( 0.55x) vc1dsp.vc1_v_loop_filter16_bestcase_ssse3: 21.3 ( 0.64x) vc1dsp.vc1_v_loop_filter16_worstcase_c: 170.0 vc1dsp.vc1_v_loop_filter16_worstcase_sse2: 23.9 ( 7.11x) vc1dsp.vc1_v_loop_filter16_worstcase_ssse3: 23.3 ( 7.28x) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>Changed files
- libavcodec/x86/vc1dsp_loopfilter.asm
Change #276713
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 3ea01992d6330a13e56b332d0e99397852ce2e06 Comments
avcodec/x86/vc1dsp_loopfilter: Don't use MMX regs in horiz. loop filter Using XMM registers in this SSSE3 function leads to fewer shuffles when transposing the input; it also allows to combine calculating a1 and a2. Because of this, codesize is the same as before (on Unix64) although MMX instructions are shorter. Old benchmarks: vc1dsp.vc1_h_loop_filter4_bestcase_c: 3.0 vc1dsp.vc1_h_loop_filter4_bestcase_ssse3: 32.0 ( 0.09x) vc1dsp.vc1_h_loop_filter4_worstcase_c: 42.9 vc1dsp.vc1_h_loop_filter4_worstcase_ssse3: 31.9 ( 1.35x) New benchmarks: vc1dsp.vc1_h_loop_filter4_bestcase_c: 3.0 vc1dsp.vc1_h_loop_filter4_bestcase_ssse3: 29.9 ( 0.10x) vc1dsp.vc1_h_loop_filter4_worstcase_c: 43.7 vc1dsp.vc1_h_loop_filter4_worstcase_ssse3: 29.9 ( 1.46x) Hint: checkasm's benchmark always uses the same buffer that is partially updated by the horizontal loop filter function (the middle two of eight columns are updated using word-sized stores). They therefore lead to store-to-load-forwarding failure. If checkasm_alternate were used to alternate between two buffers, the benchmarks would be as follows: Old benchmarks: vc1dsp.vc1_h_loop_filter4_bestcase_c: 3.0 vc1dsp.vc1_h_loop_filter4_bestcase_ssse3: 16.4 ( 0.18x) vc1dsp.vc1_h_loop_filter4_worstcase_c: 23.9 vc1dsp.vc1_h_loop_filter4_worstcase_ssse3: 16.3 ( 1.47x) New benchmarks: vc1dsp.vc1_h_loop_filter4_bestcase_c: 3.0 vc1dsp.vc1_h_loop_filter4_bestcase_ssse3: 15.1 ( 0.20x) vc1dsp.vc1_h_loop_filter4_worstcase_c: 23.6 vc1dsp.vc1_h_loop_filter4_worstcase_ssse3: 15.2 ( 1.55x) Notice that at some callsites, the partially modified buffer is immediately reloaded again*, so that both scenarios can happen. *: See the TT_4X4 and TT_4X8 cases at the end of vc1_p_h_loop_filter() or vc1_b_h_intfi_loop_filter() or the luma field blocks in vc1_p_h_intfr_loop_filter(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/x86/vc1dsp_loopfilter.asm
Change #276714
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 3db7a55280c7af2a5897c6f9473cc5816ff37631 Comments
avcodec/x86/vc1dsp_loopfilter: Don't use MMX regs Up until now ff_vc1_v_loop_filter4_ssse3 used MMX registers despite being an SSSE3 function. Porting it to XMM registers didn't lead to any change in benchmarks here, but abides by the ABI (one function less that does not omit emms). Unfortunately the size of the function increased by 64B by this. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/x86/vc1dsp_loopfilter.asm
- tests/checkasm/vc1dsp.c
Change #276715
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Changed at Sat 01 Aug 2026 16:50:06 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 406c5a37aa666d648928a142d367483fe1acdd17 Comments
avcodec/x86/vc1dsp_inv_trans: Port to SSE2 No change in performance here. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/x86/vc1dsp_init.c
- libavcodec/x86/vc1dsp_inv_trans.asm
- tests/checkasm/vc1dsp.c