Message ID | 776f7883-a34f-8dc2-6376-3f7393cd26c1@gyani.pro |
---|---|
State | Accepted |
Commit | 3224d6691cdc59ef0d31cdb35efac27494ff515b |
Headers | show |
On 1/23/19, Gyan <ffmpeg@gyani.pro> wrote: > > > On 23-01-2019 07:40 PM, Paul B Mahol wrote: >> On 1/23/19, Gyan <ffmpeg@gyani.pro> wrote: >>> >>> On 23-01-2019 03:00 PM, Paul B Mahol wrote: >>>> On 1/23/19, Gyan <ffmpeg@gyani.pro> wrote: >>>> Why? afade needs change too. >>> If a user doesn't want to apply fade, then they can simply not add afade >>> filter. This change is meant for users who want to combine two audio >>> streams with overlap but don't want to apply fade to audio during >>> overlap. >>> >> I do not like such reasoning, also you changed afade too with this >> approach. > > That was to prevent an integer value of nb_curves-1 from being accepted. > > Anyway, revised patch attached, although I don't see how afade=c=nofade > is useful. With previous patch it was hidden. > > Gyan > Probably ok.
On 23-01-2019 11:49 PM, Paul B Mahol wrote: > On 1/23/19, Gyan <ffmpeg@gyani.pro> wrote: >> >> On 23-01-2019 07:40 PM, Paul B Mahol wrote: >>> On 1/23/19, Gyan <ffmpeg@gyani.pro> wrote: >>>> On 23-01-2019 03:00 PM, Paul B Mahol wrote: >>>>> On 1/23/19, Gyan <ffmpeg@gyani.pro> wrote: >>>>> Why? afade needs change too. >>>> If a user doesn't want to apply fade, then they can simply not add afade >>>> filter. This change is meant for users who want to combine two audio >>>> streams with overlap but don't want to apply fade to audio during >>>> overlap. >>>> >>> I do not like such reasoning, also you changed afade too with this >>> approach. >> That was to prevent an integer value of nb_curves-1 from being accepted. >> >> Anyway, revised patch attached, although I don't see how afade=c=nofade >> is useful. > With previous patch it was hidden. > >> Gyan >> > Probably ok. Plan to push tonight. Gyan
On 24-01-2019 02:22 PM, Gyan wrote: > > > On 23-01-2019 11:49 PM, Paul B Mahol wrote: >> On 1/23/19, Gyan <ffmpeg@gyani.pro> wrote: >>> >>> On 23-01-2019 07:40 PM, Paul B Mahol wrote: >>>> On 1/23/19, Gyan <ffmpeg@gyani.pro> wrote: >>>>> On 23-01-2019 03:00 PM, Paul B Mahol wrote: >>>>>> On 1/23/19, Gyan <ffmpeg@gyani.pro> wrote: >>>>>> Why? afade needs change too. >>>>> If a user doesn't want to apply fade, then they can simply not add >>>>> afade >>>>> filter. This change is meant for users who want to combine two audio >>>>> streams with overlap but don't want to apply fade to audio during >>>>> overlap. >>>>> >>>> I do not like such reasoning, also you changed afade too with this >>>> approach. >>> That was to prevent an integer value of nb_curves-1 from being >>> accepted. >>> >>> Anyway, revised patch attached, although I don't see how afade=c=nofade >>> is useful. >> With previous patch it was hidden. >> >>> Gyan >>> >> Probably ok. > > Plan to push tonight. > Pushed as 3224d6691cdc59ef0d31cdb35efac27494ff515b. Gyan
diff --git a/doc/filters.texi b/doc/filters.texi index d06dfe089f..fc98323af0 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -958,6 +958,8 @@ select double-exponential seat select double-exponential sigmoid @item losi select logistic sigmoid +@item nofade +no fade applied @end table @end table diff --git a/libavfilter/af_afade.c b/libavfilter/af_afade.c index 751db7da4d..195fb65ab5 100644 --- a/libavfilter/af_afade.c +++ b/libavfilter/af_afade.c @@ -51,7 +51,7 @@ typedef struct AudioFadeContext { int curve0, int curve1); } AudioFadeContext; -enum CurveType { TRI, QSIN, ESIN, HSIN, LOG, IPAR, QUA, CUB, SQU, CBR, PAR, EXP, IQSIN, IHSIN, DESE, DESI, LOSI, NB_CURVES }; +enum CurveType { TRI, QSIN, ESIN, HSIN, LOG, IPAR, QUA, CUB, SQU, CBR, PAR, EXP, IQSIN, IHSIN, DESE, DESI, LOSI, NONE, NB_CURVES }; #define OFFSET(x) offsetof(AudioFadeContext, x) #define FLAGS AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM @@ -153,6 +153,9 @@ static double fade_gain(int curve, int64_t index, int64_t range) gain = (A - B) / (C - B); } break; + case NONE: + gain = 1.0; + break; } return gain; @@ -260,6 +263,7 @@ static const AVOption afade_options[] = { { "dese", "double-exponential seat", 0, AV_OPT_TYPE_CONST, {.i64 = DESE }, 0, 0, FLAGS, "curve" }, { "desi", "double-exponential sigmoid", 0, AV_OPT_TYPE_CONST, {.i64 = DESI }, 0, 0, FLAGS, "curve" }, { "losi", "logistic sigmoid", 0, AV_OPT_TYPE_CONST, {.i64 = LOSI }, 0, 0, FLAGS, "curve" }, + { "nofade", "no fade; keep audio as-is", 0, AV_OPT_TYPE_CONST, {.i64 = NONE }, 0, 0, FLAGS, "curve" }, { NULL } }; @@ -380,6 +384,7 @@ static const AVOption acrossfade_options[] = { { "dese", "double-exponential seat", 0, AV_OPT_TYPE_CONST, {.i64 = DESE }, 0, 0, FLAGS, "curve" }, { "desi", "double-exponential sigmoid", 0, AV_OPT_TYPE_CONST, {.i64 = DESI }, 0, 0, FLAGS, "curve" }, { "losi", "logistic sigmoid", 0, AV_OPT_TYPE_CONST, {.i64 = LOSI }, 0, 0, FLAGS, "curve" }, + { "nofade", "no fade; keep audio as-is", 0, AV_OPT_TYPE_CONST, {.i64 = NONE }, 0, 0, FLAGS, "curve" }, { "curve2", "set fade curve type for 2nd stream", OFFSET(curve2), AV_OPT_TYPE_INT, {.i64 = TRI }, 0, NB_CURVES - 1, FLAGS, "curve" }, { "c2", "set fade curve type for 2nd stream", OFFSET(curve2), AV_OPT_TYPE_INT, {.i64 = TRI }, 0, NB_CURVES - 1, FLAGS, "curve" }, { NULL }