diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-09-20 22:04:35 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-09-24 00:01:49 +0200 |
commit | bb98212930721f223fb77f25c3c9e016640f9c9b (patch) | |
tree | 0cb1800ea21337408082988f9d6a23bf2694aceb | |
parent | 6b2c1d10185592442988ec5332ac57eb48dea4b6 (diff) | |
download | ffmpeg-bb98212930721f223fb77f25c3c9e016640f9c9b.tar.gz |
avcodec/elbg: Mark ELBGContext as being unaliased by using av_restrict
This improves performance: For msvideo1, the performance improved by
4.8% when encoding the sample from the fate-vsynth1-msvideo1 test;
when encoding the sample from fate-vsynth1-cinepak, performance
improved by 2%. The compiler user was GCC 10 and the calls to encode2
have been timed.
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavcodec/elbg.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/elbg.c b/libavcodec/elbg.c index 712c125a58..d97a7bc3f9 100644 --- a/libavcodec/elbg.c +++ b/libavcodec/elbg.c @@ -346,7 +346,7 @@ static void do_shiftings(ELBGContext *elbg) } } -static void do_elbg(ELBGContext *elbg, int *points, int numpoints, +static void do_elbg(ELBGContext *av_restrict elbg, int *points, int numpoints, int max_steps) { int *const size_part = elbg->size_part; @@ -419,7 +419,7 @@ static void do_elbg(ELBGContext *elbg, int *points, int numpoints, * If not, it calls do_elbg for a (smaller) random sample of the points in * points. */ -static void init_elbg(ELBGContext *elbg, int *points, int *temp_points, +static void init_elbg(ELBGContext *av_restrict elbg, int *points, int *temp_points, int numpoints, int max_steps) { int dim = elbg->dim; @@ -447,7 +447,7 @@ int avpriv_elbg_do(ELBGContext **elbgp, int *points, int dim, int numpoints, int *codebook, int num_cb, int max_steps, int *closest_cb, AVLFG *rand_state, uintptr_t flags) { - ELBGContext *const elbg = *elbgp ? *elbgp : av_mallocz(sizeof(*elbg)); + ELBGContext *const av_restrict elbg = *elbgp ? *elbgp : av_mallocz(sizeof(*elbg)); if (!elbg) return AVERROR(ENOMEM); |