avcodec/dvdec: Constify slice threads' ptr to main context

Modifying the main context from a slice thread is (usually)
a data race, so it must not happen. So only use a pointer to const
to access the main context.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-07-23 06:15:23 +02:00
parent 5ad29e1590
commit 597dc96736
2 changed files with 5 additions and 5 deletions

View File

@ -109,8 +109,8 @@ static inline int dv_work_pool_size(const AVDVProfile *d)
return size;
}
static inline void dv_calculate_mb_xy(DVVideoContext *s,
DVwork_chunk *work_chunk,
static inline void dv_calculate_mb_xy(const DVVideoContext *s,
const DVwork_chunk *work_chunk,
int m, int *mb_x, int *mb_y)
{
*mb_x = work_chunk->mb_coordinates[m] & 0xff;

View File

@ -345,7 +345,7 @@ static av_always_inline void put_block_8x4(int16_t *block, uint8_t *av_restrict
}
}
static void dv100_idct_put_last_row_field_chroma(DVVideoContext *s, uint8_t *data,
static void dv100_idct_put_last_row_field_chroma(const DVVideoContext *s, uint8_t *data,
int stride, int16_t *blocks)
{
s->idsp.idct(blocks + 0*64);
@ -357,7 +357,7 @@ static void dv100_idct_put_last_row_field_chroma(DVVideoContext *s, uint8_t *dat
put_block_8x4(blocks+1*64 + 4*8, data + 8 + stride, stride<<1);
}
static void dv100_idct_put_last_row_field_luma(DVVideoContext *s, uint8_t *data,
static void dv100_idct_put_last_row_field_luma(const DVVideoContext *s, uint8_t *data,
int stride, int16_t *blocks)
{
s->idsp.idct(blocks + 0*64);
@ -378,7 +378,7 @@ static void dv100_idct_put_last_row_field_luma(DVVideoContext *s, uint8_t *data,
/* mb_x and mb_y are in units of 8 pixels */
static int dv_decode_video_segment(AVCodecContext *avctx, void *arg)
{
DVVideoContext *s = avctx->priv_data;
const DVVideoContext *s = avctx->priv_data;
DVwork_chunk *work_chunk = arg;
int quant, dc, dct_mode, class1, j;
int mb_index, mb_x, mb_y, last_index;