On Sat, 21 Jan 2017, Michael Niedermayer wrote:
On Tue, Nov 01, 2016 at 09:08:16PM +0100, Marton Balint wrote:
Also contains the following changes to the library:
- add ff_ prefix to functions
- remove cplusplus defines.
- add FF_ prefix to contants and some structs
- remove true peak calculation feature, since it uses its own resampler, and
af_loudnorm does not need it.
- remove version info and some fprintf(stderr) functions
- convert to use av_malloc
- always use histogram mode for LRA calculation, otherwise LRA data is slowly
consuming memory making af_loudnorm unfit for 24/7 operation. It also uses a
BSD style linked list implementation which is probably not available on all
platforms. So let's just remove the classic mode which not uses histogram.
- add ff_thread_once for calculating static histogram tables
- convert some functions to void which cannot fail
- remove intrinsics and some unused headers
- add support for planar audio
- remove channel / sample rate changer function, in ffmpeg usually we simply
alloc a new context
- convert some static variables to defines
- declare static histogram variables as aligned
- convert some initalizations to mallocz
- add window size parameter to init function and remove window size setter
function
- convert return codes to AVERROR
- fix indentation
Signed-off-by: Marton Balint <c...@passwd.hu>
---
Changelog | 1 +
configure | 5 -
doc/filters.texi | 3 -
libavfilter/Makefile | 2 +-
libavfilter/af_loudnorm.c | 60 ++--
libavfilter/ebur128.c | 782 ++++++++++++++++++++++++++++++++++++++++++++++
libavfilter/ebur128.h | 296 ++++++++++++++++++
libavfilter/version.h | 2 +-
8 files changed, 1111 insertions(+), 40 deletions(-)
create mode 100644 libavfilter/ebur128.c
create mode 100644 libavfilter/ebur128.h
[...]
+int ff_ebur128_relative_threshold(FFEBUR128State * st, double *out)
+{
+ double relative_threshold;
+ size_t above_thresh_counter;
+
+ if (st && (st->mode & FF_EBUR128_MODE_I) != FF_EBUR128_MODE_I)
+ return AVERROR(EINVAL);
+
+ ebur128_calc_relative_threshold(st, &above_thresh_counter,
+ &relative_threshold);
Coverity dislikes this
See: 1396246 Dereference after null check
Yeah, the current code is not very consistent across the functions,
sometimes it returns an error if it gets a NULL FFEBUR128State *,
sometimes it simply dereferences it, making it the callers responsibility
to not use these functions with a NULL context.
I prefer to simply remove the checks for NULL, making it the callers
responsibility the check the success of an FFEBUR128State context
creation. Objection?
Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel