diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-08-09 00:26:38 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-08-09 00:51:02 +0200 |
commit | 11a1033c9fcae380f4da06b2b0253ab0eb82b026 (patch) | |
tree | cee0379ce616e16ef342622b77fe417fa604c014 /libavcodec | |
parent | 4270d8c04d354b928d2329abd1037c6f0a72c07f (diff) | |
parent | 5864eb427f2f05342136f3bc9727d826e68d8dbf (diff) | |
download | ffmpeg-11a1033c9fcae380f4da06b2b0253ab0eb82b026.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
build: cosmetics: Reorder some lists in a more logical fashion
x86: pngdsp: Fix assembly for OS/2
fate: add test for RTjpeg in nuv with frameheader
rtmp: send check_bw as notification
g723_1: clip argument for 15-bit version of normalize_bits()
g723_1: use all LPC vectors in formant postfilter
id3v2: Support v2.2 PIC
avplay: fix build with lavfi disabled.
avconv: split configuring filter configuration to a separate file.
avconv: split option parsing into a separate file.
mpc8: do not leave padding after last frame in buffer for the next decode call
mpegaudioenc: list supported channel layouts.
mpegaudiodec: don't print an error on > 1 frame in a packet.
api-example: update to new audio encoding API.
configure: add --enable/disable-random option
doc: cygwin: Update list of FATE package requirements
build: Remove all installed headers and header directories on uninstall
build: change checkheaders to use regular build rules
rtmp: Add a new option 'rtmp_subscribe'
rtmp: Add support for subscribing live streams
...
Conflicts:
Makefile
common.mak
configure
doc/examples/decoding_encoding.c
ffmpeg.c
libavcodec/g723_1.c
libavcodec/mpegaudiodec.c
libavcodec/x86/pngdsp.asm
libavformat/version.h
library.mak
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/g723_1.c | 2 | ||||
-rw-r--r-- | libavcodec/mpc8.c | 2 | ||||
-rw-r--r-- | libavcodec/mpegaudiodec.c | 2 | ||||
-rw-r--r-- | libavcodec/mpegaudioenc.c | 5 | ||||
-rw-r--r-- | libavcodec/x86/pngdsp.asm | 2 |
5 files changed, 11 insertions, 2 deletions
diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c index 2b59711ed1..dcf285db1e 100644 --- a/libavcodec/g723_1.c +++ b/libavcodec/g723_1.c @@ -264,6 +264,7 @@ static int scale_vector(int16_t *vector, int length) for (i = 0; i < length; i++) max = FFMAX(max, FFABS(vector[i])); + max = FFMIN(max, 0x7FFF); bits = normalize_bits(max, 15); scale = shift_table[bits]; @@ -913,6 +914,7 @@ static void formant_postfilter(G723_1_Context *p, int16_t *lpc, int16_t *buf) } iir_filter(filter_coef[0], filter_coef[1], buf + i, filter_signal + i, 1); + lpc += LPC_ORDER; } memcpy(p->fir_mem, buf + FRAME_LEN, LPC_ORDER * sizeof(int16_t)); diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c index 7a075e3c15..cb30b2c28b 100644 --- a/libavcodec/mpc8.c +++ b/libavcodec/mpc8.c @@ -419,6 +419,8 @@ static int mpc8_decode_frame(AVCodecContext * avctx, void *data, c->cur_frame++; c->last_bits_used = get_bits_count(gb); + if(get_bits_left(gb) < 8) // we have only padding left + c->last_bits_used = buf_size << 3; if(c->cur_frame >= c->frames) c->cur_frame = 0; diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index d24b35dbfd..85079761df 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -1686,7 +1686,7 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *got_frame_ptr, if (s->frame_size <= 0 || s->frame_size > buf_size) { av_log(avctx, AV_LOG_ERROR, "incomplete frame\n"); return AVERROR_INVALIDDATA; - }else if(s->frame_size < buf_size){ + } else if (s->frame_size < buf_size) { av_log(avctx, AV_LOG_DEBUG, "incorrect frame size - multiple frames in buffer?\n"); buf_size= s->frame_size; } diff --git a/libavcodec/mpegaudioenc.c b/libavcodec/mpegaudioenc.c index 585ef44f87..2c58ddf452 100644 --- a/libavcodec/mpegaudioenc.c +++ b/libavcodec/mpegaudioenc.c @@ -24,6 +24,8 @@ * The simplest mpeg audio layer 2 encoder. */ +#include "libavutil/audioconvert.h" + #include "avcodec.h" #include "internal.h" #include "put_bits.h" @@ -792,6 +794,9 @@ AVCodec ff_mp2_encoder = { .supported_samplerates = (const int[]){ 44100, 48000, 32000, 22050, 24000, 16000, 0 }, + .channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, + AV_CH_LAYOUT_STEREO, + 0 }, .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"), .defaults = mp2_defaults, }; diff --git a/libavcodec/x86/pngdsp.asm b/libavcodec/x86/pngdsp.asm index 8999c17c82..970f3db6f1 100644 --- a/libavcodec/x86/pngdsp.asm +++ b/libavcodec/x86/pngdsp.asm @@ -28,7 +28,7 @@ SECTION_RODATA cextern pw_255 -SECTION_TEXT 16 +SECTION_TEXT ; %1 = nr. of xmm registers used %macro ADD_BYTES_FN 1 |