mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2026-04-26 09:14:51 +08:00
Merge remote-tracking branch 'qatar/master'
* qatar/master: rtmp: Add a new option 'rtmp_pageurl' doc: Update the description of the rtmp_tcurl option rtmp: Make the description of the rtmp_tcurl option more generic libfdk-aacenc: add LATM/LOAS encapsulation support sctp: add port missing error message tcp: add port missing error message avfilter: Fix printf format string conversion specifier Conflicts: libavcodec/version.h libavfilter/avfilter.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -33,6 +33,8 @@ typedef struct AACContext {
|
||||
int afterburner;
|
||||
int eld_sbr;
|
||||
int signaling;
|
||||
int latm;
|
||||
int header_period;
|
||||
|
||||
AudioFrameQueue afq;
|
||||
} AACContext;
|
||||
@@ -45,6 +47,8 @@ static const AVOption aac_enc_options[] = {
|
||||
{ "implicit", "Implicit backwards compatible signaling", 0, AV_OPT_TYPE_CONST, { 0 }, 0, 0, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM, "signaling" },
|
||||
{ "explicit_sbr", "Explicit SBR, implicit PS signaling", 0, AV_OPT_TYPE_CONST, { 1 }, 0, 0, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM, "signaling" },
|
||||
{ "explicit_hierarchical", "Explicit hierarchical signaling", 0, AV_OPT_TYPE_CONST, { 2 }, 0, 0, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM, "signaling" },
|
||||
{ "latm", "Output LATM/LOAS encapsulated data", offsetof(AACContext, latm), AV_OPT_TYPE_INT, { 0 }, 0, 1, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM },
|
||||
{ "header_period", "StreamMuxConfig and PCE repetition period (in frames)", offsetof(AACContext, header_period), AV_OPT_TYPE_INT, { 0 }, 0, 0xffff, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
@@ -204,12 +208,21 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
|
||||
/* Choose bitstream format - if global header is requested, use
|
||||
* raw access units, otherwise use ADTS. */
|
||||
if ((err = aacEncoder_SetParam(s->handle, AACENC_TRANSMUX,
|
||||
avctx->flags & CODEC_FLAG_GLOBAL_HEADER ? 0 : 2)) != AACENC_OK) {
|
||||
avctx->flags & CODEC_FLAG_GLOBAL_HEADER ? 0 : s->latm ? 10 : 2)) != AACENC_OK) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Unable to set the transmux format: %s\n",
|
||||
aac_get_error(err));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (s->latm && s->header_period) {
|
||||
if ((err = aacEncoder_SetParam(s->handle, AACENC_HEADER_PERIOD,
|
||||
s->header_period)) != AACENC_OK) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Unable to set header period: %s\n",
|
||||
aac_get_error(err));
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
/* If no signaling mode is chosen, use explicit hierarchical signaling
|
||||
* if using mp4 mode (raw access units, with global header) and
|
||||
* implicit signaling if using ADTS. */
|
||||
|
||||
Reference in New Issue
Block a user