From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 7EF364A2F0 for ; Tue, 26 Mar 2024 14:20:42 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BCB7968D527; Tue, 26 Mar 2024 16:20:39 +0200 (EET) Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BC91568D014 for ; Tue, 26 Mar 2024 16:20:32 +0200 (EET) Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-4148cbc5b01so7083335e9.1 for ; Tue, 26 Mar 2024 07:20:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mozilla.com; s=google; t=1711462831; x=1712067631; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=0B3r2aCFdoanxHl2iKRgNf7vaG1kAbciH+ADnvh1pSY=; b=ccqeEbVckvR70/WjcT+dl5W+QSvuSgDMFVYr/koQ+M7fdG1wzJEdZhHryb/mw4tTWK 28qedHls1ygInjpJ6PF7ftbUApWy2OOUOQmRKUsEQeHXvnE8fIXbvvi0JA4PAv93am9n vpAI+++LHcA2aspEUK2tJAfWjFYg/uEqrV8NQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711462831; x=1712067631; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0B3r2aCFdoanxHl2iKRgNf7vaG1kAbciH+ADnvh1pSY=; b=A4R8cT3rXZ+SKNF88homuM068RaQxfQMpytjyJa/5b+JFGgWG2cPLWvCR/2b2T7rXN KuV0q4r+kDi94yPeU/6lSEojpIhh05N70EDfTvtYNu8j5ZM6up5/nN8g+NwhndNC93Di QvvqYVJdPqDEm7wF2kgM5SJk6p1YNSnihvDT5QRP1j/v/iZIiUtE7af6KPHV0ns4CwTh GK+2DiYaCxWPJ/WSka5hsjywUCAIbLKPjbobQoJ5DZXVJh4px81JQTttxklmWEKQCldk URI05GCF9gxI3Ise/3V0SR4GIRN3hWWjseDWn+077UplYvOELp+tVx91L/9YBZqWX7nQ Vwsw== X-Gm-Message-State: AOJu0Yww+5SEv2vmeGRjnOw0zqquRHE90rP6HkZBlYwrevS/a3vIcD1B vlwlXl0FQRr8RI2KDE/h6uv1MIo5P9xTgB8G28jkJTFHaYNWFz4X4zYJ4KM61eM/hqpGeuevIqU = X-Google-Smtp-Source: AGHT+IExhS8bdbg7FfPB4uAildemtiBYONXlQHSU493kEYjsSg6GLXu/xI4AR41irr4mrasECSG6kQ== X-Received: by 2002:a05:600c:1c8d:b0:412:f015:6fa6 with SMTP id k13-20020a05600c1c8d00b00412f0156fa6mr7871736wms.28.1711462831490; Tue, 26 Mar 2024 07:20:31 -0700 (PDT) Received: from padenot-box.tailfe02.ts.net ([83.167.39.250]) by smtp.gmail.com with ESMTPSA id hg9-20020a05600c538900b004101f27737asm11628931wmb.29.2024.03.26.07.20.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Mar 2024 07:20:31 -0700 (PDT) From: Paul Adenot X-Google-Original-From: Paul Adenot To: ffmpeg-devel@ffmpeg.org Date: Tue, 26 Mar 2024 15:20:29 +0100 Message-Id: <20240326142029.1715497-1-paul@paul.cx> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec: Allow enabling DTX in libopusenc X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Paul Adenot Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Paul Adenot --- doc/encoders.texi | 4 ++++ libavcodec/libopusenc.c | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index 7c223ed74c..d459b2865f 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -1000,6 +1000,10 @@ Other values include 0 for mono and stereo, 1 for surround sound with masking and LFE bandwidth optimizations, and 255 for independent streams with an unspecified channel layout. +@item dtx (N.A.) +Allow discontinuous transmission when set to 1. The default value is 0 +(disabled). + @item apply_phase_inv (N.A.) (requires libopus >= 1.2) If set to 0, disables the use of phase inversion for intensity stereo, improving the quality of mono downmixes, but slightly reducing normal stereo diff --git a/libavcodec/libopusenc.c b/libavcodec/libopusenc.c index af25f27f74..e727448cdd 100644 --- a/libavcodec/libopusenc.c +++ b/libavcodec/libopusenc.c @@ -42,6 +42,7 @@ typedef struct LibopusEncOpts { int packet_size; int max_bandwidth; int mapping_family; + int dtx; #ifdef OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST int apply_phase_inv; #endif @@ -159,6 +160,13 @@ static int libopus_configure_encoder(AVCodecContext *avctx, OpusMSEncoder *enc, "Unable to set inband FEC: %s\n", opus_strerror(ret)); + ret = opus_multistream_encoder_ctl(enc, + OPUS_SET_DTX(opts->dtx)); + if (ret != OPUS_OK) + av_log(avctx, AV_LOG_WARNING, + "Unable to set DTX: %s\n", + opus_strerror(ret)); + if (avctx->cutoff) { ret = opus_multistream_encoder_ctl(enc, OPUS_SET_MAX_BANDWIDTH(opts->max_bandwidth)); @@ -556,6 +564,7 @@ static const AVOption libopus_options[] = { { "on", "Use variable bit rate", 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, 0, 0, FLAGS, .unit = "vbr" }, { "constrained", "Use constrained VBR", 0, AV_OPT_TYPE_CONST, { .i64 = 2 }, 0, 0, FLAGS, .unit = "vbr" }, { "mapping_family", "Channel Mapping Family", OFFSET(mapping_family), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 255, FLAGS, .unit = "mapping_family" }, + { "dtx", "Enable DTX (Discontinuous transmission)", OFFSET(dtx), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, FLAGS }, #ifdef OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST { "apply_phase_inv", "Apply intensity stereo phase inversion", OFFSET(apply_phase_inv), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, FLAGS }, #endif -- 2.40.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".