[x264-devel] [Git][videolan/x264][stable] 35 commits: Fix gcc warnings

Anton Mitrofanov (@BugMaster) gitlab at videolan.org
Wed Jun 1 23:45:34 UTC 2022



Anton Mitrofanov pushed to branch stable at VideoLAN / x264


Commits:
1a15eaf7 by Anton Mitrofanov at 2021-06-13T20:20:52+00:00
Fix gcc warnings

- - - - -
df075e15 by Anton Mitrofanov at 2021-06-13T20:20:52+00:00
Fix undefined behavior: left shift of negative value

Compilers are good at optimizing multiplication by shift.

- - - - -
88fab191 by Anton Mitrofanov at 2021-06-13T20:25:24+00:00
Fix --tcfile-in support

Accept files created by MKVToolNix version 17.0.0 or newer.

- - - - -
e0fee7b2 by Ziemowit Zabawa at 2021-06-13T20:29:21+00:00
Cosmetics: Add missing backslashes inside #defines

- - - - -
ae03d92b by Phillip Blucas at 2021-06-13T20:32:44+00:00
Add support for Sony XAVC Class 300 and 480

This allows for 2160p UHD at up to 960 Mbit/s.

- - - - -
e73fc230 by Henrik Gramner at 2021-06-14T23:41:19+02:00
x86inc: Support memory operands in src1 in 3-operand instructions

Particularly in code that makes heavy use of macros it's possible
to end up with 3-operand instructions with a memory operand in src1.
In the case of SSE this works fine due to automatic move insertions,
but in AVX that fails since memory operands are only allowed in src2.

The main purpose of this feature is to minimize the amount of code
changes required to facilitate conversion of existing SSE code to AVX.

- - - - -
8b2721d2 by Henrik Gramner at 2021-08-25T22:01:38+02:00
x86inc: Add an option for forcing VEX-encoding in non-AVX functions

- - - - -
d8debbc6 by Ziemowit Zabawa at 2021-09-29T21:11:16+00:00
Fix typos with codespell tool

This includes fixing convert_method_to_flag so it recognizes "gauss"
parameter properly instead of silently defaulting to bicubic.

- - - - -
93fe0a1f by Anton Mitrofanov at 2021-09-29T21:15:38+00:00
Fix gcc warnings

- - - - -
6c142bba by Vitaly Lysenkov at 2021-09-29T21:21:02+00:00
Fix integer overflow in psy-rd

- - - - -
3a08e36e by Anton Mitrofanov at 2021-09-29T21:25:26+00:00
Fix integer overflow in cabac psy-trellis

- - - - -
78520340 by Anton Mitrofanov at 2021-09-29T21:25:26+00:00
Fix integer overflow in cavlc trellis

- - - - -
5bb1f1b1 by Anton Mitrofanov at 2021-09-29T21:25:26+00:00
Fix implicit integer sign change and truncation

- - - - -
d2907f67 by Martin Storsjö at 2021-09-29T21:29:41+00:00
checkasm: Correctly parse the seed argument as unsigned

This fixes rerunning checkasm with an earlier printed seed, when
it's outside of the signed range.

- - - - -
66a5bc1b by Jean-Baptiste Kempf at 2021-09-29T21:34:37+00:00
lookahead: Keep b_exit_thread under ifbuf.mutex

The lookahead_thread main loop checks b_exit_thread and exits if it is set.
That flag is set by x264_lookahead_delete, which uses ifbuf.mutex to guard accessing it.
However, the read in the while-loop condition of lookahead_thread is not guarded,
and so TSAN sometimes reports a data race.

- - - - -
fda9b831 by Anton Mitrofanov at 2021-12-06T22:02:31+03:00
CI: Update docker images

- - - - -
a66ca247 by Anton Mitrofanov at 2021-12-07T13:04:52+00:00
lavf: Remove use of deprecated av_init_packet

- - - - -
ab5c502b by Anton Mitrofanov at 2021-12-07T16:59:00+03:00
Remove redundant dot in help

- - - - -
d9a19f0d by Claes Nästén at 2021-12-07T15:51:14+01:00
Makefile: Do not create multiple directories in one go

/usr/ucb/bin/install on Solaris does not support creating multiple
directories in one go, issue multiple install commands instead.

- - - - -
8a43cc14 by Henrik Gramner at 2021-12-12T23:24:11+01:00
Remove thread priority tweaking

Back in 2009 when this was added it improved scheduling of lookahead
threads on prevalent operating systems at the time.

According to more recent testing by Intel however, lowering thread
priorities does not improve performance on modern operating systems.
And more importantly, doing so on systems with heterogeneous CPU
topologies may actually result in a severe performance reduction.

Removing this code altogether eliminates the issue with performance
degradation on such systems, while having no noticeable impact on
regular systems with homogeneous CPU topologies.

- - - - -
19856cc4 by Jessica Clarke at 2021-12-30T20:10:51+00:00
configure: Always make shared imply PIC

Building a shared library without -fPIC does not make sense. On most
architectures, especially recent ones, doing so will give link-time
errors due to relocations in read-only sections like .text. On some
legacy architectures, including i386, it is allowed by default, but will
warn, and is highly discouraged due to the overheads it adds at library
load time. Most architectures were already listed here as having shared
imply PIC, but not all, such as i386 which ends up with unwanted text
relocations, as well as architectures not known to the build system
currently like RISC-V, which does not permit text relocations by
default. There is no good reason to want shared without PIC on any
architecture, so just remove the architecture list.
- - - - -
ab393c85 by Anton Mitrofanov at 2022-01-24T19:46:08+03:00
Bump dates to 2022

- - - - -
a6cbc988 by Anton Mitrofanov at 2022-01-26T06:48:33+00:00
Fix integer overflow with special CQM and 10-bit encoding

- - - - -
4127923a by Anton Mitrofanov at 2022-01-26T06:57:43+00:00
checkasm: Print all errors to stderr

- - - - -
0bb85e8b by Anton Mitrofanov at 2022-01-26T10:08:37+03:00
Fix implicit integer sign change and truncation (part 2)

- - - - -
5585eafe by Anton Mitrofanov at 2022-02-05T20:33:10+00:00
Fix build on OpenBSD and Android

- - - - -
3e2a0d4c by Henrik Gramner at 2022-02-19T23:06:27+01:00
x86inc: Enable 4-operand emulation for variable blend instructions

With legacy encoding the last operand (the index) must be xmm0,
but aside from that emulating non-destructive forms works
the same as any other instruction.

- - - - -
f52e5e11 by Henrik Gramner at 2022-02-21T03:42:54+01:00
x86inc: Fix edge case in forced VEX-encoding

Correctly handle emulation of 4-operand instructions (e.g. 'shufps')
where src1 is a memory operand.

- - - - -
6d10612a by Henrik Gramner at 2022-02-21T03:42:55+01:00
x86inc: Add REPX macro to repeat instructions/operations

When operating on large blocks of data it's common to repeatedly use
an instruction on multiple registers. Using the REPX macro makes it
easy to quickly write dense code to achieve this without having to
explicitly duplicate the same instruction over and over.

For example,

    REPX {paddw x, m4}, m0, m1, m2, m3
    REPX {mova [r0+16*x], m5}, 0, 1, 2, 3

will expand to

    paddw       m0, m4
    paddw       m1, m4
    paddw       m2, m4
    paddw       m3, m4
    mova [r0+16*0], m5
    mova [r0+16*1], m5
    mova [r0+16*2], m5
    mova [r0+16*3], m5

- - - - -
ff8a127e by Anton Mitrofanov at 2022-02-21T21:43:01+00:00
Fix -Wchar-subscripts and -Wstrict-aliasing warnings

- - - - -
f53fbffd by Anton Mitrofanov at 2022-02-21T21:51:22+00:00
Check user-entered fps parameter range

- - - - -
35fe20d1 by Anton Mitrofanov at 2022-02-21T21:57:05+00:00
Replace AvxSynth with AviSynth+ on POSIX systems

- - - - -
95634be6 by Anton Mitrofanov at 2022-02-22T20:46:39+03:00
Fix build on MIPS with AviSynth+ support

- - - - -
bfc87b7a by Stephen Hutchinson at 2022-02-22T18:03:57+00:00
configure: Allow AviSynth+ on *BSD and Haiku

- - - - -
baee400f by Anton Mitrofanov at 2022-06-02T01:31:50+03:00
CI: Fix vlc-contrib processing on macos

Use perl for in-place editing because sed doesn't work with symlinks.

- - - - -


30 changed files:

- .gitlab-ci.yml
- AUTHORS
- Makefile
- autocomplete.c
- common/aarch64/asm-offsets.c
- common/aarch64/asm-offsets.h
- common/aarch64/asm.S
- common/aarch64/bitstream-a.S
- common/aarch64/bitstream.h
- common/aarch64/cabac-a.S
- common/aarch64/dct-a.S
- common/aarch64/dct.h
- common/aarch64/deblock-a.S
- common/aarch64/deblock.h
- common/aarch64/mc-a.S
- common/aarch64/mc-c.c
- common/aarch64/mc.h
- common/aarch64/pixel-a.S
- common/aarch64/pixel.h
- common/aarch64/predict-a.S
- common/aarch64/predict-c.c
- common/aarch64/predict.h
- common/aarch64/quant-a.S
- common/aarch64/quant.h
- common/arm/asm.S
- common/arm/bitstream-a.S
- common/arm/bitstream.h
- common/arm/cpu-a.S
- common/arm/dct-a.S
- common/arm/dct.h


The diff was not included because it is too large.


View it on GitLab: https://code.videolan.org/videolan/x264/-/compare/5db6aa6cab1b146e07b60cc1736a01f21da01154...baee400fa9ced6f5481a728138fed6e867b0ff7f

-- 
View it on GitLab: https://code.videolan.org/videolan/x264/-/compare/5db6aa6cab1b146e07b60cc1736a01f21da01154...baee400fa9ced6f5481a728138fed6e867b0ff7f
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the x264-devel mailing list