mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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>
This commit is contained in:
parent
6b2c1d1018
commit
bb98212930
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user