summaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-06-07 03:37:57 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-06-07 03:37:57 +0200
commit174df6affc4e2cfdc6c91c1be3c3e1a8a794cf78 (patch)
treea77673fd1d752a54bf812b187eb80d066c7cc49f /libavcodec
parent3a1aaf7b21c7bde9f4c3d5342baa64d3e940d05f (diff)
parentb9c6c7cb25932b594fd684a0cb553e439d49fe12 (diff)
downloadffmpeg-streaming-174df6affc4e2cfdc6c91c1be3c3e1a8a794cf78.zip
ffmpeg-streaming-174df6affc4e2cfdc6c91c1be3c3e1a8a794cf78.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: build: remove empty $(OBJS) target build: make rule for linking ff* apply only to these targets build: rearrange some lines in a more logical way s302m: fix resampling for 16 and 24bits. ARM: remove MUL64 and MAC64 inline asm build: clean up .PHONY lists build: move all (un)install* target aliases to toplevel Makefile flvenc: propagate error properly build: remove stale dependency build: do not add CFLAGS-yes to CFLAGS utils.c: fix crash with threading enabled. configure: simplify source_path setup configure: remove --source-path option lavf: deprecate AVFormatParameters.time_base. img2: add framerate private option. img2: add video_size private option. img2: add pixel_format private option. tty: add framerate private option. Conflicts: Makefile configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/arm/mathops.h31
-rw-r--r--libavcodec/s302m.c4
2 files changed, 3 insertions, 32 deletions
diff --git a/libavcodec/arm/mathops.h b/libavcodec/arm/mathops.h
index db427b5..299a973 100644
--- a/libavcodec/arm/mathops.h
+++ b/libavcodec/arm/mathops.h
@@ -28,45 +28,16 @@
#if HAVE_INLINE_ASM
-#define MULH MULH
-#define MUL64 MUL64
-
#if HAVE_ARMV6
+#define MULH MULH
static inline av_const int MULH(int a, int b)
{
int r;
__asm__ ("smmul %0, %1, %2" : "=r"(r) : "r"(a), "r"(b));
return r;
}
-
-static inline av_const int64_t MUL64(int a, int b)
-{
- int64_t x;
- __asm__ ("smull %Q0, %R0, %1, %2" : "=r"(x) : "r"(a), "r"(b));
- return x;
-}
-#else
-static inline av_const int MULH(int a, int b)
-{
- int lo, hi;
- __asm__ ("smull %0, %1, %2, %3" : "=&r"(lo), "=&r"(hi) : "r"(b), "r"(a));
- return hi;
-}
-
-static inline av_const int64_t MUL64(int a, int b)
-{
- int64_t x;
- __asm__ ("smull %Q0, %R0, %1, %2" : "=&r"(x) : "r"(a), "r"(b));
- return x;
-}
#endif
-static inline av_const int64_t MAC64(int64_t d, int a, int b)
-{
- __asm__ ("smlal %Q0, %R0, %1, %2" : "+r"(d) : "r"(a), "r"(b));
- return d;
-}
-#define MAC64(d, a, b) ((d) = MAC64(d, a, b))
#define MLS64(d, a, b) MAC64(d, -(a), b)
#if HAVE_ARMV5TE
diff --git a/libavcodec/s302m.c b/libavcodec/s302m.c
index e49827b..98a5e73 100644
--- a/libavcodec/s302m.c
+++ b/libavcodec/s302m.c
@@ -107,7 +107,7 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
*o++ = (av_reverse[buf[6] & 0xf0] << 28) |
(av_reverse[buf[5]] << 20) |
(av_reverse[buf[4]] << 12) |
- (av_reverse[buf[3] & 0x0f] << 8);
+ (av_reverse[buf[3] & 0x0f] << 4);
buf += 7;
}
*data_size = (uint8_t*) o - (uint8_t*) data;
@@ -130,7 +130,7 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
av_reverse[buf[0]];
*o++ = (av_reverse[buf[4] & 0xf0] << 12) |
(av_reverse[buf[3]] << 4) |
- av_reverse[buf[2] & 0x0f];
+ (av_reverse[buf[2]] >> 4);
buf += 5;
}
*data_size = (uint8_t*) o - (uint8_t*) data;
OpenPOWER on IntegriCloud