mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge commit 'cb52a17cb62297802b0a77e5af9850d87c3f925b'
* commit 'cb52a17cb62297802b0a77e5af9850d87c3f925b': dsputil: Move Bink-specific add_pixels8 to binkdsp Conflicts: libavcodec/dsputil.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
d35899ccce
@ -889,7 +889,7 @@ static int binkb_decode_plane(BinkContext *c, AVFrame *frame, GetBitContext *gb,
|
||||
c->dsp.clear_block(block);
|
||||
v = binkb_get_value(c, BINKB_SRC_INTER_COEFS);
|
||||
read_residue(gb, block, v);
|
||||
c->dsp.add_pixels8(dst, block, stride);
|
||||
c->bdsp.add_pixels8(dst, block, stride);
|
||||
break;
|
||||
case 4:
|
||||
xoff = binkb_get_value(c, BINKB_SRC_X_OFF);
|
||||
@ -1126,7 +1126,7 @@ static int bink_decode_plane(BinkContext *c, AVFrame *frame, GetBitContext *gb,
|
||||
c->dsp.clear_block(block);
|
||||
v = get_bits(gb, 7);
|
||||
read_residue(gb, block, v);
|
||||
c->dsp.add_pixels8(dst, block, stride);
|
||||
c->bdsp.add_pixels8(dst, block, stride);
|
||||
break;
|
||||
case INTRA_BLOCK:
|
||||
memset(dctblock, 0, sizeof(*dctblock) * 64);
|
||||
|
@ -24,6 +24,7 @@
|
||||
* Bink DSP routines
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libavutil/attributes.h"
|
||||
#include "binkdsp.h"
|
||||
|
||||
@ -128,9 +129,29 @@ static void scale_block_c(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align
|
||||
}
|
||||
}
|
||||
|
||||
static void add_pixels8_c(uint8_t *av_restrict pixels, int16_t *block,
|
||||
int line_size)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
pixels[0] += block[0];
|
||||
pixels[1] += block[1];
|
||||
pixels[2] += block[2];
|
||||
pixels[3] += block[3];
|
||||
pixels[4] += block[4];
|
||||
pixels[5] += block[5];
|
||||
pixels[6] += block[6];
|
||||
pixels[7] += block[7];
|
||||
pixels += line_size;
|
||||
block += 8;
|
||||
}
|
||||
}
|
||||
|
||||
av_cold void ff_binkdsp_init(BinkDSPContext *c)
|
||||
{
|
||||
c->idct_add = bink_idct_add_c;
|
||||
c->idct_put = bink_idct_put_c;
|
||||
c->scale_block = scale_block_c;
|
||||
c->add_pixels8 = add_pixels8_c;
|
||||
}
|
||||
|
@ -33,6 +33,7 @@ typedef struct BinkDSPContext {
|
||||
void (*idct_put)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/);
|
||||
void (*idct_add)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/);
|
||||
void (*scale_block)(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align 8*/, int linesize);
|
||||
void (*add_pixels8)(uint8_t *pixels, int16_t *block, int line_size);
|
||||
} BinkDSPContext;
|
||||
|
||||
void ff_binkdsp_init(BinkDSPContext *c);
|
||||
|
@ -381,25 +381,6 @@ static void put_signed_pixels_clamped_c(const int16_t *block,
|
||||
}
|
||||
}
|
||||
|
||||
static void add_pixels8_c(uint8_t *av_restrict pixels, int16_t *block,
|
||||
int line_size)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
pixels[0] += block[0];
|
||||
pixels[1] += block[1];
|
||||
pixels[2] += block[2];
|
||||
pixels[3] += block[3];
|
||||
pixels[4] += block[4];
|
||||
pixels[5] += block[5];
|
||||
pixels[6] += block[6];
|
||||
pixels[7] += block[7];
|
||||
pixels += line_size;
|
||||
block += 8;
|
||||
}
|
||||
}
|
||||
|
||||
static void add_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
|
||||
int line_size)
|
||||
{
|
||||
@ -2486,8 +2467,6 @@ av_cold void ff_dsputil_init(DSPContext *c, AVCodecContext *avctx)
|
||||
c->shrink[2] = ff_shrink44;
|
||||
c->shrink[3] = ff_shrink88;
|
||||
|
||||
c->add_pixels8 = add_pixels8_c;
|
||||
|
||||
c->draw_edges = draw_edges_8_c;
|
||||
|
||||
c->clear_block = clear_block_8_c;
|
||||
|
@ -136,7 +136,6 @@ typedef struct DSPContext {
|
||||
void (*add_pixels_clamped)(const int16_t *block /* align 16 */,
|
||||
uint8_t *pixels /* align 8 */,
|
||||
int line_size);
|
||||
void (*add_pixels8)(uint8_t *pixels, int16_t *block, int line_size);
|
||||
int (*sum_abs_dctelem)(int16_t *block /* align 16 */);
|
||||
/**
|
||||
* translational global motion compensation.
|
||||
|
Loading…
Reference in New Issue
Block a user