Merge remote-tracking branch 'qatar/master'
* qatar/master: Remove put_no_rnd_pixels_l2 function pointer for w=16 from dsputil. Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
28245fb466
@ -3053,8 +3053,7 @@ av_cold void ff_dsputil_init(DSPContext* c, AVCodecContext *avctx)
|
|||||||
c->clear_blocks = FUNCC(clear_blocks ## dct , depth);\
|
c->clear_blocks = FUNCC(clear_blocks ## dct , depth);\
|
||||||
c->add_pixels8 = FUNCC(add_pixels8 ## dct , depth);\
|
c->add_pixels8 = FUNCC(add_pixels8 ## dct , depth);\
|
||||||
c->add_pixels4 = FUNCC(add_pixels4 ## dct , depth);\
|
c->add_pixels4 = FUNCC(add_pixels4 ## dct , depth);\
|
||||||
c->put_no_rnd_pixels_l2[0] = FUNCC(put_no_rnd_pixels16_l2, depth);\
|
c->put_no_rnd_pixels_l2 = FUNCC(put_no_rnd_pixels8_l2 , depth);\
|
||||||
c->put_no_rnd_pixels_l2[1] = FUNCC(put_no_rnd_pixels8_l2 , depth);\
|
|
||||||
\
|
\
|
||||||
c->put_h264_chroma_pixels_tab[0] = FUNCC(put_h264_chroma_mc8 , depth);\
|
c->put_h264_chroma_pixels_tab[0] = FUNCC(put_h264_chroma_mc8 , depth);\
|
||||||
c->put_h264_chroma_pixels_tab[1] = FUNCC(put_h264_chroma_mc4 , depth);\
|
c->put_h264_chroma_pixels_tab[1] = FUNCC(put_h264_chroma_mc4 , depth);\
|
||||||
|
@ -309,7 +309,7 @@ typedef struct DSPContext {
|
|||||||
*/
|
*/
|
||||||
op_pixels_func avg_no_rnd_pixels_tab[4][4];
|
op_pixels_func avg_no_rnd_pixels_tab[4][4];
|
||||||
|
|
||||||
void (*put_no_rnd_pixels_l2[2])(uint8_t *block/*align width (8 or 16)*/, const uint8_t *a/*align 1*/, const uint8_t *b/*align 1*/, int line_size, int h);
|
void (*put_no_rnd_pixels_l2)(uint8_t *block/*align 8*/, const uint8_t *a/*align 1*/, const uint8_t *b/*align 1*/, int line_size, int h);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Thirdpel motion compensation with rounding (a+b+1)>>1.
|
* Thirdpel motion compensation with rounding (a+b+1)>>1.
|
||||||
|
@ -582,10 +582,6 @@ PIXOP2(put, op_put)
|
|||||||
#define put_no_rnd_pixels8_c put_pixels8_c
|
#define put_no_rnd_pixels8_c put_pixels8_c
|
||||||
#define put_no_rnd_pixels16_c put_pixels16_c
|
#define put_no_rnd_pixels16_c put_pixels16_c
|
||||||
|
|
||||||
static void FUNCC(put_no_rnd_pixels16_l2)(uint8_t *dst, const uint8_t *a, const uint8_t *b, int stride, int h){
|
|
||||||
FUNC(put_no_rnd_pixels16_l2)(dst, a, b, stride, stride, stride, h);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void FUNCC(put_no_rnd_pixels8_l2)(uint8_t *dst, const uint8_t *a, const uint8_t *b, int stride, int h){
|
static void FUNCC(put_no_rnd_pixels8_l2)(uint8_t *dst, const uint8_t *a, const uint8_t *b, int stride, int h){
|
||||||
FUNC(put_no_rnd_pixels8_l2)(dst, a, b, stride, stride, stride, h);
|
FUNC(put_no_rnd_pixels8_l2)(dst, a, b, stride, stride, stride, h);
|
||||||
}
|
}
|
||||||
|
@ -1564,7 +1564,7 @@ static void render_slice(Vp3DecodeContext *s, int slice)
|
|||||||
motion_source, stride, 8);
|
motion_source, stride, 8);
|
||||||
}else{
|
}else{
|
||||||
int d= (motion_x ^ motion_y)>>31; // d is 0 if motion_x and _y have the same sign, else -1
|
int d= (motion_x ^ motion_y)>>31; // d is 0 if motion_x and _y have the same sign, else -1
|
||||||
s->dsp.put_no_rnd_pixels_l2[1](
|
s->dsp.put_no_rnd_pixels_l2(
|
||||||
output_plane + first_pixel,
|
output_plane + first_pixel,
|
||||||
motion_source - d,
|
motion_source - d,
|
||||||
motion_source + stride + 1 + d,
|
motion_source + stride + 1 + d,
|
||||||
|
@ -373,9 +373,9 @@ static void vp56_mc(VP56Context *s, int b, int plane, uint8_t *src,
|
|||||||
s->filter(s, dst, src_block, src_offset, src_offset+overlap_offset,
|
s->filter(s, dst, src_block, src_offset, src_offset+overlap_offset,
|
||||||
stride, s->mv[b], mask, s->filter_selection, b<4);
|
stride, s->mv[b], mask, s->filter_selection, b<4);
|
||||||
else
|
else
|
||||||
s->dsp.put_no_rnd_pixels_l2[1](dst, src_block+src_offset,
|
s->dsp.put_no_rnd_pixels_l2(dst, src_block+src_offset,
|
||||||
src_block+src_offset+overlap_offset,
|
src_block+src_offset+overlap_offset,
|
||||||
stride, 8);
|
stride, 8);
|
||||||
} else {
|
} else {
|
||||||
s->dsp.put_pixels_tab[1][0](dst, src_block+src_offset, stride, 8);
|
s->dsp.put_pixels_tab[1][0](dst, src_block+src_offset, stride, 8);
|
||||||
}
|
}
|
||||||
|
@ -1928,11 +1928,6 @@ static void put_vp_no_rnd_pixels8_l2_mmx(uint8_t *dst, const uint8_t *a, const u
|
|||||||
:"memory");
|
:"memory");
|
||||||
// STOP_TIMER("put_vp_no_rnd_pixels8_l2_mmx")
|
// STOP_TIMER("put_vp_no_rnd_pixels8_l2_mmx")
|
||||||
}
|
}
|
||||||
static void put_vp_no_rnd_pixels16_l2_mmx(uint8_t *dst, const uint8_t *a, const uint8_t *b, int stride, int h)
|
|
||||||
{
|
|
||||||
put_vp_no_rnd_pixels8_l2_mmx(dst, a, b, stride, h);
|
|
||||||
put_vp_no_rnd_pixels8_l2_mmx(dst+8, a+8, b+8, stride, h);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if CONFIG_DIRAC_DECODER
|
#if CONFIG_DIRAC_DECODER
|
||||||
#define DIRAC_PIXOP(OPNAME, EXT)\
|
#define DIRAC_PIXOP(OPNAME, EXT)\
|
||||||
@ -2182,8 +2177,7 @@ static void dsputil_init_mmx(DSPContext *c, AVCodecContext *avctx, int mm_flags)
|
|||||||
|
|
||||||
c->add_bytes = add_bytes_mmx;
|
c->add_bytes = add_bytes_mmx;
|
||||||
|
|
||||||
c->put_no_rnd_pixels_l2[0]= put_vp_no_rnd_pixels16_l2_mmx;
|
c->put_no_rnd_pixels_l2= put_vp_no_rnd_pixels8_l2_mmx;
|
||||||
c->put_no_rnd_pixels_l2[1]= put_vp_no_rnd_pixels8_l2_mmx;
|
|
||||||
|
|
||||||
if (CONFIG_H263_DECODER || CONFIG_H263_ENCODER) {
|
if (CONFIG_H263_DECODER || CONFIG_H263_ENCODER) {
|
||||||
c->h263_v_loop_filter = h263_v_loop_filter_mmx;
|
c->h263_v_loop_filter = h263_v_loop_filter_mmx;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user