From patchwork Wed Jan 1 00:58:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 17078 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a05:6214:1865:0:0:0:0 with SMTP id eh5csp216145qvb; Tue, 31 Dec 2019 16:58:55 -0800 (PST) X-Google-Smtp-Source: APXvYqz7Wi8+uq8iYvaXdpVsFu3H5KG0vYjNKWExuZrhRAEVBsf71oQDG31kva/O+xoL7bQPNcJ9 X-Received: by 2002:a17:906:2894:: with SMTP id o20mr79895952ejd.199.1577840335396; Tue, 31 Dec 2019 16:58:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577840335; cv=none; d=google.com; s=arc-20160816; b=mD3q+6QL74wbNTNJfucQGn5rZDHVWRtA3r3tIcxgbGaBbVVx96+GaSLHKyMzxLn4l9 WaGOF+j3IR2RflNsZDxReuAdF79tuzAhKLnWyDkZ3GcyVRspHh9AROQUCmEfMA7zvGo9 058eBWkNLRWqs/2e31AR1lUounURf21CMXljQyOmrIx3eklhp0jrD70Q1Mq9PKwESjS5 nKY5Ngk2NdM70GFHgxM8AW6/wLVb/AufMIb0zLuDpuhcfL8TWPkiKgsx0SjRLA+Rs7r6 38hdPiX/V3dqxRLSSARcjQz86akIcfse9xCjZnyRa+10z37X+uA5HB/FYLNqWnDtu+68 haLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=O0u/gEOX6vgqd/03urRObwTKPnsJojpAv4sWs8t8k4E=; b=G/f0h6xKJSqqUukv3fnENPCmty/3AYEDcp2m43HzHwYKPOSzV6wuA+YuQcZv8wlXyk XU+Y23Ic8Qi0MTQFvvSU9aWzFR4DwHuvvAF0BbF9SGjz1dQGp/YX49Xm5u7nrYf4Xgva eWucEVTKO+hxDQHFPSbQ1VChnmp59kd9yo7b3j6G+0hVe9J/cKPsAGPgLG7MLvHbhnyp VIHdg9niwtId/q6H78Ggml3Bi+BE7c1rnGX7DQbexFrGkQYXK48NgJIqBPDmd3m38QPU DllP4EKs1r5NRhGxT4ZSJjPOT713O7aTu0Ob/6LIYlvFu+xjuRkXFOPoQJlirX3RFvCa CwEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=t8jrr0QE; 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 rv22si33632480ejb.197.2019.12.31.16.58.54; Tue, 31 Dec 2019 16:58:55 -0800 (PST) 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=20161025 header.b=t8jrr0QE; 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 1D2B568AB43; Wed, 1 Jan 2020 02:58:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A6F66688173 for ; Wed, 1 Jan 2020 02:58:45 +0200 (EET) Received: by mail-wm1-f43.google.com with SMTP id b19so2805114wmj.4 for ; Tue, 31 Dec 2019 16:58:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=w5n4BA9tZspu1pFbthDZhvXO7LjM816CclY0GUWT5D4=; b=t8jrr0QEW/6mXNjoN5znQqXgdvzAWFdLZHHPv/c6toimoLy4tingrd9liMWhivCKIx oUl+Grcoy1FRfl8XohXRe0f5ubP6ahGBm3YCLPbPe4xc3eIFZJBkdCNTHSk4DZ4PbSWp 8LSZ02WFcHj2+kwQtSpStPSKJJzuIEFqpAopFpeIRI7L4PSx5VQo01Ee6Xs48vJs6oAq bNsfrWIdW9IHp0ek629QFMUCwz8PtxdgXoQONLFk0xXOKTXytIV/qNV1U7HQLs0EIpSC EVGlEX/Rv6HQkJL4w3P8OaJUmMs9MuHcU3tAd7YdaoFccgWBPKx6wur2Ab7/Z+HXNFAs 35eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=w5n4BA9tZspu1pFbthDZhvXO7LjM816CclY0GUWT5D4=; b=MbAiskBrCS2lNVAoa5Zu6n/Pfc81FC2xpdxB+zVISPxvd+4BVdFH8PL8+xbE8NNHQv fYmPqMJKEmpQv/x/3n5pRcxdICnXmgeCb59tY1PmrgOSJf0CMhScyI17BvbTmX9ujUzH kHXNQ0nXY/KsjNceCdOamCwJQpdRR7wsRxIpzCrSyjFg+2iOF61MrTDcuXnDDnzUQOSd cVwyrJ7BGEDdysiIMZmJUVMXGhlieRpOAsTGc1mrD5OhQ02NfjOECNYFWiHiuvZEVaXj mE3uyiEehha8rY0LPR7Uu3CH8MbotG1e7519Ce45R7MG1sa4alKvHUQHs33QFjxtURs7 eSAQ== X-Gm-Message-State: APjAAAXcoSPEkpK3ezUqnNZTtHdi54bdGlJ9iGd1aE/idTk9VBSri2Jk /a8GnsvThHP4/Peh1lQ1GSmFYeAd X-Received: by 2002:a1c:7215:: with SMTP id n21mr6682689wmc.154.1577840324914; Tue, 31 Dec 2019 16:58:44 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc08bbf.dynamic.kabel-deutschland.de. [188.192.139.191]) by smtp.gmail.com with ESMTPSA id w17sm52431655wrt.89.2019.12.31.16.58.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Dec 2019 16:58:44 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 01:58:17 +0100 Message-Id: <20200101005837.11356-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 00/20] Matroska muxer patches X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: /PJoxqgEod6q Content-Length: 3733 Hello, this patchset is about the Matroska muxer. It consists partially of patches from my earlier patchset [1] that is currently blocked by the webm_chunk muxer [2]. One focus of this patchset is about improving writing Cues; in particular, an assert that is triggered if the reserved space for writing Cues in front exceeds the needed space by one byte is fixed. Furthermore, the checks involved in writing SeekHeads were fixed. This goes beyond what was done in the earlier patchset. - Andreas [1]: https://ffmpeg.org/pipermail/ffmpeg-devel/2019-November/252578.html [2]: https://ffmpeg.org/pipermail/ffmpeg-devel/2019-December/254783.html Andreas Rheinhardt (20): avformat/matroskaenc: Fix ReferenceBlock timestamp avformat/matroskaenc: Improve writing Projection avformat/matroskaenc: Remove useless AVIOContext avformat/matroskaenc: Adapt documentation of put_ebml_num avformat/matroskaenc: Check return value of ff_isom_write_hvcc() avformat/matroskaenc: Check functions that can fail avformat/matroskaenc: Avoid allocations for SeekHead avformat/matroskaenc: Improve calculating EBML ID size avformat/matroskaenc: Check for failure when writing SeekHead avformat/matroskaenc: Avoid unnecessary seek avformat/matroskaenc: Cosmetics avformat/matroskaenc: Avoid allocation for Cues avformat/aviobuf: Add function to reset dynamic buffer avformat/matroskadec: Simplify writing Cues avformat/matroskaenc: Write level 1 elements in one go avformat/matroskaenc: Remove unused function parameter avformat/matroskaenc: Check that Cluster has been opened avformat/matroskaenc: Don't fail if reserved Cues space doesn't suffice avformat/matroskaenc: Fix edge case of writing Cues at the beginning avformat/matroskaenc: Avoid seek when writing Cues at the front doc/muxers.texi | 4 +- libavformat/avio_internal.h | 7 + libavformat/aviobuf.c | 11 + libavformat/matroskaenc.c | 516 ++++++++++++--------------- tests/fate/matroska.mak | 2 +- tests/fate/wavpack.mak | 4 +- tests/ref/fate/aac-autobsf-adtstoasc | 4 +- tests/ref/fate/binsub-mksenc | 2 +- tests/ref/fate/rgb24-mkv | 4 +- tests/ref/lavf/mka | 4 +- tests/ref/lavf/mkv | 4 +- tests/ref/lavf/mkv_attachment | 4 +- tests/ref/seek/lavf-mkv | 44 +-- 13 files changed, 286 insertions(+), 324 deletions(-)