[FFmpeg-devel] [PATCH 26/35] avcodec/proresenc_anatoliy: only pass down the first scale to encode_dcs()
Clément Bœsch
u at pkh.me
Mon Dec 11 03:35:27 EET 2023
This matches encode_dcs() prototype from proresenc_kostya.
---
libavcodec/proresenc_anatoliy.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
index 56baeb9956..bdf7bface4 100644
--- a/libavcodec/proresenc_anatoliy.c
+++ b/libavcodec/proresenc_anatoliy.c
@@ -267,19 +267,19 @@ static av_always_inline int get_level(int val)
static void encode_dcs(PutBitContext *pb, int16_t *blocks,
- int blocks_per_slice, int *qmat)
+ int blocks_per_slice, int scale)
{
int i;
int codebook = 5, code, dc, prev_dc, delta, sign, new_sign;
int diff_sign;
- prev_dc = (blocks[0] - 0x4000) / qmat[0];
+ prev_dc = (blocks[0] - 0x4000) / scale;
encode_vlc_codeword(pb, FIRST_DC_CB, MAKE_CODE(prev_dc));
sign = 0;
blocks += 64;
for (i = 1; i < blocks_per_slice; i++, blocks += 64) {
- dc = (blocks[0] - 0x4000) / qmat[0];
+ dc = (blocks[0] - 0x4000) / scale;
delta = dc - prev_dc;
new_sign = GET_SIGN(delta);
diff_sign = new_sign ^ sign;
@@ -388,7 +388,7 @@ static int encode_slice_plane(int16_t *blocks, int mb_count, uint8_t *buf, unsig
blocks_per_slice = mb_count << (2 - sub_sample_chroma);
init_put_bits(&pb, buf, buf_size);
- encode_dcs(&pb, blocks, blocks_per_slice, qmat);
+ encode_dcs(&pb, blocks, blocks_per_slice, qmat[0]);
encode_ac_coeffs(&pb, blocks, blocks_per_slice, qmat, ff_prores_scan);
flush_put_bits(&pb);
--
2.43.0
More information about the ffmpeg-devel
mailing list