Merge remote-tracking branch 'qatar/master'
* qatar/master: (35 commits) flvdec: Do not call parse_keyframes_index with a NULL stream libspeexdec: include system headers before local headers libspeexdec: return meaningful error codes libspeexdec: cosmetics: reindent libspeexdec: decode one frame at a time. swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables() Move timefilter code from lavf to lavd. mov: add support for hdvd and pgapmetadata atoms mov: rename function _stik, some indentation cosmetics mov: rename function _int8 to remove ambiguity, some indentation cosmetics mov: parse the gnre atom mp3on4: check for allocation failures in decode_init_mp3on4() mp3on4: create a separate flush function for MP3onMP4. mp3on4: ensure that the frame channel count does not exceed the codec channel count. mp3on4: set channel layout mp3on4: fix the output channel order mp3on4: allocate temp buffer with av_malloc() instead of on the stack. mp3on4: copy MPADSPContext from first context to all contexts. fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasm fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasm ... Conflicts: libavcodec/arm/h264dsp_init_arm.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_ps.c libavcodec/h264dsp_template.c libavcodec/h264idct_template.c libavcodec/h264pred.c libavcodec/h264pred_template.c libavcodec/x86/h264dsp_mmx.c libavdevice/Makefile libavdevice/jack_audio.c libavformat/Makefile libavformat/flvdec.c libavformat/flvenc.c libavutil/pixfmt.h libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@ -136,6 +136,8 @@ const static FormatEntry format_entries[PIX_FMT_NB] = {
|
||||
[PIX_FMT_YUV420P9LE] = { 1 , 1 },
|
||||
[PIX_FMT_YUV420P10BE] = { 1 , 1 },
|
||||
[PIX_FMT_YUV420P10LE] = { 1 , 1 },
|
||||
[PIX_FMT_YUV422P9BE] = { 1 , 1 },
|
||||
[PIX_FMT_YUV422P9LE] = { 1 , 1 },
|
||||
[PIX_FMT_YUV422P10BE] = { 1 , 1 },
|
||||
[PIX_FMT_YUV422P10LE] = { 1 , 1 },
|
||||
[PIX_FMT_YUV444P9BE] = { 1 , 1 },
|
||||
@ -280,15 +282,18 @@ static int initFilter(int16_t **outFilter, int16_t **filterPos, int *outFilterSi
|
||||
if (flags & SWS_BICUBIC) {
|
||||
int64_t B= (param[0] != SWS_PARAM_DEFAULT ? param[0] : 0) * (1<<24);
|
||||
int64_t C= (param[1] != SWS_PARAM_DEFAULT ? param[1] : 0.6) * (1<<24);
|
||||
int64_t dd = ( d*d)>>30;
|
||||
int64_t ddd= (dd*d)>>30;
|
||||
|
||||
if (d < 1LL<<30)
|
||||
coeff = (12*(1<<24)-9*B-6*C)*ddd + (-18*(1<<24)+12*B+6*C)*dd + (6*(1<<24)-2*B)*(1<<30);
|
||||
else if (d < 1LL<<31)
|
||||
coeff = (-B-6*C)*ddd + (6*B+30*C)*dd + (-12*B-48*C)*d + (8*B+24*C)*(1<<30);
|
||||
else
|
||||
coeff=0.0;
|
||||
if (d >= 1LL<<31) {
|
||||
coeff = 0.0;
|
||||
} else {
|
||||
int64_t dd = (d * d) >> 30;
|
||||
int64_t ddd = (dd * d) >> 30;
|
||||
|
||||
if (d < 1LL<<30)
|
||||
coeff = (12*(1<<24)-9*B-6*C)*ddd + (-18*(1<<24)+12*B+6*C)*dd + (6*(1<<24)-2*B)*(1<<30);
|
||||
else
|
||||
coeff = (-B-6*C)*ddd + (6*B+30*C)*dd + (-12*B-48*C)*d + (8*B+24*C)*(1<<30);
|
||||
}
|
||||
coeff *= fone>>(30+24);
|
||||
}
|
||||
/* else if (flags & SWS_X) {
|
||||
|
Reference in New Issue
Block a user