diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c index 162a36e8aa..cb951709a5 100644 --- a/libavcodec/dsputil.c +++ b/libavcodec/dsputil.c @@ -174,6 +174,16 @@ static int pix_norm1_c(uint8_t * pix, int line_size) s = 0; for (i = 0; i < 16; i++) { for (j = 0; j < 16; j += 8) { +#if 0 + s += sq[pix[0]]; + s += sq[pix[1]]; + s += sq[pix[2]]; + s += sq[pix[3]]; + s += sq[pix[4]]; + s += sq[pix[5]]; + s += sq[pix[6]]; + s += sq[pix[7]]; +#else #if LONG_MAX > 2147483647 register uint64_t x=*(uint64_t*)pix; s += sq[x&0xff]; @@ -195,6 +205,7 @@ static int pix_norm1_c(uint8_t * pix, int line_size) s += sq[(x>>8)&0xff]; s += sq[(x>>16)&0xff]; s += sq[(x>>24)&0xff]; +#endif #endif pix += 8; } diff --git a/libavcodec/lsp.c b/libavcodec/lsp.c index 0ff0f0986a..374539a029 100644 --- a/libavcodec/lsp.c +++ b/libavcodec/lsp.c @@ -120,8 +120,8 @@ void ff_acelp_lsp2lpc(int16_t* lp, const int16_t* lsp, int lp_half_order) void ff_amrwb_lsp2lpc(const double *lsp, float *lp, int lp_order) { int lp_half_order = lp_order >> 1; - double buf[lp_half_order + 1]; - double pa[lp_half_order + 1]; + double buf[MAX_LP_HALF_ORDER + 1]; + double pa[MAX_LP_HALF_ORDER + 1]; double *qa = buf + 1; int i,j; diff --git a/libavcodec/lsp.h b/libavcodec/lsp.h index 1230669b1a..46a2d47beb 100644 --- a/libavcodec/lsp.h +++ b/libavcodec/lsp.h @@ -91,7 +91,7 @@ void ff_amrwb_lsp2lpc(const double *lsp, float *lp, int lp_order); void ff_acelp_lp_decode(int16_t* lp_1st, int16_t* lp_2nd, const int16_t* lsp_2nd, const int16_t* lsp_prev, int lp_order); -#define MAX_LP_HALF_ORDER 8 +#define MAX_LP_HALF_ORDER 10 #define MAX_LP_ORDER (2*MAX_LP_HALF_ORDER) /** diff --git a/libavcodec/simple_idct.c b/libavcodec/simple_idct.c index 2d68be42b7..06f3624ba3 100644 --- a/libavcodec/simple_idct.c +++ b/libavcodec/simple_idct.c @@ -29,6 +29,8 @@ based upon some outcommented c code from mpeg2dec (idct_mmx.c written by Aaron Holtzman ) */ + +#include "libavutil/intreadwrite.h" #include "avcodec.h" #include "dsputil.h" #include "mathops.h" @@ -47,51 +49,27 @@ static inline void idctRowCondDC (DCTELEM * row) { int a0, a1, a2, a3, b0, b1, b2, b3; -#if HAVE_FAST_64BIT - uint64_t temp; -#else - uint32_t temp; -#endif #if HAVE_FAST_64BIT -#if HAVE_BIGENDIAN -#define ROW0_MASK 0xffff000000000000LL -#else -#define ROW0_MASK 0xffffLL -#endif - if(sizeof(DCTELEM)==2){ - if ( ((((uint64_t *)row)[0] & ~ROW0_MASK) | - ((uint64_t *)row)[1]) == 0) { - temp = (row[0] << 3) & 0xffff; - temp += temp << 16; - temp += temp << 32; - ((uint64_t *)row)[0] = temp; - ((uint64_t *)row)[1] = temp; - return; - } - }else{ - if (!(row[1]|row[2]|row[3]|row[4]|row[5]|row[6]|row[7])) { - row[0]=row[1]=row[2]=row[3]=row[4]=row[5]=row[6]=row[7]= row[0] << 3; - return; - } +#define ROW0_MASK (0xffffLL << 48 * HAVE_BIGENDIAN) + if (((((uint64_t *)row)[0] & ~ROW0_MASK) | ((uint64_t *)row)[1]) == 0) { + uint64_t temp = (row[0] << 3) & 0xffff; + temp += temp << 16; + temp += temp << 32; + ((uint64_t *)row)[0] = temp; + ((uint64_t *)row)[1] = temp; + return; } #else - if(sizeof(DCTELEM)==2){ - if (!(((uint32_t*)row)[1] | - ((uint32_t*)row)[2] | - ((uint32_t*)row)[3] | - row[1])) { - temp = (row[0] << 3) & 0xffff; - temp += temp << 16; - ((uint32_t*)row)[0]=((uint32_t*)row)[1] = + if (!(((uint32_t*)row)[1] | + ((uint32_t*)row)[2] | + ((uint32_t*)row)[3] | + row[1])) { + uint32_t temp = (row[0] << 3) & 0xffff; + temp += temp << 16; + ((uint32_t*)row)[0]=((uint32_t*)row)[1] = ((uint32_t*)row)[2]=((uint32_t*)row)[3] = temp; - return; - } - }else{ - if (!(row[1]|row[2]|row[3]|row[4]|row[5]|row[6]|row[7])) { - row[0]=row[1]=row[2]=row[3]=row[4]=row[5]=row[6]=row[7]= row[0] << 3; - return; - } + return; } #endif @@ -115,12 +93,7 @@ static inline void idctRowCondDC (DCTELEM * row) b3 = MUL16(W7, row[1]); MAC16(b3, -W5, row[3]); -#if HAVE_FAST_64BIT - temp = ((uint64_t*)row)[1]; -#else - temp = ((uint32_t*)row)[2] | ((uint32_t*)row)[3]; -#endif - if (temp != 0) { + if (AV_RN64A(row + 4)) { a0 += W4*row[4] + W6*row[6]; a1 += - W4*row[4] - W2*row[6]; a2 += - W4*row[4] + W2*row[6]; diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 46d63f70bc..3b410a3043 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1116,17 +1116,9 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port, } } -#if 0 - /* then try on any port */ - if (ffurl_open(&rtsp_st->rtp_handle, "rtp://", AVIO_FLAG_READ) < 0) { - err = AVERROR_INVALIDDATA; - goto fail; - } -#else av_log(s, AV_LOG_ERROR, "Unable to open an input RTP port\n"); err = AVERROR(EIO); goto fail; -#endif rtp_opened: port = rtp_get_local_rtp_port(rtsp_st->rtp_handle); diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h index 469cd21cc9..3d0345d35c 100644 --- a/libavformat/rtsp.h +++ b/libavformat/rtsp.h @@ -220,9 +220,6 @@ typedef struct RTSPState { * see rtsp_read_play() and rtsp_read_seek(). */ int64_t seek_timestamp; - /* XXX: currently we use unbuffered input */ - // AVIOContext rtsp_gb; - int seq; /**< RTSP command sequence number */ /** copy of RTSPMessageHeader->session_id, i.e. the server-provided session diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c index 9f538c3504..8fe58e7351 100644 --- a/libavformat/rtspdec.c +++ b/libavformat/rtspdec.c @@ -383,12 +383,6 @@ static int rtsp_read_close(AVFormatContext *s) { RTSPState *rt = s->priv_data; -#if 0 - /* NOTE: it is valid to flush the buffer here */ - if (rt->lower_transport == RTSP_LOWER_TRANSPORT_TCP) { - avio_close(&rt->rtsp_gb); - } -#endif ff_rtsp_send_cmd_async(s, "TEARDOWN", rt->control_uri, NULL); ff_rtsp_close_streams(s); diff --git a/tests/Makefile b/tests/Makefile index 4739446674..0a9e402c66 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -58,7 +58,8 @@ FATE = $(FATE_ACODEC) \ $(FATE_SEEK) \ $(filter-out %-aref,$(FATE_ACODEC)): $(AREF) -$(filter-out %-vref,$(FATE_VCODEC)): $(VREF) +$(filter-out %-vref,$(FATE_VSYNTH1)): fate-vsynth1-vref +$(filter-out %-vref,$(FATE_VSYNTH2)): fate-vsynth2-vref $(FATE_LAVF): $(REFS) $(FATE_LAVFI): $(REFS) tools/lavfi-showfiltfmts$(EXESUF) $(FATE_SEEK): fate-codec fate-lavf libavformat/seek-test$(EXESUF)