Michael Niedermayer
97da68172a
avfilter/af_aresample: split flushing code out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 17:17:23 +01:00
Derek Buitenhuis
1dbc3e8ac8
avfilter/aresample: Check for memory alloc failure for out sample rates
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-10-02 12:22:37 +01:00
Reimar Döffinger
3cc0f335fe
af_aresample: remove only use of array compound literals with non-const initializers in FFmpeg.
...
Some older compilers might have particular trouble with them,
and they do not really seem worth it to me.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-12-30 12:38:04 +01:00
Alex Sukhanov
86b3435fc0
af_aresample: Fix timestamp of first padded PCM audio packet
...
Problem:
ffmpeg generated video file which had two audio packets with the same timestamp: last original audio packet and first padded audio packet.
Timestamp of first added audio packet by 'apad' fitler had the same value as last original audio packet. The problem was in 'aresample' fitler, which used next pts instead of current one.
As long as 'apad' and 'aresample' filters have separate mechanisms of timestamp calculation, they got the same values.
Command line:
ffmpeg -i <input_filename> -shortest -apad 512 -af asetnsamples=n=512 -b:a 1058400 -ac 1 -ar 44100 -async 0 -acodec pcm_s16le -sn -f matroska -y <output_file>
Fix:
Call swr_next_pts() function before swr_convert()
Tested:
FATE tests passed.
Fix has been tested in our Transcoder regression framework on ~10k test videos. It's about ~500k transcodes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-15 11:54:02 +01:00
Michael Niedermayer
ea6331b2c6
avfilter/af_aresample: Calculate output buffer size more precisely.
...
Fixes accumulation of data in case of significant silence injections
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-06 23:54:02 +01:00
Michael Niedermayer
325f6e0a97
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavfi: do not export the filters from shared objects
Conflicts:
libavfilter/af_amix.c
libavfilter/af_anull.c
libavfilter/asrc_anullsrc.c
libavfilter/f_select.c
libavfilter/f_settb.c
libavfilter/split.c
libavfilter/src_movie.c
libavfilter/vf_aspect.c
libavfilter/vf_blackframe.c
libavfilter/vf_colorbalance.c
libavfilter/vf_copy.c
libavfilter/vf_crop.c
libavfilter/vf_cropdetect.c
libavfilter/vf_drawbox.c
libavfilter/vf_format.c
libavfilter/vf_framestep.c
libavfilter/vf_frei0r.c
libavfilter/vf_hflip.c
libavfilter/vf_libopencv.c
libavfilter/vf_lut.c
libavfilter/vf_null.c
libavfilter/vf_overlay.c
libavfilter/vf_scale.c
libavfilter/vf_transpose.c
libavfilter/vf_unsharp.c
libavfilter/vf_vflip.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 11:58:11 +01:00
Paul B Mahol
b211607b5c
avfilter: various cosmetics
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:01:43 +00:00
Michael Niedermayer
ec0e0eb4c1
avfilter/vf_scale+aresample: minor simpification
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 04:26:59 +02:00
Michael Niedermayer
4f43e9b4af
avfilter/aresample: use init_dict system and set child AVOption context correctly
...
Parts of this commit are based on: 4fa1f52e
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 20:40:59 +02:00
Michael Niedermayer
cd5f50a255
avfilter: avoid direct access to AVFrame.channels
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 16:13:53 +01:00
Clément Bœsch
c82bb2815b
lavfi/aresample: raise filter_frame() error.
2013-03-13 19:00:08 +01:00
Michael Niedermayer
a05a44e205
Merge commit '7e350379f87e7f74420b4813170fe808e2313911'
...
* commit '7e350379f87e7f74420b4813170fe808e2313911':
lavfi: switch to AVFrame.
Conflicts:
doc/filters.texi
libavfilter/af_ashowinfo.c
libavfilter/audio.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/buffersink.c
libavfilter/buffersrc.c
libavfilter/buffersrc.h
libavfilter/f_select.c
libavfilter/f_setpts.c
libavfilter/fifo.c
libavfilter/split.c
libavfilter/src_movie.c
libavfilter/version.h
libavfilter/vf_aspect.c
libavfilter/vf_bbox.c
libavfilter/vf_blackframe.c
libavfilter/vf_delogo.c
libavfilter/vf_drawbox.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_fieldorder.c
libavfilter/vf_fps.c
libavfilter/vf_frei0r.c
libavfilter/vf_gradfun.c
libavfilter/vf_hqdn3d.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_showinfo.c
libavfilter/vf_transpose.c
libavfilter/vf_vflip.c
libavfilter/vf_yadif.c
libavfilter/video.c
libavfilter/vsrc_testsrc.c
libavfilter/yadif.h
Following are notes about the merge authorship and various technical details.
Michael Niedermayer:
* Main merge operation, notably avfilter.c and video.c
* Switch to AVFrame:
- afade
- anullsrc
- apad
- aresample
- blackframe
- deshake
- idet
- il
- mandelbrot
- mptestsrc
- noise
- setfield
- smartblur
- tinterlace
* various merge changes and fixes in:
- ashowinfo
- blackdetect
- field
- fps
- select
- testsrc
- yadif
Nicolas George:
* Switch to AVFrame:
- make rawdec work with refcounted frames. Adapted from commit
759001c534
by Anton Khirnov.
Also, fix the use of || instead of | in a flags check.
- make buffer sink and src, audio and video work all together
Clément Bœsch:
* Switch to AVFrame:
- aevalsrc
- alphaextract
- blend
- cellauto
- colormatrix
- concat
- earwax
- ebur128
- edgedetect
- geq
- histeq
- histogram
- hue
- kerndeint
- life
- movie
- mp (with the help of Michael)
- overlay
- pad
- pan
- pp
- pp
- removelogo
- sendcmd
- showspectrum
- showwaves
- silencedetect
- stereo3d
- subtitles
- super2xsai
- swapuv
- thumbnail
- tile
Hendrik Leppkes:
* Switch to AVFrame:
- aconvert
- amerge
- asetnsamples
- atempo
- biquads
Matthieu Bouron:
* Switch to AVFrame
- alphamerge
- decimate
- volumedetect
Stefano Sabatini:
* Switch to AVFrame:
- astreamsync
- flite
- framestep
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 01:40:35 +01:00
Nicolas George
3d2adeb6f8
lavfi/af_aresample: fix info log for unknown layouts.
2013-02-28 19:23:12 +01:00
Nicolas George
2bd104c72a
lavfi/af_aresample: fix layout consistency check.
...
If the channel layout is unknown, lswr will internally use
the default one for the corresponding number of channels.
2013-02-28 19:23:12 +01:00
Nicolas George
b00502457a
lavfi/af_aresample: accept unknown channel layouts.
2013-01-26 11:15:38 +01:00
Stefano Sabatini
e06c147581
lavfi/aresample: fix style
...
Improve overall consistency/improve readability.
2012-12-26 11:56:35 +01:00
Nicolas George
238edd2fe3
lavfi: add a channels field to AVFilterLink.
...
Also: fix af_pan and af_aresample, that forgot to update
audio->channels.
2012-12-20 13:03:41 +01:00
Michael Niedermayer
616e6ffac6
aresample: increase n_out buffer size a bit to reduce delay in some corner cases
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 18:17:48 +01:00
Clément Bœsch
2d9d444051
lavfi: convert remaining input/output list compound literals to named objects.
...
This is following 568c70e79e
.
2012-11-28 23:19:20 +01:00
Michael Niedermayer
cd7febd33f
lavfi: replace filter_samples by filter_frame
...
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00
Michael Niedermayer
8d231e37af
af_aresample: consistently use ROUNDED_DIV
...
This fixes issues with negative timestamps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 21:09:15 +01:00
Michael Niedermayer
4b5a12a2cb
af_aresample: fix rounding of negative timestamps
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 16:25:47 +01:00
Michael Niedermayer
014058abea
af_aresample: check ff_get_audio_buffer() failure
...
Fixes null pointer dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 17:33:32 +01:00
Michael Niedermayer
c44a028e19
af_aresample: allocate at least 1 sample buffer. Fix null ptr dereference.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 15:55:54 +01:00
Paul B Mahol
1acd2f6ba7
Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
...
Also remove it in once case when it is not needed.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:21:21 +00:00
Michael Niedermayer
9ba2484ece
af_aresample: fix leak on alloc failure
...
Fixes CID733798
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 16:48:25 +02:00
Nicolas George
b5bea2f960
lavfi/aresample: set buffer properties after copy.
...
The aresample filter changes the format, layout and/or sample rate,
it can not copy them blindly from its input.
Related to trac ticket #1671 .
2012-09-13 12:05:19 +02:00
Stefano Sabatini
fda968aa8f
lavfi: decrease logging level of message showing initial parameters
...
Reduce log clutter, consistent with 1a49a169eb
.
2012-07-15 15:07:03 +02:00
Michael Niedermayer
f8911b987d
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
mss3: use standard zigzag table
mss3: split DSP functions that are used in MTS2(MSS4) into separate file
motion-test: do not use getopt()
tcp: add initial timeout limit for incoming connections
configure: Change the rdtsc check to a linker check
avconv: propagate fatal errors from lavfi.
lavfi: add error handling to filter_samples().
fate-run: make avconv() properly deal with multiple inputs.
asplit: don't leak the input buffer.
af_resample: fix request_frame() behavior.
af_asyncts: fix request_frame() behavior.
libx264: support aspect ratio switching
matroskadec: honor error_recognition when encountering unknown elements.
lavr: resampling: add support for s32p, fltp, and dblp internal sample formats
lavr: resampling: add filter type and Kaiser window beta to AVOptions
lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
lavr: mix: validate internal sample format in ff_audio_mix_init()
Conflicts:
ffmpeg.c
ffplay.c
libavcodec/libx264.c
libavfilter/audio.c
libavfilter/split.c
libavformat/tcp.c
tests/fate-run.sh
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-09 22:40:12 +02:00
Michael Niedermayer
052f4f859c
Merge commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a'
...
* commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a':
lavfi: remove 'opaque' parameter from AVFilter.init()
mov: do not try to read total disc/track number if data atom is too short.
avconv: fix -force_key_frames
dxva2_h264: fix signaling of mbaff frames
x86: fft: elf64: fix PIC build
Conflicts:
ffmpeg.c
libavcodec/v210dec.h
libavfilter/asrc_anullsrc.c
libavfilter/buffersrc.c
libavfilter/src_movie.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_overlay.c
libavfilter/vsrc_color.c
libavfilter/vsrc_testsrc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-26 23:57:07 +02:00
Stefano Sabatini
972cad77fa
lavfi: remove unnecessary inclusion of libavcodec/avcodec.h in avfilter.h
...
libavfilter API was designed in order to be clarly distinguished from the
libavcodec API, including avcodec.h in avfilter.h is not going to help to
stick to this principle.
The inclusion of libavutil/audioconvert.h in many files was required
because avcodec.h includes audioconvert.h.
libavfilter/avcodec.h is where the lavc/lavfi interface should be
entirely placed.
2012-06-25 13:42:37 +02:00
Michael Niedermayer
62975afa68
af_aresample: fix sample_rate type.
...
should fix fate failures on 32bit x86 linux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 15:13:39 +02:00
Michael Niedermayer
1c60088885
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: Only use optimizations with cmov if the CPU supports the instruction
x86: Add CPU flag for the i686 cmov instruction
x86: remove unused inline asm macros from dsputil_mmx.h
x86: move some inline asm macros to the only places they are used
lavfi: Add the af_channelmap audio channel mapping filter.
lavfi: add join audio filter.
lavfi: allow audio filters to request a given number of samples.
lavfi: support automatically inserting the fifo filter when needed.
lavfi/audio: eliminate ff_default_filter_samples().
Conflicts:
Changelog
libavcodec/x86/h264dsp_mmx.c
libavfilter/Makefile
libavfilter/allfilters.c
libavfilter/avfilter.h
libavfilter/avfiltergraph.c
libavfilter/version.h
libavutil/x86/cpu.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 02:09:53 +02:00
Paul B Mahol
c9e183b490
lavfi: update some deprecated functions
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-16 15:15:16 +00:00
Michael Niedermayer
be97675e6c
af_aresample: fix pts, they where off by a packet in the -async >0 case.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 16:22:46 +02:00
Michael Niedermayer
411689b5e1
af_aresample: fix request_frame()
...
Fixes part of Ticket1341
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 02:28:40 +02:00
Clément Bœsch
b0b7a89b07
lavfi/aresample: print channel layouts and formats along with the rate.
2012-05-25 07:26:48 +02:00
Michael Niedermayer
21d8a80e30
af_aresample: use new swr API to pass and compensate PTS
...
This code is not only much more powerfull its also simpler
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:38 +02:00
Michael Niedermayer
087d09b6d5
af_aresample: allocate a larger buffer so accumulated data can be returned quicker
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:38 +02:00
Michael Niedermayer
e17a039647
af_aresample: use extended_data
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:38 +02:00
Michael Niedermayer
96ac8663de
af_aresample: Consider the swresample delay during calculating timestamps.
...
The difference from this should be pretty small.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-18 23:03:27 +02:00
Michael Niedermayer
6ba692f8a7
af_aresample: fix rounding that led to sample accumulation in the buffers.
...
This fixes a regression that apparently was missed when switching to the
in af resampler
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-18 22:57:02 +02:00
Michael Niedermayer
db6ef054f5
af_aresample: 10l fix, wrong timebase for next_pts.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-18 04:45:08 +02:00
Michael Niedermayer
847943bc51
aresample: add code to flush the internal swr buffer.
...
Inspired-by code from af_resample.c written by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 22:45:05 +02:00
Michael Niedermayer
b3e1b95afa
aresample: check return code of swr_convert()
...
Issue found by comparing af_resample.c and af_aresample.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 22:44:28 +02:00
Michael Niedermayer
b13d39bd81
av_aresample: Allow changing sample format and channel layout as well
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 16:46:15 +02:00
Michael Niedermayer
e3c6b61263
af_aresample: support all swresample parameters.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 13:10:14 +02:00
Michael Niedermayer
47c2e52bc6
af_aresample: fix typo in query formats
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 13:09:39 +02:00
Michael Niedermayer
efdc895fbd
lavfi: fix pts rescaling in the resampler
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-16 03:54:04 +02:00
Michael Niedermayer
75492cce8e
lavfi: fix resample with differing formats
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-16 03:53:29 +02:00