avcodec/libmp3lame: make it possible to set copyright/original flags

pull/389/head
Lukáš Lalinský 2 years ago committed by Paul B Mahol
parent 512bba3d1b
commit b5af451901
  1. 7
      doc/encoders.texi
  2. 16
      libavcodec/libmp3lame.c

@ -864,6 +864,13 @@ Enable the encoder to use ABR when set to 1. The @command{lame}
@option{--abr} sets the target bitrate, while this options only
tells FFmpeg to use ABR still relies on @option{b} to set bitrate.
@item copyright (@emph{-c})
Set MPEG audio copyright flag when set to 1. The default value is 0
(disabled).
@item original (@emph{-o})
Set MPEG audio original flag when set to 1. The default value is 1
(enabled).
@end table
@section libopencore-amrnb

@ -55,6 +55,8 @@ typedef struct LAMEContext {
float *samples_flt[2];
AudioFrameQueue afq;
AVFloatDSPContext *fdsp;
int copyright;
int original;
} LAMEContext;
@ -137,6 +139,12 @@ static av_cold int mp3lame_encode_init(AVCodecContext *avctx)
/* bit reservoir usage */
lame_set_disable_reservoir(s->gfp, !s->reservoir);
/* copyright flag */
lame_set_copyright(s->gfp, s->copyright);
/* original flag */
lame_set_original(s->gfp, s->original);
/* set specified parameters */
if (lame_init_params(s->gfp) < 0) {
ret = AVERROR_EXTERNAL;
@ -303,9 +311,11 @@ static int mp3lame_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
#define OFFSET(x) offsetof(LAMEContext, x)
#define AE AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
static const AVOption options[] = {
{ "reservoir", "use bit reservoir", OFFSET(reservoir), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, AE },
{ "joint_stereo", "use joint stereo", OFFSET(joint_stereo), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, AE },
{ "abr", "use ABR", OFFSET(abr), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, AE },
{ "reservoir", "use bit reservoir", OFFSET(reservoir), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, AE },
{ "joint_stereo", "use joint stereo", OFFSET(joint_stereo), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, AE },
{ "abr", "use ABR", OFFSET(abr), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, AE },
{ "copyright", "set copyright flag", OFFSET(copyright), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, AE},
{ "original", "set original flag", OFFSET(original), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, AE},
{ NULL },
};

Loading…
Cancel
Save