Commit Graph

38 Commits

Author SHA1 Message Date
Nicolas George 2f76476549 lavfi: regroup formats lists in a single structure.
It will allow to refernce it as a whole without clunky macros.

Most of the changes have been automatically made with sed:

sed -i '
  s/-> *in_formats/->incfg.formats/g;
  s/-> *out_formats/->outcfg.formats/g;
  s/-> *in_channel_layouts/->incfg.channel_layouts/g;
  s/-> *out_channel_layouts/->outcfg.channel_layouts/g;
  s/-> *in_samplerates/->incfg.samplerates/g;
  s/-> *out_samplerates/->outcfg.samplerates/g;
  ' src/libavfilter/*(.)
2020-09-08 14:02:40 +02:00
Anton Khirnov 342230a537 af_resample: switch to child_class_iterate() 2020-06-10 12:36:44 +02:00
Ganesh Ajjanagadde 6aaac24d72 avfilter/all: propagate errors of functions from avfilter/formats
Many of the functions from avfilter/formats can return errors, usually AVERROR(ENOMEM).
This propagates the return values.

All of these were found by using av_warn_unused_result, demonstrating its utility.

Tested with FATE. I am least sure of the changes to avfilter/filtergraph,
since I don't know what/how reduce_format is intended to behave and how it should
react to errors.

Fixes: CID 1325680, 1325679, 1325678.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Previous version Reviewed-by: Nicolas George <george@nsup.org>
Previous version Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-14 10:04:01 -04:00
Michael Niedermayer 7093e215d0 Merge commit '6b15874fc2c3f565732201f7907ae1112727d6ae'
* commit '6b15874fc2c3f565732201f7907ae1112727d6ae':
  af_resample: do not touch the timestamps if we are not resampling

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 16:05:33 +02:00
Anton Khirnov 6b15874fc2 af_resample: do not touch the timestamps if we are not resampling
This filter currently assumes that the input audio is continuous and
does some timestamps manipulation based on this assumption.

This is unnecessary if we are only converting the channel layout or the
sample format, without resampling. In such a case, just leave the
timestamps as they are.
2015-07-19 09:39:42 +02:00
Michael Niedermayer f399f826ee Merge commit 'c060d046aa2f89c0e601a2dcfbce53f0e36cf498'
* commit 'c060d046aa2f89c0e601a2dcfbce53f0e36cf498':
  af_resample: Set the number of samples in the last frame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 20:55:23 +02:00
Luca Barbato c060d046aa af_resample: Set the number of samples in the last frame
Otherwise trailing zeroes would appear.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-20 12:18:01 +03:00
Michael Niedermayer 733db64ce0 Merge commit '0d989dbfc4bc5bc1d563e967449116a7a9865258'
* commit '0d989dbfc4bc5bc1d563e967449116a7a9865258':
  af_resample: check av_opt_set_dict return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 22:04:36 +02:00
Vittorio Giovara 0d989dbfc4 af_resample: check av_opt_set_dict return value
CC: libav-stable@libav.org
Bug-Id: CID 1087076
2014-10-18 16:15:10 +01:00
Michael Niedermayer 17d16008be Merge commit '6cbbf0592f4f3940aac7f687850d1b726a2ea836'
* commit '6cbbf0592f4f3940aac7f687850d1b726a2ea836':
  resample: Avoid off-by-1 errors in PTS calcs.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 12:47:37 +02:00
Timothy B. Terriberry 6cbbf0592f resample: Avoid off-by-1 errors in PTS calcs.
The rounding used in the PTS calculations in filter_frame() does
not actually match the number of samples output by the resampler.
This leads to off-by-1 errors in the timestamps indicating gaps and
underruns, even when the input timestamps are all contiguous.

Bug-Id: 753

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-18 05:01:59 +02:00
Michael Niedermayer 20343cfb51 Merge commit 'ad0fe2f4012031c47268f14b9835088c488e1998'
* commit 'ad0fe2f4012031c47268f14b9835088c488e1998':
  af_resample: Use avresample_get_out_samples

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:24:48 +02:00
Luca Barbato ad0fe2f401 af_resample: Use avresample_get_out_samples 2014-05-28 22:50:55 +02:00
Michael Niedermayer fc10ed2cac Merge commit 'dcc7e4bf1d0913123bfafbc58bf47bd41dd5848d'
* commit 'dcc7e4bf1d0913123bfafbc58bf47bd41dd5848d':
  af_resample: preserve frame properties

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-24 21:46:00 +01:00
Anton Khirnov dcc7e4bf1d af_resample: preserve frame properties 2014-02-24 17:30:48 +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
Anton Khirnov cd43ca0443 lavfi: do not export the filters from shared objects 2013-10-28 15:29:54 +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
Thilo Borgmann d814a839ac Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
Anton Khirnov 4fa1f52e33 af_resample: switch to an AVOptions-based system. 2013-04-09 18:45:50 +02:00
Anton Khirnov 7e350379f8 lavfi: switch to AVFrame.
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Justin Ruggles 9f1223562e lavfi: connect libavresample options to af_resample via AVFilterGraph 2013-02-23 17:07:54 -05:00
Anton Khirnov 565e4993c6 lavfi: merge start_frame/draw_slice/end_frame
Any alleged performance benefits gained from the split are purely
mythological and do not justify added code complexity.
2012-11-28 08:50:19 +01:00
Mans Rullgard 568c70e79e lavfi: convert input/ouput list compound literals to named objects
A number of compilers, for example those from TI and IBM, choke on
these initialisers.  The current style is also quite ugly.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 22:26:12 +01:00
Janne Grunau ac9a89562a af_resample: unref out_buf when avresample_convert returns 0
Fixes CID732273.
2012-10-09 18:43:30 +02:00
Justin Ruggles 7b556be673 af_resample: avoid conversion of identical sample formats for 1 channel
When there is only 1 channel, the planar and interleaved formats of the same
data type should be treated as identical.
2012-10-07 16:45:50 -04:00
Anton Khirnov e7ba5b1de0 lavr: change the type of the data buffers to uint8_t**.
This is more consistent with what the rest of Libav does.

This breaks API.
2012-10-05 13:49:44 +02:00
Martin Storsjö 1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Anton Khirnov cd99146253 lavfi: add error handling to filter_samples(). 2012-07-09 08:25:19 +02:00
Anton Khirnov 1ffb645662 af_resample: fix request_frame() behavior.
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:37 +02:00
Justin Ruggles 8ca08066fc lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
Also make this the default value.
2012-07-08 15:22:11 -04:00
Anton Khirnov 6c1e065bd4 lavfi: remove disabled FF_API_SAMPLERATE64 cruft 2012-06-26 13:15:14 +02:00
Janne Grunau fbc5740566 af_resample: fix format modifier in debug string for FF_API_SAMPLERATE64 2012-06-15 19:10:58 +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 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
Justin Ruggles e0d8427dce af_resample: remove an extra space in the log output 2012-05-21 18:26:51 -04:00
Anton Khirnov ff1f51a8aa lavfi: add channel layout/sample rate negotiation. 2012-05-14 21:36:10 +02:00
Anton Khirnov d371e7b988 lavfi: add lavr-based audio resampling filter. 2012-05-12 18:09:28 +02:00