From patchwork Tue Jun 21 06:46:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 34753 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1a22:b0:84:42e0:ad30 with SMTP id cj34csp2050651pzb; Mon, 20 Jun 2022 23:46:53 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uUnQiNn6j1s7kIzG4cxuXCDlFeWH1s71U2DdKeJncuvmkrA5oQImFO0WzfiUkn79j/nNZl X-Received: by 2002:a17:906:f84:b0:711:eda5:db31 with SMTP id q4-20020a1709060f8400b00711eda5db31mr23036146ejj.397.1655794013625; Mon, 20 Jun 2022 23:46:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655794013; cv=none; d=google.com; s=arc-20160816; b=r6qSN/u5gXAuU1OPyxjXCdtCx5BpCxCUsRH4LvCuaDycu6VmBnls3tm6npjdiu/rkU NZ+DOyy3ZJddgSS+BWuthOn5CcMJ/f/W0gBA48MVLXnXJRYE1GHpuISwe2KoqHGwtlWM SY/5z6XhKcrunnoEi/WWrXbzwzmPvDNuwYDOtflZ1fHrRlynCC84Fp98ATRYmXxG2Kzh 1UmePAyjc+sLFMNJm3SiGThp2D4uH4Ob1I3gMVwNrzLaku/APOJTFKZf12izGR6xQpIa pUxw9h36/n/WCMiH4Eaf7RLmSP4yEPD3ssPm/ScMwN4VYPQsecvJ5upjKWiIaP55zaPn SPog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=Ltkn0K+QJBMYVtEPHk2XEDRD6knFMLyBpd7pbsSfwEE=; b=tAeB68Qyj5sqF4U4Yq3qH7mZt9YyxtbUimEJf8OWvC94KL1qIOzcm5lOEZftfvEcfB OtAWWDxGSst15jXwgiQiLW3IBHLdDJNF1q21L6RLHz//XxmrGIKZ4ay5c/IvgDBXLs8h X58i/xbHXHoiS8rddOYGUAViMnJ0mk8h7DIWCGqqBS5UiJ91Vn4AxT1YDni3ohkfaRxR mc2FvYTo5S5UZakwJNKoRLxPiL6fudn7zkIKyfDhjUGaWlU60wf4ZpT1g7G+hI5d8qDS mFY3q7aXiNzZ2+sECmVozjAKP29NA6q1IufAWDQiS3bkhBXatmRnZb5IqnvF1IRA1vJF nusQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=SS0LIMNv; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y22-20020a056402359600b0042bd134b727si15058242edc.129.2022.06.20.23.46.52; Mon, 20 Jun 2022 23:46:53 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=SS0LIMNv; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3B6A168B63D; Tue, 21 Jun 2022 09:46:48 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C72A668B27B for ; Tue, 21 Jun 2022 09:46:41 +0300 (EEST) Received: by mail-lj1-f178.google.com with SMTP id s10so14253909ljh.12 for ; Mon, 20 Jun 2022 23:46:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=pG8udhmpmZ2iNzipnOz6povfzHmankvn1+Bgc+uW9VA=; b=SS0LIMNvJt4wnw3zQbB45089T9tCFkCsGe264WrR59znCA4tcIP1Zoy5lV/OradxLE y1y3iwI/j4kYmPo+B1ObHF3cSCwz7Xv8FnQk5POn0A1Da77b/r6d2g5q5PJ/eqaCstQh 9CnUMo3V5ZtuXSFlnFUpx7CDSRVRhYMftPV9H5kzMjZe9GjfreJy2UdRc3fFPnyTRf1X 6gUmSvuuEmvXvBOmhUtL+5qbE6VxI5RfRp+yV270yeW46Ns0Bk/fqKdM5gRFrWBjB3PI cBInDIYyeIxjJqgGZZXH/0NfK2nK8ZGiqCG0Hqzro7QfHPlLHLpoNOydLmXO1BtFC5Ta 2iSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=pG8udhmpmZ2iNzipnOz6povfzHmankvn1+Bgc+uW9VA=; b=q+D6qGBYR5zfgdiuesk7pj/QBF/FK9GuVklR0atjdtdpN3Ax9cci6O6MMeW9QatVY5 38ZZ20Sp1koxJu4a3D1eh4DtZjYA1LpFtA8TYmbW7lxy7969avOi9AxwyGzBTXmpghO7 /j1mhyGat38hc76nqunww6gwPoco1Zwt9KCaQMYvC1Enn66xfdS08Nd7+kwaIDcrudZa wkoE4WWP1j9ZksPNawJoEj3LlLDrfGGvk3WeCZQCtRz91arGHc87uWzo+rmcnkySqUKG pt5+o5zaRrGocuUN5H1ta9Zl7jH29ijMp7Ir8MQ9BMo3B+iAINZ5AxbUYiKY4HKehr1d atXA== X-Gm-Message-State: AJIora+Iql0wnyWKoC3Tvg6J8vLVdvcP7/CM0Oo3i5EcMRSkH41GQLBY frcM5UIEOFbwTzqiNhBXVyrPCYMMMO8= X-Received: by 2002:a2e:95d0:0:b0:25a:7add:cad0 with SMTP id y16-20020a2e95d0000000b0025a7addcad0mr391870ljh.283.1655794001022; Mon, 20 Jun 2022 23:46:41 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id u18-20020a199212000000b0047255d211c7sm2046767lfd.246.2022.06.20.23.46.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 23:46:40 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Tue, 21 Jun 2022 09:46:28 +0300 Message-Id: <20220621064634.16797-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 0/6] avformat/movenc: normalize on AC-3 parser usage 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: x1epJOEsrKLl The simplified parsing currently in `mov_write_ac3_tag` trusts the content of the packets a bit too much (the AC-3 parser returns all data fed to it, including any possible data before the start code), while the existing E-AC-3 logic does proper header validation by utilizing the (E-)AC-3 parser. Thus, normalize on AC-3 parser usage for both AC-3 and E-AC-3. Difference to v2: * libavcodec/Makefile received `STLIBOBJS-$(CONFIG_MOV_MUXER) += ac3_bitrate_tab.o` Jan Jan Ekström (6): avcodec: make AC-3 bit rate table available in a separate header {configure,avformat/movenc}: enable AC-3 parser for movenc avformat/movenc: enable handle_eac3 to handle AC-3 tracks avformat/movenc: move eac3_info definition so that it can be used for AC-3 avformat/movenc: utilize existing AC-3 parsing workflow for AC-3 avformat/movenc: handle OOM situations when parsing AC-3 headers configure | 2 +- libavcodec/Makefile | 9 ++- libavcodec/ac3_bitrate_tab.c | 22 +++++++ libavcodec/ac3_bitrate_tab.h | 33 ++++++++++ libavcodec/ac3tab.c | 6 -- libavformat/Makefile | 1 + libavformat/ac3_bitrate_tab.c | 22 +++++++ libavformat/movenc.c | 121 ++++++++++++++++++---------------- 8 files changed, 149 insertions(+), 67 deletions(-) create mode 100644 libavcodec/ac3_bitrate_tab.c create mode 100644 libavcodec/ac3_bitrate_tab.h create mode 100644 libavformat/ac3_bitrate_tab.c