Skip to content

Commit 17d5f30

Browse files
committed
avcodec/pixblockdsp: Pass bits_per_raw_sample directly
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
1 parent 20ddada commit 17d5f30

File tree

8 files changed

+11
-16
lines changed

8 files changed

+11
-16
lines changed

libavcodec/asvenc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
378378

379379
ff_asv_common_init(avctx);
380380
ff_fdctdsp_init(&a->fdsp, avctx);
381-
ff_pixblockdsp_init(&a->pdsp, avctx);
381+
ff_pixblockdsp_init(&a->pdsp, 8);
382382

383383
if (avctx->global_quality <= 0)
384384
avctx->global_quality = 4 * FF_QUALITY_SCALE;

libavcodec/avdct.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ int avcodec_dct_init(AVDCT *dsp)
119119
#if CONFIG_PIXBLOCKDSP
120120
{
121121
PixblockDSPContext pdsp;
122-
ff_pixblockdsp_init(&pdsp, avctx);
122+
ff_pixblockdsp_init(&pdsp, dsp->bits_per_sample);
123123
COPY(pdsp, get_pixels);
124124
COPY(pdsp, get_pixels_unaligned);
125125
}

libavcodec/dnxhdenc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ static av_cold int dnxhd_encode_init(AVCodecContext *avctx)
423423
ff_fdctdsp_init(&ctx->m.fdsp, avctx);
424424
ff_mpv_idct_init(&ctx->m.c);
425425
ff_mpegvideoencdsp_init(&ctx->m.mpvencdsp, avctx);
426-
ff_pixblockdsp_init(&ctx->m.pdsp, avctx);
426+
ff_pixblockdsp_init(&ctx->m.pdsp, ctx->bit_depth);
427427
ff_dct_encode_init(&ctx->m);
428428

429429
if (ctx->profile != AV_PROFILE_DNXHD)

libavcodec/dvenc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ static av_cold int dvvideo_encode_init(AVCodecContext *avctx)
112112
ff_fdctdsp_init(&fdsp, avctx);
113113
s->fdct[0] = fdsp.fdct;
114114
s->fdct[1] = fdsp.fdct248;
115-
ff_pixblockdsp_init(&s->pdsp, avctx);
115+
ff_pixblockdsp_init(&s->pdsp, 8);
116116

117117
#if !CONFIG_HARDCODED_TABLES
118118
{

libavcodec/mpegvideo_enc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1031,7 +1031,7 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx)
10311031
init_unquantize(s, avctx);
10321032
ff_fdctdsp_init(&s->fdsp, avctx);
10331033
ff_mpegvideoencdsp_init(&s->mpvencdsp, avctx);
1034-
ff_pixblockdsp_init(&s->pdsp, avctx);
1034+
ff_pixblockdsp_init(&s->pdsp, 8);
10351035
ret = me_cmp_init(m, avctx);
10361036
if (ret < 0)
10371037
return ret;

libavcodec/pixblockdsp.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include "config.h"
2222
#include "libavutil/attributes.h"
2323
#include "libavutil/intreadwrite.h"
24-
#include "avcodec.h"
2524
#include "pixblockdsp.h"
2625

2726
static void get_pixels_16_c(int16_t *restrict block, const uint8_t *pixels,
@@ -85,10 +84,10 @@ static void diff_pixels_c(int16_t *restrict block, const uint8_t *s1,
8584
}
8685
}
8786

88-
av_cold void ff_pixblockdsp_init(PixblockDSPContext *c, AVCodecContext *avctx)
87+
av_cold void ff_pixblockdsp_init(PixblockDSPContext *c, int bits_per_raw_sample)
8988
{
90-
const unsigned high_bit_depth = avctx->bits_per_raw_sample > 8 &&
91-
avctx->bits_per_raw_sample <= 16;
89+
const unsigned high_bit_depth = bits_per_raw_sample > 8 &&
90+
bits_per_raw_sample <= 16;
9291

9392
c->diff_pixels_unaligned =
9493
c->diff_pixels = diff_pixels_c;

libavcodec/pixblockdsp.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@
1919
#ifndef AVCODEC_PIXBLOCKDSP_H
2020
#define AVCODEC_PIXBLOCKDSP_H
2121

22+
#include <stddef.h>
2223
#include <stdint.h>
2324

24-
#include "avcodec.h"
25-
2625
typedef struct PixblockDSPContext {
2726
void (*get_pixels)(int16_t *restrict block /* align 16 */,
2827
const uint8_t *pixels /* align 8 */,
@@ -41,7 +40,7 @@ typedef struct PixblockDSPContext {
4140

4241
} PixblockDSPContext;
4342

44-
void ff_pixblockdsp_init(PixblockDSPContext *c, AVCodecContext *avctx);
43+
void ff_pixblockdsp_init(PixblockDSPContext *c, int bits_per_raw_sample);
4544
void ff_pixblockdsp_init_aarch64(PixblockDSPContext *c,
4645
unsigned high_bit_depth);
4746
void ff_pixblockdsp_init_arm(PixblockDSPContext *c,

tests/checkasm/pixblockdsp.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,8 @@ void checkasm_check_pixblockdsp(void)
9090
uint16_t *dst0 = (uint16_t *)dst0_;
9191
uint16_t *dst1 = (uint16_t *)dst1_;
9292
PixblockDSPContext h;
93-
AVCodecContext avctx = {
94-
.bits_per_raw_sample = 8,
95-
};
9693

97-
ff_pixblockdsp_init(&h, &avctx);
94+
ff_pixblockdsp_init(&h, 8);
9895

9996
if (check_func(h.get_pixels, "get_pixels"))
10097
check_get_pixels(uint8_t, 1);

0 commit comments

Comments
 (0)