Commit Graph

1930 Commits

Author SHA1 Message Date
Nicolas George
aba8065adb avfiltergraph: call query_formats on inputs first.
This is a temporary workaround for amerge,
until format renegociation is implemented.

Should fix trac ticket #1400.
2012-06-05 13:26:34 +02:00
Nicolas George
6a4c5c730e avfiltergraph: check query_formats return value. 2012-06-05 13:26:34 +02:00
Stefano Sabatini
1488c4dc0b lavfi: move tracing utilities definition from video.c to avfilter.c
These utilities are meant to be defined in avfilter.c, since they are
generic and thus contain both audio and video code.
2012-06-05 11:52:47 +02:00
Anton Khirnov
803391f719 lavfi: remove request/poll and drawing functions from public API on next bump
They are only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:38:16 +02:00
Anton Khirnov
fa417fcd27 lavfi: make avfilter_insert_pad and pals private on next bump.
They are only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:38:08 +02:00
Anton Khirnov
b74a1da49d lavfi: make formats API private on next bump.
It is only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:37:30 +02:00
Clément Bœsch
44be67595d lavfi/select: use exported dsputil_init function.
This is the deprecated version of the function but it is exported, so it
should fix the shared FATE box.
2012-06-05 07:29:00 +02:00
Clément Bœsch
13a7bd70c8 lavfi/select: 10l: llabs -> fabs after switching types. 2012-06-05 00:17:38 +02:00
Michael Niedermayer
944d049eaa Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Write chan atom for all audio tracks in mov mode movies.
  mpegtsenc: use avio_open_dyn_buf(), zero pointers after freeing
  doc/avconv: add some details about the transcoding process.
  avidec: make scale and rate unsigned.
  avconv: check output stream recording time before each frame returned from filters
  avconv: split selecting input file out of transcode().
  avconv: split checking for active outputs out of transcode().
  avfiltergraph: make some functions static.

Conflicts:
	ffmpeg.c
	libavfilter/avfiltergraph.c
	libavfilter/internal.h
	libavformat/mpegtsenc.c
	tests/ref/fate/acodec-alac
	tests/ref/fate/acodec-pcm-s16be
	tests/ref/fate/acodec-pcm-s24be
	tests/ref/fate/acodec-pcm-s32be
	tests/ref/fate/acodec-pcm-s8
	tests/ref/lavf/mov

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 22:59:32 +02:00
Clément Bœsch
72868144e5 lavfi/select: add scene detection.
Based on the shotdetect algorithm (http://shotdetect.nonutc.fr/ by Johan
MATHE johan.mathe tremplin-utc.net).
2012-06-04 21:44:34 +02:00
Anton Khirnov
8eb9bf0933 avfiltergraph: make some functions static.
They are not used outside of avfiltergraph.c
2012-06-04 14:17:39 +02:00
Stefano Sabatini
0f0f3bd1e0 lavfi: use av_default_item_name() as filter private context logger
avfilter_default_filter_name() is supposed to access an AVFilterContext
struct, if used with a private struct it will cause a crash since it will
access fields which are non defined in the private struct.
2012-06-04 02:40:01 +02:00
Stefano Sabatini
4d6a8a2bdb lavfi: add avfilter_default_filter_name()
The function is modelled after av_default_item_name(), and will print the
name of the instance filter if defined, otherwise the name of the filter.

This allows to show the instance name in the log, which is useful when
debugging complex filter graphs.
2012-06-04 00:54:57 +02:00
Stefano Sabatini
f3fea5bab1 lavfi/lut: fix component -> rgba mapping 2012-06-04 00:07:24 +02:00
Michael Niedermayer
a5c7525bcb set some categories of some AVClass structs
Please help setting the category for all remaining AVClasses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 21:55:50 +02:00
Nicolas George
7f17f4f1a7 af_amerge: use the buferqueue API. 2012-06-03 10:04:01 +02:00
Nicolas George
2f2d47ab63 af_astreamsync: set samples rate in query_formats. 2012-06-03 10:04:01 +02:00
Michael Niedermayer
5afdb3e6b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Fix fate-ac3-fixed-encode for pre-ssse3 x86 machines
  http: Pass the proper return code of net IO operations
  http: Add 'post_data', a new option which sets custom HTTP post data
  lavfi: amix: check active input count before calling request_samples
  vp8: move block coeff arithcoder on stack.
  mp3/ac3 probe: search for PES headers to prevent probing MPEG-PS as MP3.

Conflicts:
	libavformat/ac3dec.c
	libavformat/mp3dec.c
	tests/fate/ac3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 21:27:42 +02:00
Nicolas George
06bf6d3bc0 vf_overlay: rewrite request/push logic.
The old implementation, upon receiving a frame on the main
input, would request an overlay frame if necessary. This could
generate an infinite recursion, off-by-one frame mismatch and
other harmful effects, especially it the split filter is present
upgraph.

The new implementation uses the linear approach: it uses two
buffer queues for frames received out of turn and forwards
request_frame calls to the input where a frame is necessary.
2012-05-31 17:27:27 +02:00
Nicolas George
6d679c4359 lavfi: add a generic API for buffer queues. 2012-05-31 17:27:27 +02:00
Nicolas George
72f3786d0f sink_buffer: guard against NULL frames.
This only happens if some filter somewhere is bogus,
but it helps debugging.
2012-05-31 17:27:27 +02:00
Justin Ruggles
c7bd556d48 lavfi: amix: check active input count before calling request_samples
fixes use of the amix filter with only 1 input
2012-05-30 16:20:03 -04:00
Janne Grunau
12d42cd7a8 avfilter: include required header file avfilter.h in video.h 2012-05-29 15:36:06 +02:00
Paul B Mahol
908c045f3a avfilter: use designated initializer for class
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-05-29 07:59:21 +00:00
Michael Niedermayer
59a78290b6 lavfi: use getter/setter functions for AVFrame.pkt_pos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 23:45:17 +02:00
Robert Nagy
c2eae4bae7 lavfi: Fill linesize, sample_rate and channel_layout fields in avfilter_fill_frame_from_audio_buffer_ref.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 22:52:23 +02:00
Michael Niedermayer
8a45e0c354 lswsutils: fix "ncompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 20:46:00 +02:00
Michael Niedermayer
6d401effc4 lavfutils: fix incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 20:45:59 +02: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
Michael Niedermayer
e02e58fb1c libavfilter: export ff_default_query_formats()
Its needed for fate on shared versioned .so

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-25 18:54:01 +02:00
Stefano Sabatini
171db366fd lavfi/pixdesctest: use AVPALETTE_SIZE macro 2012-05-25 11:16:40 +02:00
Stefano Sabatini
e37bfc4925 lavfi/pixdesctest: fix SAME -> SAME memcpy
Fix pixdesctest output with pal8 input.

X-Cola-Count: +(10+i*PI)l
2012-05-25 11:04:34 +02:00
Stefano Sabatini
ad12e9e8c0 lavfi/hflip: copy palette data in start_frame()
Fix trac ticket #1116.
2012-05-25 11:04:24 +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
65e63072f8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Return a proper error code instead of -1
  rtmp: Check malloc calls
  rtmp: Check ff_rtmp_packet_create calls
  lavfi: add audio mix filter
  flvdec: Make sure sample_rate is set to the updated value
  tqi: Pass errors from the MB decoder

Conflicts:
	Changelog
	doc/filters.texi
	libavcodec/eatqi.c
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-25 00:38:16 +02:00
Clément Bœsch
781fb46c56 lavfi/video: add avfilter.h include to fix make checkheaders. 2012-05-24 23:46:15 +02:00
Michael Niedermayer
d5802a59f7 lavfutils: fix copyright
git blame:
     77 Stefano Sabatini
      1 Michael Niedermayer

Initial commit:
commit 2f83681c79
Author: Stefano Sabatini <stefasab@gmail.com>
Date:   Sat Mar 10 14:01:28 2012 +0100

    lavfi: port libmpcodecs remove-logo filter

    The code is based on the remove-logo filter in MPlayer/libmpcodecs, by
    Robert Edele, relicensed to LGPL with consent of the author.

    Address trac issue #249.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:49 +02:00
Michael Niedermayer
7343727a8f lavfi/video: fix copyright
git blame:
    132 Stefano Sabatini
     77 Vitor Sessak
     49 Michael Niedermayer
     24 Anton Khirnov
     22 S.N. Hemanth Meenakshisundaram
     13 Bobby Bingham
      7 Luca Barbato
      2 Nicolas George
      2 Alex Converse
      1 Diego Elio Pettenò

Initial commit not traced as this file was split out.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:49 +02:00
Michael Niedermayer
e92b48d40f drawutils: fix copyright
git blame:
    423 Nicolas George
     86 Stefano Sabatini
     19 Michael Niedermayer
      1 Reimar Döffinger

Initial commit:
commit bcfd9e821b
Author: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Date:   Sun Feb 20 23:42:17 2011 +0100

    lavfi: add drawutils

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:49 +02:00
Michael Niedermayer
cfb398bfc4 vf_fps: fix copyright
Only commit:
commit 54c5dd89e3
Author: Anton Khirnov <anton@khirnov.net>
Date:   Wed May 9 14:08:21 2012 +0200

    lavfi: Add fps filter.

    Partially based on a patch by Robert Nagy <ronag89@gmail.com>

also see [FFmpeg-devel] [PATCH 07/10] vf_fps: fix copyright

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:49 +02:00
Michael Niedermayer
c836f28f33 vf_fps: license cleanup
The original patch was sent with FFmpeg in the license header.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:49 +02:00
Michael Niedermayer
81c23fec63 lavfi/buffer.c: fix copyright
git blame:
     75 Anton Khirnov
     72 Michael Niedermayer
     39 Stefano Sabatini
     23 S.N. Hemanth Meenakshisundaram
      9 Vitor Sessak
      6 Robert Nagy
      2 Diego Biurrun
      1 Andrey Utkin

Note:
commit ab165047a6
Author: Anton Khirnov <anton@khirnov.net>
Date:   Fri Apr 27 17:27:40 2012 +0200

    lavfi: add a function for copying properties from AVFilterBufferRef->AVFrame

    Based on a commit by Stefano Sabatini <stefano.sabatini-lala@poste.it>

commit 4a1ac8c43f
Author: Anton Khirnov <anton@khirnov.net>
Date:   Thu May 10 07:58:11 2012 +0200

    lavfi: move buffer management function to a separate file.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:49 +02:00
Michael Niedermayer
83995411f7 lavfi/avcodec.c: fix copyright
git blame:
     45 Stefano Sabatini
     23 Clément Bœsch
      4 Michael Niedermayer
      3 Robert Nagy
      3 Nicolas George
      2 Roger Pau Monné

Initial commit:
commit 566666caf3
Author: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Date:   Sun May 1 14:47:05 2011 +0200

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:49 +02:00
Michael Niedermayer
20f991e0f6 asrc_anullsrc: fix copyright
git blame says:
    109 Stefano Sabatini
      7 Clément Bœsch
      2 Reimar Döffinger
      2 Michael Niedermayer
      1 Reinhard Tartler
      1 Mans Rullgard

Initial commit:
commit 1ee410f330
Author: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Date:   Sat Sep 25 01:56:58 2010 +0000

    Add asrc_anullsrc - null audio source.

    Based on a patch by "S.N. Hemanth Meenakshisundaram" smeenaks!ucsd!edu.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:48 +02:00
Michael Niedermayer
77ba8af023 asink_anullsink: fix copyright
git blame says authors are:
     19 S.N. Hemanth Meenakshisundaram
      2 Reimar Döffinger

initial commit:
	commit f0a5543898
	Author: S.N. Hemanth Meenakshisundaram <smeenaks@ucsd.edu>
	Date:   Sat Sep 25 01:57:01 2010 +0000

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:48 +02:00
Michael Niedermayer
7ef5c80cb4 af_null: fix copyright
Authors according to blame are:
     16 S.N. Hemanth Meenakshisundaram
      4 Stefano Sabatini
      3 Anton Khirnov
      2 Reimar Döffinger

Initial commit was:
	commit 99046339fc
	Author: S.N. Hemanth Meenakshisundaram <smeenaks@ucsd.edu>
	Date:   Fri Aug 20 23:16:51 2010 +0000

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-24 05:08:48 +02:00
Stefano Sabatini
fce30d8d73 lavfi: copy palette in start_frame()
Fix -vf copy with pal8 format.
2012-05-24 00:54:16 +02:00
Justin Ruggles
c7448c182a lavfi: add audio mix filter 2012-05-23 16:37:34 -04:00
Michael Niedermayer
d0ad91c258 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  os_support: Define SHUT_RD, SHUT_WR and SHUT_RDWR on OS/2
  http: Add support for reading http POST reply headers
  http: Add http_shutdown() for ending writing of posts
  tcp: Allow signalling end of reading/writing
  avio: Add a function for signalling end of reading/writing
  lavfi: fix comment, audio is supported now.
  lavfi: fix incorrect comment.
  lavfi: remove avfilter_null_* from public API on next bump.
  lavfi: remove avfilter_default_* from public API on next bump.
  lavfi: deprecate default config_props() callback and refactor avfilter_config_links()
  avfiltergraph: smarter sample format selection.
  avconv: rename transcode_audio/video to decode_audio/video.
  asyncts: reset delta to 0 when it's not used.
  x86: lavc: use %if HAVE_AVX guards around AVX functions in yasm code.
  dwt: return errors from ff_slice_buffer_init()

Conflicts:
	ffmpeg.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/formats.c
	libavfilter/version.h
	libavfilter/vf_blackframe.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_format.c
	libavfilter/vf_showinfo.c
	libavfilter/video.c
	libavfilter/video.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-23 21:48:31 +02:00
Nicolas George
0da28d689c af_amerge: compute output timestamp.
Use the timestamps from the first input.
2012-05-23 14:56:51 +02:00
Nicolas George
e6aee46760 af_amerge: set samples rate in query_formats. 2012-05-23 14:56:50 +02:00
Michael Niedermayer
ea5dab58e0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dwt: check malloc calls
  ppc: Drop unused header regs.h
  af_resample: remove an extra space in the log output
  Convert vector_fmul range of functions to YASM and add AVX versions
  lavfi: add an audio split filter
  lavfi: rename vf_split.c to split.c

Conflicts:
	doc/filters.texi
	libavcodec/ppc/regs.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/f_split.c
	libavfilter/split.c
	libavfilter/version.h
	libavfilter/vf_split.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-22 23:42:17 +02:00
Anton Khirnov
0ce4a627c9 lavfi: fix comment, audio is supported now. 2012-05-22 21:37:44 +02:00
Anton Khirnov
ce353a881f lavfi: fix incorrect comment.
poll_frame()/request_frame() are used for audio too.
2012-05-22 21:37:44 +02:00
Anton Khirnov
c04c533f62 lavfi: remove avfilter_null_* from public API on next bump.
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
2012-05-22 21:36:23 +02:00
Anton Khirnov
43c7a01e98 lavfi: remove avfilter_default_* from public API on next bump.
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
2012-05-22 21:33:26 +02:00
Mina Nagy Zaki
88c3b87bd8 lavfi: deprecate default config_props() callback and refactor avfilter_config_links()
Link properties have to be checked after config_props() is called to
make sure everything is sane, so the default config_props() for output
links was redundant.

Remove now empty defaults.c

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-22 21:32:57 +02:00
Anton Khirnov
ccefa89f39 avfiltergraph: smarter sample format selection. 2012-05-22 21:29:36 +02:00
Anton Khirnov
f297dd3812 asyncts: reset delta to 0 when it's not used.
Fixes an invalid write.
2012-05-22 21:28:20 +02:00
Robert Nagy
965b807278 vf_yadif: Fixed potential access violation on EOF.
The correct invariant is (cur != NULL -> next != NULL). Not the other way around.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-22 14:59:27 +02:00
Justin Ruggles
e0d8427dce af_resample: remove an extra space in the log output 2012-05-21 18:26:51 -04:00
Justin Ruggles
afeb3590fc lavfi: add an audio split filter
Based on current version of the asplit filter in FFmpeg written by
Stefano Sabatini and others.
2012-05-21 14:49:52 -04:00
Justin Ruggles
cc30080b3f lavfi: rename vf_split.c to split.c
This is in preparation for adding an audio split filter.
2012-05-21 14:49:52 -04:00
Nicolas George
4a5d18b6e2 vsrc_mandelbrot: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George
dc6a02de01 vsrc_life: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George
ca554fbc2f vsrc_cellauto: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George
2987efe9ba vf_ass: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George
16a44b41ab vsrc_testsrc: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Michael Niedermayer
9225513242 vf_scale: support dynamically changing input parameters.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 16:39:03 +02:00
Nicolas George
6adefeef45 buffersrc: cosmetic: reindent. 2012-05-20 15:41:58 +02:00
Michael Niedermayer
040a796dab Merge commit '755cd4197d53946208e042f095b930dca18d9430'
* commit '755cd4197d53946208e042f095b930dca18d9430':
  mov: enable parsing for VC-1.
  lavfi: Add fps filter.
  lavfi: initialize pts to AV_NOPTS_VALUE when creating new buffer refs.
  avconv: add support for audio in complex filtergraphs.

Conflicts:
	ffmpeg.c
	libavfilter/version.h
	libavformat/mov.c
	tests/ref/fate/vc1-ism

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 20:31:24 +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
Nicolas George
3d2515a8f3 f_split: fix output type.
The previous version checked the filter context name,
instead of checking the filter name.
The new version just uses the same type as the input.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
2012-05-19 19:23:37 +02:00
Nicolas George
5ac9ef6493 avfilter: make AVFilterFormats compatible with libav.
The list goes back to being simple integers,
and avfilter_make_format64_list is fixed to work
with the correct structure directly.
2012-05-19 15:30:51 +02:00
Stefano Sabatini
0e82d317eb lavfi: rename vf_split.c -> f_split.c
The file now contains both an audio and a video split filter.
2012-05-19 13:24:57 +02:00
Stefano Sabatini
150227e8ed lavfi/asplit: move asplit code to vf_split.c, and make it support N outputs
The move allows to share the init code already used by split.
2012-05-19 13:24:53 +02:00
Clément Bœsch
60ea6b0996 lavfi/buffersink: typo fix in a comment. 2012-05-19 12:28:59 +02:00
Nicolas George
aa1246ea42 lavfi: unify src_buffer and buffersrc.
Most of the code is moved to buffersrc.c
to help Git see the similarities.

src_buffer.c still contains the obsolete compatibility functions.

The format change detection code was removed as it has been
implemented directly in ffmpeg.
It can easily be brought back from the history.
2012-05-19 10:59:52 +02:00
Nicolas George
7997fc49ef lavfi: remove stray reference to planar/packed. 2012-05-19 10:59:52 +02:00
Nicolas George
9567f410aa avfilter: move some fields in AVFilterLink.
It restores ABI compatibility with libav.

The fields that move were very recent or morally private.
2012-05-19 10:59:52 +02:00
Clément Bœsch
48f30595f5 pan: use ff_parse_channel_layout() instead of av_get_channel_layout().
This allow specifying hexadecimal channel layout, and also handle the
error printing internally.
2012-05-18 23:34:11 +02:00
Clément Bœsch
64ff8a7670 lavfi: rename all_channel_layouts.h to all_channel_layouts.inc.
all_channel_layouts.h is not a real header file and breaks make checkheaders.
2012-05-18 23:34:11 +02:00
Clément Bœsch
f8f3deb731 lavfi/transform: fix make checkheaders. 2012-05-18 23:34:11 +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
Anton Khirnov
54c5dd89e3 lavfi: Add fps filter.
Partially based on a patch by Robert Nagy <ronag89@gmail.com>
2012-05-18 19:33:54 +02:00
Anton Khirnov
7b3b24a8ee lavfi: initialize pts to AV_NOPTS_VALUE when creating new buffer refs. 2012-05-18 19:29:39 +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
Stefano Sabatini
17d4233c9c lavfi/aevalsrc: reindent after the previous commit 2012-05-18 00:59:42 +02:00
Stefano Sabatini
e1a8df70a2 lavfi/aevalsrc: add option channel_layout
Allow to explicitly specify the channel layout to select.
2012-05-18 00:58:41 +02:00
Stefano Sabatini
cfde7395b1 lavfi/aevalsrc: remove limitation on the number of channels 2012-05-18 00:38:31 +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
dc2e051c4f Merge branch 'audio-filters' of https://github.com/ubitux/FFmpeg
* 'audio-filters' of https://github.com/ubitux/FFmpeg:
  lavfi/pan: add supported sample rates to avoid a crash.
  ffmpeg: do not warn when expecting EOF from lavfi.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 16:55:01 +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
Clément Bœsch
5dbd66395a lavfi/pan: add supported sample rates to avoid a crash. 2012-05-17 16:31:54 +02:00
Michael Niedermayer
3ae64dc48f avfiltergraph: use aresample not aconvert in the alternative merge code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 13:11:13 +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
ac87c273a6 src_buffer: propagate errors from copy_buffer_ref()
Fixes a null ptr deref

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 04:48:05 +02:00
Anton Khirnov
fc49f22c3b ffmpeg: add support for audio filters.
Some of the FATE changes are due to off-by-one different rounding being used
(lrintf vs av_rescale_q).
Some fate changes are due to 1 audio frame less being encoded (the new variant seems
matching what qatar does and according to ffprobe its closer to the requested duration)
the mapchan feature sadly is lost in this commit because it depends on resampling
being done in ffmpeg.c which is now moved completely into the av filter layer
-async is broken after this commit, this will be fixed in subsequent commits
the new filter reconfiguration system is flawed and will drop a frame on each
parameter change which is why the nelly moser checksums need updating.

Conflicts:

	ffmpeg.c
	tests/ref/fate/smjpeg
2012-05-17 03:29:21 +02:00
Michael Niedermayer
dfa988ee5e libavfilter: src_buffer: add time_base for audio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 02:55:57 +02:00
Michael Niedermayer
aa69db3abf libavfilter: src_buffer: fix planar audio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 02:55:57 +02:00
Michael Niedermayer
664f0aac62 libavfilter: src_buffer, use only aresample, not aconvert.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 02:55:57 +02:00
Michael Niedermayer
13fdb35535 src_buffer: fix query_formats_audio()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 02:55:57 +02:00
Michael Niedermayer
3448404a70 libavfilter: add ff_parse_time_base()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 02:55:57 +02:00
Michael Niedermayer
3e2cf79e15 buffersrc: export forgotten function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-16 23:13:44 +02:00
Stefano Sabatini
e556121ec1 lavfi/aevalsrc: correct the supported sample format
The source supports *planar* double, fix regression introduced by me in
4d4098da.
2012-05-16 16:17:41 +02:00
Stefano Sabatini
986d2f6ec0 lavfi/aevalsrc: fix sample rate negotiation, after the last merge
Fix crash.
2012-05-16 15:28:43 +02:00
Stefano Sabatini
4d4098da00 lavfi: drop planar/packed negotiation support
The planar/packed switch and the packing_formats list is no longer
required, since the planar/packed information is now stored in the sample
format enum.

This is technically a major API break, possibly it should be not too
painful as we marked the audio filtering API as unstable.
2012-05-16 13:16:05 +02:00
Michael Niedermayer
88d5cfe7c8 avfiltergraph: switch to swresample by default
all known bugs in the interface code have been fixed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-16 03:54:37 +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
Michael Niedermayer
1cbf7fb434 Merge remote-tracking branch 'qatar/master'
* qatar/master: (26 commits)
  fate: use diff -b in oneline comparison
  Add missing version bumps and APIchanges/Changelog entries.
  lavfi: move buffer management function to a separate file.
  lavfi: move formats-related functions from default.c to formats.c
  lavfi: move video-related functions to a separate file.
  fate: make smjpeg a demux test
  fate: separate sierra-vmd audio and video tests
  fate: separate smacker audio and video tests
  libmp3lame: set supported channel layouts.
  avconv: automatically insert asyncts when -async is used.
  avconv: add support for audio filters.
  lavfi: add asyncts filter.
  lavfi: add aformat filter
  lavfi: add an audio buffer sink.
  lavfi: add an audio buffer source.
  buffersrc: add av_buffersrc_write_frame().
  buffersrc: fix invalid read in uninit if the fifo hasn't been allocated
  lavfi: rename vsrc_buffer.c to buffersrc.c
  avfiltergraph: reindent
  lavfi: add channel layout/sample rate negotiation.
  ...

Conflicts:
	Changelog
	doc/APIchanges
	doc/filters.texi
	ffmpeg.c
	ffprobe.c
	libavcodec/libmp3lame.c
	libavfilter/Makefile
	libavfilter/af_aformat.c
	libavfilter/allfilters.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/defaults.c
	libavfilter/formats.c
	libavfilter/src_buffer.c
	libavfilter/version.h
	libavfilter/vf_yadif.c
	libavfilter/vsrc_buffer.c
	libavfilter/vsrc_buffer.h
	libavutil/avutil.h
	tests/fate/audio.mak
	tests/fate/demux.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-16 02:27:31 +02:00
Diego Biurrun
91791ac2ed avfilter: Move ff_get_ref_perms_string() to where it is used.
This fixes a compilation failure with -DDEBUG.
2012-05-15 19:10:46 +02:00
Michael Niedermayer
47aae2bc2e lavfi: switch to _alt functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-15 18:55:17 +02:00
Anton Khirnov
d89eca507c Add missing version bumps and APIchanges/Changelog entries. 2012-05-15 06:57:31 +02:00
Anton Khirnov
4a1ac8c43f lavfi: move buffer management function to a separate file. 2012-05-15 06:53:22 +02:00
Anton Khirnov
4c64fed37c lavfi: move formats-related functions from default.c to formats.c
It's more convenient to have them all in one file.
2012-05-15 06:52:01 +02:00
Anton Khirnov
c5432d3ca4 lavfi: move video-related functions to a separate file.
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
2012-05-15 06:51:23 +02:00
Anton Khirnov
9f26421b0b lavfi: add asyncts filter. 2012-05-14 21:36:11 +02:00
Anton Khirnov
fb604ae850 lavfi: add aformat filter
Based on a patch by Mina Nagy Zaki <mnzaki@gmail.com>
2012-05-14 21:36:11 +02:00
Anton Khirnov
a2cd9be212 lavfi: add an audio buffer sink. 2012-05-14 21:36:11 +02:00
Anton Khirnov
4c66c40718 lavfi: add an audio buffer source. 2012-05-14 21:36:11 +02:00
Anton Khirnov
720c6b78d1 buffersrc: add av_buffersrc_write_frame().
It's the same as av_vsrc_buffer_add_frame(), except it doesn't take pts
or pixel_aspect parameters. Those are read from AVFrame.

Deprecate av_vsrc_buffer_add_frame().
2012-05-14 21:36:11 +02:00
Anton Khirnov
8b05e13df3 buffersrc: fix invalid read in uninit if the fifo hasn't been allocated 2012-05-14 21:36:10 +02:00
Anton Khirnov
fad729fa50 lavfi: rename vsrc_buffer.c to buffersrc.c
Most of the code will be shared for both audio and video version.
2012-05-14 21:36:10 +02:00
Anton Khirnov
fd127ede62 avfiltergraph: reindent 2012-05-14 21:36:10 +02:00
Anton Khirnov
ff1f51a8aa lavfi: add channel layout/sample rate negotiation. 2012-05-14 21:36:10 +02:00
Anton Khirnov
5775a1832c lavfi: add types and functions for channel layout/samplerate negotiation 2012-05-14 21:36:10 +02:00
Robert Nagy
394a0267ab yadif: Flush filter on eof.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-14 21:36:10 +02:00
Robert Nagy
7dd56d411e yadif: Improve pts accuracy.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-14 21:36:10 +02:00
Nicolas George
440af105f2 lavfi: add avfilter_graph_set_auto_convert(). 2012-05-14 21:29:58 +02:00
Nicolas George
7a44223319 lavfi: document filter design subtleties.
The details on reference ownership and permissions are missing.
2012-05-14 18:56:52 +02:00
Michael Niedermayer
1caf614bec Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: autoinsert resample filter when necessary.
  lavfi: add lavr-based audio resampling filter.
  x86: vc1: drop MMX loop filter implementation, which uses MMX2 instructions.

Conflicts:
	configure
	doc/filters.texi
	libavcodec/x86/vc1dsp_mmx.c
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/avfiltergraph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 00:13:49 +02:00
Michael Niedermayer
ad6f006081 avfilter: fix regression since addition of extended_data to audio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-12 23:46:43 +02:00
Anton Khirnov
012f04a277 lavfi: autoinsert resample filter when necessary. 2012-05-12 18:09:29 +02:00
Anton Khirnov
d371e7b988 lavfi: add lavr-based audio resampling filter. 2012-05-12 18:09:28 +02:00
Clément Bœsch
4522df52aa lavfi: remove audio.h include from avfilter.h.
avfilter.h is a public header and the unexported audio.h header contains
only internal prototypes.
2012-05-12 17:59:41 +02:00
Michael Niedermayer
44391f706b lavfutils: ff_load_image: Initialize context
should fix  ticket1264

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-11 15:07:26 +02:00
Michael Niedermayer
015903294c Merge remote-tracking branch 'qatar/master'
* qatar/master: (25 commits)
  rv40dsp x86: MMX/MMX2/3DNow/SSE2/SSSE3 implementations of MC
  ape: Use unsigned integer maths
  arm: dsputil: fix overreads in put/avg_pixels functions
  h264: K&R formatting cosmetics for header files (part II/II)
  h264: K&R formatting cosmetics for header files (part I/II)
  rtmp: Implement check bandwidth notification.
  rtmp: Support 'rtmp_swfurl', an option which specifies the URL of the SWF player.
  rtmp: Support 'rtmp_flashver', an option which overrides the version of the Flash plugin.
  rtmp: Support 'rtmp_tcurl', an option which overrides the URL of the target stream.
  cmdutils: Add fallback case to switch in check_stream_specifier().
  sctp: be consistent with socket option level
  configure: Add _XOPEN_SOURCE=600 to Solaris preprocessor flags.
  vcr1enc: drop pointless empty encode_init() wrapper function
  vcr1: drop pointless write-only AVCodecContext member from VCR1Context
  vcr1: group encoder code together to save #ifdefs
  vcr1: cosmetics: K&R prettyprinting, typos, parentheses, dead code, comments
  mov: make one comment slightly more specific
  lavr: replace the SSE version of ff_conv_fltp_to_flt_6ch() with SSE4 and AVX
  lavfi: move audio-related functions to a separate file.
  lavfi: remove some audio-related function from public API.
  ...

Conflicts:
	cmdutils.c
	libavcodec/h264.h
	libavcodec/h264_mvpred.h
	libavcodec/vcr1.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/defaults.c
	libavfilter/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 23:30:42 +02:00
Michael Niedermayer
2a793ff2bf vf_lut: fix pointer type (const) warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 20:09:37 +02:00
Michael Niedermayer
98e409ecaa vf_idet: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 20:07:23 +02:00
Michael Niedermayer
648dbae519 vf_idet: fix pointer type (const) warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 20:07:20 +02:00
Michael Niedermayer
7610dee87b avfiltergraph: improve pick_format()
without this the recent changes to format/sink handling would cause a regression in fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 02:25:48 +02:00
Michael Niedermayer
61930bd0d7 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  libxvid: Give more suitable names to libxvid-related files.
  libxvid: Separate libxvid encoder from libxvid rate control code.
  jpeglsdec: Remove write-only variable in ff_jpegls_decode_lse().
  fate: cosmetics: lowercase some comments
  fate: Give more consistent names to some RealVideo/RealAudio tests.
  lavfi: add avfilter_get_audio_buffer_ref_from_arrays().
  lavfi: add extended_data to AVFilterBuffer.
  lavc: check that extended_data is properly set in avcodec_encode_audio2().
  lavc: pad last audio frame with silence when needed.
  samplefmt: add a function for filling a buffer with silence.
  samplefmt: add a function for copying audio samples.
  lavr: do not try to copy to uninitialized output audio data.
  lavr: make avresample_read() with NULL output discard samples.
  fate: split idroq audio and video into separate tests
  fate: improve dependencies
  fate: add convenient shorthands for ea-vp6, libavcodec, libavutil tests
  fate: split some combined tests into separate audio and video tests
  fate: fix dependencies for probe tests
  mips: intreadwrite: fix inline asm for gcc 4.8
  mips: intreadwrite: remove unnecessary inline asm
  ...

Conflicts:
	cmdutils.h
	configure
	doc/APIchanges
	doc/filters.texi
	ffmpeg.c
	ffplay.c
	libavcodec/internal.h
	libavcodec/jpeglsdec.c
	libavcodec/libschroedingerdec.c
	libavcodec/libxvid.c
	libavcodec/libxvid_rc.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersink.h
	tests/Makefile
	tests/fate/aac.mak
	tests/fate/audio.mak
	tests/fate/demux.mak
	tests/fate/ea.mak
	tests/fate/image.mak
	tests/fate/libavutil.mak
	tests/fate/lossless-audio.mak
	tests/fate/lossless-video.mak
	tests/fate/microsoft.mak
	tests/fate/qt.mak
	tests/fate/real.mak
	tests/fate/screen.mak
	tests/fate/video.mak
	tests/fate/voice.mak
	tests/fate/vqf.mak
	tests/ref/fate/ea-mad
	tests/ref/fate/ea-tqi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 02:25:41 +02:00
Anton Khirnov
0b45334a58 lavfi: move audio-related functions to a separate file.
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
2012-05-09 20:32:49 +02:00