aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-07-19 18:45:47 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-07-19 18:46:04 +0200
commitd303e0affd9274381a098da55ef4eca954f23b74 (patch)
tree00a54bf98aa0c13c3689ec694b07e50a21102951
parent257f274dfa000ae0add4aef8bd11375c8d32add0 (diff)
parent3e9409b1d0ca6ee7063fa04d940af36a20b46a8b (diff)
downloadffmpeg-d303e0affd9274381a098da55ef4eca954f23b74.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: simple_idct: simplify some ifdeffery simple_idct: remove code for DCTELEM != int16 Remove VLAs in ff_amrwb_lsp2lpc() fate: make vsynth tests depend on only the relevant vref rtsp: remove disabled code dsputil: restore mistakenly removed hunk of disabled code Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/dsputil.c11
-rw-r--r--libavcodec/lsp.c4
-rw-r--r--libavcodec/lsp.h2
-rw-r--r--libavcodec/simple_idct.c65
-rw-r--r--libavformat/rtsp.c8
-rw-r--r--libavformat/rtsp.h3
-rw-r--r--libavformat/rtspdec.c6
-rw-r--r--tests/Makefile3
8 files changed, 35 insertions, 67 deletions
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];
@@ -196,6 +206,7 @@ static int pix_norm1_c(uint8_t * pix, int line_size)
s += sq[(x>>16)&0xff];
s += sq[(x>>24)&0xff];
#endif
+#endif
pix += 8;
}
pix += line_size - 16;
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 <aholtzma@ess.engr.uvic.ca>)
*/
+
+#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)