Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits) rv40dsp x86: use only one register, for both increment and loop counter rv40dsp: implement prescaled versions for biweight. avconv: use default channel layouts when they are unknown avconv: parse channel layout string nutdec: K&R formatting cosmetics vda: Signal 4 byte NAL headers to the decoder regardless of what's in the extradata mem: Consistently return NULL for av_malloc(0) vf_overlay: implement poll_frame() vf_scale: support named constants for sws flags. lavc doxy: add all installed headers to doxy groups. lavc doxy: add avfft to the main lavc group. lavc doxy: add remaining avcodec.h functions to a misc doxygen group. lavc doxy: add AVPicture functions to a doxy group. lavc doxy: add resampling functions to a doxy group. lavc doxy: replace \ with / lavc doxy: add encoding functions to a doxy group. lavc doxy: add decoding functions to a doxy group. lavc doxy: fix formatting of AV_PKT_DATA_{PARAM_CHANGE,H263_MB_INFO} lavc doxy: add AVPacket-related stuff to a separate doxy group. lavc doxy: add core functions/definitions to a doxy group. ... Conflicts: ffmpeg.c libavcodec/avcodec.h libavcodec/vda.c libavcodec/x86/rv40dsp.asm libavfilter/vf_scale.c libavformat/nutdec.c libavutil/mem.c tests/ref/acodec/pcm_s24daud Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -278,7 +278,7 @@ RV40_CHROMA_MC(put_, op_put)
|
||||
RV40_CHROMA_MC(avg_, op_avg)
|
||||
|
||||
#define RV40_WEIGHT_FUNC(size) \
|
||||
static void rv40_weight_func_ ## size (uint8_t *dst, uint8_t *src1, uint8_t *src2, int w1, int w2, ptrdiff_t stride)\
|
||||
static void rv40_weight_func_rnd_ ## size (uint8_t *dst, uint8_t *src1, uint8_t *src2, int w1, int w2, ptrdiff_t stride)\
|
||||
{\
|
||||
int i, j;\
|
||||
\
|
||||
@@ -289,6 +289,18 @@ static void rv40_weight_func_ ## size (uint8_t *dst, uint8_t *src1, uint8_t *src
|
||||
src2 += stride;\
|
||||
dst += stride;\
|
||||
}\
|
||||
}\
|
||||
static void rv40_weight_func_nornd_ ## size (uint8_t *dst, uint8_t *src1, uint8_t *src2, int w1, int w2, ptrdiff_t stride)\
|
||||
{\
|
||||
int i, j;\
|
||||
\
|
||||
for (j = 0; j < size; j++) {\
|
||||
for (i = 0; i < size; i++)\
|
||||
dst[i] = (w2 * src1[i] + w1 * src2[i] + 0x10) >> 5;\
|
||||
src1 += stride;\
|
||||
src2 += stride;\
|
||||
dst += stride;\
|
||||
}\
|
||||
}
|
||||
|
||||
RV40_WEIGHT_FUNC(16)
|
||||
@@ -578,8 +590,10 @@ av_cold void ff_rv40dsp_init(RV34DSPContext *c, DSPContext* dsp) {
|
||||
c->avg_chroma_pixels_tab[0] = avg_rv40_chroma_mc8_c;
|
||||
c->avg_chroma_pixels_tab[1] = avg_rv40_chroma_mc4_c;
|
||||
|
||||
c->rv40_weight_pixels_tab[0] = rv40_weight_func_16;
|
||||
c->rv40_weight_pixels_tab[1] = rv40_weight_func_8;
|
||||
c->rv40_weight_pixels_tab[0][0] = rv40_weight_func_rnd_16;
|
||||
c->rv40_weight_pixels_tab[0][1] = rv40_weight_func_rnd_8;
|
||||
c->rv40_weight_pixels_tab[1][0] = rv40_weight_func_nornd_16;
|
||||
c->rv40_weight_pixels_tab[1][1] = rv40_weight_func_nornd_8;
|
||||
|
||||
c->rv40_weak_loop_filter[0] = rv40_h_weak_loop_filter;
|
||||
c->rv40_weak_loop_filter[1] = rv40_v_weak_loop_filter;
|
||||
|
Reference in New Issue
Block a user