summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-12-16 01:23:15 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-12-16 01:23:15 +0100
commit175cc378b3bd970caf1641e5df3361d6233747e1 (patch)
treed237cb08b1b6909154a007d3c06f0dab61b9700f /libavcodec
parent56669837ce18d15d757a144712a082b9cb535c94 (diff)
parentd3b8bde2f14f78109a892e57f544bf840cf6d4fc (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: movenc: Rudimentary IODs support. v410enc: fix output buffer size check v410enc: include correct headers fate: add -pix_fmt rgb48le to r210 test flvenc: Support muxing 16 kHz nellymoser configure: refactor list of programs into a variable fate: add r210 decoder test fate: split off Indeo FATE tests into their own file fate: split off ATRAC FATE tests into their own file fate: Add FATE tests for v410 encoder and decoder ARM: fix external symbol refs in rv40 asm westwood: Make sure audio header info is present when parsing audio packets libgsm: Reset the MS mode of GSM in the flush function libgsm: Set options on the right object ARM: dca: disable optimised decode_blockcodes() for old gcc Conflicts: configure libavformat/movenc.c libavformat/movenc.h tests/fate2.mak tests/ref/acodec/alac tests/ref/vsynth1/mpeg4 tests/ref/vsynth2/mpeg4 Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/arm/dca.h2
-rw-r--r--libavcodec/arm/rv40dsp_neon.S4
-rw-r--r--libavcodec/libgsm.c5
-rw-r--r--libavcodec/v410enc.c4
4 files changed, 9 insertions, 6 deletions
diff --git a/libavcodec/arm/dca.h b/libavcodec/arm/dca.h
index 9ff7f7c75e..9b0efc0e64 100644
--- a/libavcodec/arm/dca.h
+++ b/libavcodec/arm/dca.h
@@ -25,7 +25,7 @@
#include "config.h"
#include "libavutil/intmath.h"
-#if HAVE_ARMV6 && HAVE_INLINE_ASM
+#if HAVE_ARMV6 && HAVE_INLINE_ASM && AV_GCC_VERSION_AT_LEAST(4,4)
#define decode_blockcodes decode_blockcodes
static inline int decode_blockcodes(int code1, int code2, int levels,
diff --git a/libavcodec/arm/rv40dsp_neon.S b/libavcodec/arm/rv40dsp_neon.S
index a4313d89f9..d9e1b7c959 100644
--- a/libavcodec/arm/rv40dsp_neon.S
+++ b/libavcodec/arm/rv40dsp_neon.S
@@ -372,7 +372,7 @@ endfunc
function ff_\type\()_rv40_qpel8_mc33_neon, export=1
mov r3, #8
- b ff_\type\()_pixels8_xy2_neon
+ b X(ff_\type\()_pixels8_xy2_neon)
endfunc
function ff_\type\()_rv40_qpel8_mc13_neon, export=1
@@ -652,7 +652,7 @@ endfunc
function ff_\type\()_rv40_qpel16_mc33_neon, export=1
mov r3, #16
- b ff_\type\()_pixels16_xy2_neon
+ b X(ff_\type\()_pixels16_xy2_neon)
endfunc
.endm
diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c
index 9ba9da9e3f..ed4962a3b2 100644
--- a/libavcodec/libgsm.c
+++ b/libavcodec/libgsm.c
@@ -155,7 +155,7 @@ static av_cold int libgsm_decode_init(AVCodecContext *avctx) {
break;
case CODEC_ID_GSM_MS: {
int one = 1;
- gsm_option(avctx->priv_data, GSM_OPT_WAV49, &one);
+ gsm_option(s->state, GSM_OPT_WAV49, &one);
avctx->frame_size = 2 * GSM_FRAME_SIZE;
avctx->block_align = GSM_MS_BLOCK_SIZE;
}
@@ -212,9 +212,12 @@ static int libgsm_decode_frame(AVCodecContext *avctx, void *data,
static void libgsm_flush(AVCodecContext *avctx) {
LibGSMDecodeContext *s = avctx->priv_data;
+ int one = 1;
gsm_destroy(s->state);
s->state = gsm_create();
+ if (avctx->codec_id == CODEC_ID_GSM_MS)
+ gsm_option(s->state, GSM_OPT_WAV49, &one);
}
AVCodec ff_libgsm_decoder = {
diff --git a/libavcodec/v410enc.c b/libavcodec/v410enc.c
index ea66653412..e6c837eef6 100644
--- a/libavcodec/v410enc.c
+++ b/libavcodec/v410enc.c
@@ -20,8 +20,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/intreadwrite.h"
#include "avcodec.h"
-#include "put_bits.h"
static av_cold int v410_encode_init(AVCodecContext *avctx)
{
@@ -50,7 +50,7 @@ static int v410_encode_frame(AVCodecContext *avctx, uint8_t *buf,
int i, j;
int output_size = 0;
- if (buf_size < avctx->width * avctx->height * 3) {
+ if (buf_size < avctx->width * avctx->height * 4) {
av_log(avctx, AV_LOG_ERROR, "Out buffer is too small.\n");
return AVERROR(ENOMEM);
}