Hi,
On Thu, Aug 25, 2016 at 8:56 AM, Diego Biurrun <[email protected]> wrote:
> On Wed, Aug 24, 2016 at 07:34:22AM -0500, Burt P wrote:
>
> This probably deserves a mention in doc/general.texi and a version bump
> for libavfilter.
>
Done.
>> --- a/doc/filters.texi
>> +++ b/doc/filters.texi
>> @@ -647,6 +647,53 @@ avconv -i fl -i fr -i fc -i sl -i sr -i lfe
>> -filter_complex
>> +
>> +When using the filter with wav, note the default encoding for wav is 16-bit,
>
> .. with WAV, note that the default encoding for WAV is 16-bit,
Done.
>> --- a/libavfilter/Makefile
>> +++ b/libavfilter/Makefile
>> @@ -37,6 +37,7 @@ OBJS-$(CONFIG_COMPAND_FILTER) +=
>> af_compand.o
>> OBJS-$(CONFIG_JOIN_FILTER) += af_join.o
>> OBJS-$(CONFIG_RESAMPLE_FILTER) += af_resample.o
>> OBJS-$(CONFIG_VOLUME_FILTER) += af_volume.o
>> +OBJS-$(CONFIG_HDCD_FILTER) += af_hdcd.o
>
> order
Done.
>> --- a/libavfilter/allfilters.c
>> +++ b/libavfilter/allfilters.c
>> @@ -60,6 +60,7 @@ void avfilter_register_all(void)
>> REGISTER_FILTER(JOIN, join, af);
>> REGISTER_FILTER(RESAMPLE, resample, af);
>> REGISTER_FILTER(VOLUME, volume, af);
>> + REGISTER_FILTER(HDCD, hdcd, af);
>
> order
Done.
>> --- /dev/null
>> +++ b/libavfilter/af_hdcd.c
>> @@ -0,0 +1,199 @@
>> +
>> +#include "libavutil/opt.h"
>> +#include "libavutil/avassert.h"
>> +#include "libavutil/channel_layout.h"
>> +#include "formats.h"
>> +#include "avfilter.h"
>> +#include "internal.h"
>> +#include "audio.h"
>> +#include <hdcd/hdcd_simple.h>
>> +#include <hdcd/hdcd_decode2.h> /* only for HDCD_ANA_*_DESC defines */
>
> System headers should be placed before local headers.
Done.
>> +typedef struct HDCDContext {
>> + const AVClass *class;
>> +
>> + hdcd_simple_t *shdcd;
>
> The _t namespace is reserved for POSIX, the library should not invade it.
Um, I think it is too late to change it.
>> +static int filter_frame(AVFilterLink *inlink, AVFrame *in)
>> +{
>> + out = ff_get_audio_buffer(outlink, in->nb_samples);
>> + if (!out) {
>> + av_frame_free(&in);
>> + return AVERROR(ENOMEM);
>> + }
>> + result = av_frame_copy_props(out, in);
>> + if (result) {
>> + av_frame_free(&in);
>> + return result;
>> + }
>
> Where does out get freed if av_frame_copy_props() fails?
Done.
>> +static av_cold void uninit(AVFilterContext *ctx)
>> +{
>> + shdcd_detect_str(s->shdcd, detect_str, sizeof(detect_str));
>> + shdcd_free(s->shdcd);
>
> Why does the library use an shdcd instead of an hdcd prefix?
It is the "simple" api of the library. Maybe it should have been
hdcds_ or something,
but it isn't.
>
>> +static void af_hdcd_log(const void *priv, const char* fmt, va_list args)
>
> char *fmt
>
Done.
For indentation and other cosmetic changes, could you submit a patch
after this? I don't feel I will be able to get it spaces-perfect for
you.
Thanks for the comments.
--
Burt
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel