From patchwork Mon Apr 13 22:11:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 18929 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id CC99544A3FE for ; Tue, 14 Apr 2020 01:12:10 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A8FDC68B7BD; Tue, 14 Apr 2020 01:12:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 251E268B7B8 for ; Tue, 14 Apr 2020 01:12:05 +0300 (EEST) Received: by mail-wr1-f66.google.com with SMTP id i10so11932483wrv.10 for ; Mon, 13 Apr 2020 15:12:05 -0700 (PDT) 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=d0Uu0rKqFxNhPPBHBvQFVfESQzdqIz3AaEyVSOeP8ug=; b=KeLvqNxmvJ+32y4kEmrOpVds0uP78GemtNnqQr45A0JqA2SU25744zEYa5wTcpfhIv GIGPgPW+N9drT49wI+Vje2zmZMKubcdz/nJSCKyuLOzjN67aXVo8rkwIvGmgvB03B38T Fph6DNc7Daj9lbbh90S78b/+OD4zYUbT8/kS911KHNAwu7PTtpV+ossSXB9Erhvu9XWi XxafqFJyklE57ApWPO4NDKO/dyvwJtu9L0jqCBmdE88dORW3SBrYeubJzbWp5X7qcKB/ 6WW5XfRvQ7dYNOsbFvp3w2ozKM6x53L4UYUB2x9bmstM6pgCWpCt5cfdIb3CE4BqZoTE dBGw== 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=d0Uu0rKqFxNhPPBHBvQFVfESQzdqIz3AaEyVSOeP8ug=; b=rwmBsBe06wJk6q5qrcYRqouvmiL86igpQ/qcEJvLtytzvva7ZO60Z2xpffJqHpFMst Z8jMplngBWA3HIdm04SzqeSkvtlr2ShDw2ybfbn4suPhU16iWd0vQ8DXXtz9TBBco4k+ GSlqQit1dHfb8UQ6keegPz6IJFvSd1/A0QUgT/+tSgda1FvqXa3Ryq7L4Tb/6Tksqh4O a5ptoxa09hmpXDBRBE82HkKZkEU/JHMf6DYFNsHuiEmXKSBP2bwlokh206Wqxwj+eLOJ F5B83Sy/9d6d+2l0MAFmQnF7PmLdLGHSVuY3ZrkvP38FBZdC85aWE+oN9DLsUbyEZUsS Bc8g== X-Gm-Message-State: AGi0PubcAC/3WTkswCgzcQ+KXyQvkTLN1bBYWwIeqEjWBZDGr7c7d1oB zHjYZY+npJEegi2LLQoK4Wz9AD7V X-Google-Smtp-Source: APiQypJ17N/69zsvTElNaF7RGl4t388vzDUJ77+kzteH2pXxooSsahaFJIw3stFc0TrDAfmC5+WaNw== X-Received: by 2002:a5d:4292:: with SMTP id k18mr1294327wrq.137.1586815924135; Mon, 13 Apr 2020 15:12:04 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id h16sm17930804wrw.36.2020.04.13.15.12.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2020 15:12:03 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 14 Apr 2020 00:11:53 +0200 Message-Id: <20200413221156.20179-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/4] fate: Fix dependencies for ffprobe tests with external samples 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" Up until now, they were appended to the FATE_EXTERN-$(CONFIG_FFMPEG) variable and were therefore activated when ffmpeg was enabled regardless of whether ffprobe was enabled. Also the same happened with FATE_SAMPLES_FASTSTART, although the corresponding test (mov-faststart-4gb-overflow) only requires external samples. Furthermore, remove the unused FATE_FULL variable (FATE_EXTERN_FFPROBE has taken its place). Signed-off-by: Andreas Rheinhardt --- tests/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/Makefile b/tests/Makefile index e5f41008d4..477f5bef26 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -203,8 +203,9 @@ FATE-$(CONFIG_FFPROBE) += $(FATE_FFPROBE) FATE_SAMPLES_AVCONV += $(FATE_SAMPLES_AVCONV-yes) FATE_SAMPLES_FFMPEG += $(FATE_SAMPLES_FFMPEG-yes) -FATE_EXTERN-$(CONFIG_FFMPEG) += $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG) $(FATE_SAMPLES_FFPROBE) $(FATE_SAMPLES_FASTSTART) -FATE_EXTERN += $(FATE_EXTERN-yes) +FATE_EXTERN-$(CONFIG_FFMPEG) += $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG) +FATE_EXTERN-$(CONFIG_FFPROBE) += $(FATE_SAMPLES_FFPROBE) +FATE_EXTERN += $(FATE_EXTERN-yes) $(FATE_SAMPLES_FASTSTART) FATE += $(FATE-yes) @@ -218,7 +219,6 @@ $(FATE_FFPROBE) $(FATE_SAMPLES_FFPROBE): ffprobe$(PROGSSUF)$(EXESUF) $(FATE_SAMPLES_FASTSTART): tools/qt-faststart$(EXESUF) ifdef SAMPLES -FATE += $(FATE_FULL) $(FATE_FULL-yes) FATE += $(FATE_EXTERN) fate-rsync: rsync $(RSYNC_OPTIONS) rsync://fate-suite.ffmpeg.org/fate-suite/ $(SAMPLES) From patchwork Mon Apr 13 22:11:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 18930 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id C96B244A3FE for ; Tue, 14 Apr 2020 01:12:31 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AF52A68B8F5; Tue, 14 Apr 2020 01:12:31 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6D93568B7CF for ; Tue, 14 Apr 2020 01:12:25 +0300 (EEST) Received: by mail-wm1-f41.google.com with SMTP id z6so11763216wml.2 for ; Mon, 13 Apr 2020 15:12:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mVlqPOXgbM3DKFoylEUvcpi0X95NeKrHVaQ1nerhL+A=; b=Ls3fzrmFK26Gds7GjKakT0Ck6X6felUc02MvxWaMdgJJym3pi36QmvTUm9Mp5THI7a zWPDTwE0atGhD+IcKDRfBFqFxPevk3eK8kemsyJZjraQR2Rn56oXuovrYWE3M523PKu0 9SQSB5N5h0S46bBBUMol7tdD9Iw9Dj7Upv44pUsPLzZEFqm6oU5h/9UKbEeTBcO5bQxy R9HN5afJTbvOewH2+8P+S7tn1qQmFDHyBT244fpALgFAm3lEtEMnJfU5q/0l/VIXHH85 4Qa5uA/H7r/jyl7sFtG5NHh8PBWxmXv8napvnLgzPUbLDPOahdFCKY/Cv8NltaXo8rGN YV4Q== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=mVlqPOXgbM3DKFoylEUvcpi0X95NeKrHVaQ1nerhL+A=; b=oEpXe8DiTvZeEISi2Xi3QpT1k9IidUAxWawSBzkWlCL5jWuTnVq5QBx5OKUzkD5F+U Nj9KW/4tuEyuTe6QrCoTuIMwo+mVqrKmlVt5987Ki5NioyM2YhtVBsXLkm9UQpW1sFku lKR0hN0oFGsdwZ7VGvo8NJGE4yUNlcZ86Um/cEuVleKX7poZJf5htLkTTyK8xdHi6dcL jXQh01/btIglZ6hiycaIPeqTgFuMfIUruYau0jzaqMHSBNT2rnhsmpR4Z99IX5Nacrir 8nPIislMF6bm2rV6yUBuMJSzyhmbuuwr/y48AHegDltwr8NEYc6RcRW1/phuyxq8p5TL 8Xfg== X-Gm-Message-State: AGi0PuYC+ZYzK9+spK5+gHlijWEpElFmHpfBO1p2fJ+4ees5fi9EN2Ki qFgib4k2P7KN9mCskt9366fVbicp X-Google-Smtp-Source: APiQypKHuo3z6Xs22xrmnUJsmGYJNNVyHEtdZnixA+V2srMjSEe56vNCwo5NHpv+WcPbRgH1ek8vTQ== X-Received: by 2002:a1c:3b0a:: with SMTP id i10mr19875388wma.26.1586815943949; Mon, 13 Apr 2020 15:12:23 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id h16sm17930804wrw.36.2020.04.13.15.12.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2020 15:12:23 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 14 Apr 2020 00:11:54 +0200 Message-Id: <20200413221156.20179-2-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200413221156.20179-1-andreas.rheinhardt@gmail.com> References: <20200413221156.20179-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/4] fate: Allow to test temporary files with ffprobe 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" This is primarily intended to test that muxers correctly write chapters or metadata; but given that it does this by having our demuxers read the generated files, it also tests demuxers. And of course it may prove useful for encoders, too. Signed-off-by: Andreas Rheinhardt --- transcode() and stream_remux() both used $7 for the -keep parameter (that is not set by any test using these two functions) despite $6 being unused. I could have used $6 for ffprobe_opts, but the relative position of ffprobe_opts and -keep would be switched between enc_dec() and transcode()/stream_remux(). tests/Makefile | 7 +++++-- tests/fate-run.sh | 13 +++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/tests/Makefile b/tests/Makefile index 477f5bef26..bf5b658926 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -200,11 +200,14 @@ include $(SRC_PATH)/tests/fate/xvid.mak FATE_FFMPEG += $(FATE_FFMPEG-yes) $(FATE_AVCONV) $(FATE_AVCONV-yes) FATE-$(CONFIG_FFMPEG) += $(FATE_FFMPEG) FATE-$(CONFIG_FFPROBE) += $(FATE_FFPROBE) +FATE-$(call ALLYES, FFMPEG FFPROBE) += $(FATE_FFMPEG_FFPROBE) FATE_SAMPLES_AVCONV += $(FATE_SAMPLES_AVCONV-yes) FATE_SAMPLES_FFMPEG += $(FATE_SAMPLES_FFMPEG-yes) FATE_EXTERN-$(CONFIG_FFMPEG) += $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG) FATE_EXTERN-$(CONFIG_FFPROBE) += $(FATE_SAMPLES_FFPROBE) +FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_SAMPLES_FFMPEG_FFPROBE-yes) +FATE_EXTERN-$(call ALLYES, FFMPEG FFPROBE) += $(FATE_SAMPLES_FFMPEG_FFPROBE) FATE_EXTERN += $(FATE_EXTERN-yes) $(FATE_SAMPLES_FASTSTART) FATE += $(FATE-yes) @@ -212,9 +215,9 @@ FATE += $(FATE-yes) RSYNC_OPTIONS-$(HAVE_RSYNC_CONTIMEOUT) += --contimeout=60 RSYNC_OPTIONS = -vrltLW --timeout=60 $(RSYNC_OPTIONS-yes) -$(FATE_FFMPEG) $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG): ffmpeg$(PROGSSUF)$(EXESUF) +$(FATE_FFMPEG) $(FATE_FFMPEG_FFPROBE) $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG) $(FATE_SAMPLES_FFMPEG_FFPROBE): ffmpeg$(PROGSSUF)$(EXESUF) -$(FATE_FFPROBE) $(FATE_SAMPLES_FFPROBE): ffprobe$(PROGSSUF)$(EXESUF) +$(FATE_FFPROBE) $(FATE_FFMPEG_FFPROBE) $(FATE_SAMPLES_FFPROBE) $(FATE_SAMPLES_FFMPEG_FFPROBE): ffprobe$(PROGSSUF)$(EXESUF) $(FATE_SAMPLES_FASTSTART): tools/qt-faststart$(EXESUF) diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 552b3dd9df..7c6d753261 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -192,6 +192,7 @@ enc_dec(){ enc_opt=$4 dec_fmt=$5 dec_opt=$6 + ffprobe_opts=$9 encfile="${outdir}/${test}.${enc_fmt}" decfile="${outdir}/${test}.out.${dec_fmt}" cleanfiles="$cleanfiles $decfile" @@ -207,6 +208,8 @@ enc_dec(){ -f $dec_fmt -y $tdecfile || return do_md5sum $decfile tests/tiny_psnr${HOSTEXECSUF} $srcfile $decfile $cmp_unit $cmp_shift + test -z $ffprobe_opts || \ + run ffprobe${PROGSUF}${EXECSUF} $ffprobe_opts -v 0 $tencfile || return } transcode(){ @@ -215,8 +218,9 @@ transcode(){ enc_fmt=$3 enc_opt=$4 final_decode=$5 + ffprobe_opts=$7 encfile="${outdir}/${test}.${enc_fmt}" - test "$7" = -keep || cleanfiles="$cleanfiles $encfile" + test "$6" = -keep || cleanfiles="$cleanfiles $encfile" tsrcfile=$(target_path $srcfile) tencfile=$(target_path $encfile) ffmpeg -f $src_fmt $DEC_OPTS -i $tsrcfile $ENC_OPTS $enc_opt $FLAGS \ @@ -225,6 +229,8 @@ transcode(){ echo $(wc -c $encfile) ffmpeg $DEC_OPTS -i $tencfile $ENC_OPTS $FLAGS $final_decode \ -f framecrc - || return + test -z $ffprobe_opts || \ + run ffprobe${PROGSUF}${EXECSUF} $ffprobe_opts -v 0 $tencfile || return } stream_remux(){ @@ -233,14 +239,17 @@ stream_remux(){ enc_fmt=$3 stream_maps=$4 final_decode=$5 + ffprobe_opts=$7 encfile="${outdir}/${test}.${enc_fmt}" - test "$7" = -keep || cleanfiles="$cleanfiles $encfile" + test "$6" = -keep || cleanfiles="$cleanfiles $encfile" tsrcfile=$(target_path $srcfile) tencfile=$(target_path $encfile) ffmpeg -f $src_fmt -i $tsrcfile $stream_maps -codec copy $FLAGS \ -f $enc_fmt -y $tencfile || return ffmpeg $DEC_OPTS -i $tencfile $ENC_OPTS $FLAGS $final_decode \ -f framecrc - || return + test -z $ffprobe_opts || \ + run ffprobe${PROGSUF}${EXECSUF} $ffprobe_opts -v 0 $tencfile || return } # FIXME: There is a certain duplication between the avconv-related helper From patchwork Mon Apr 13 22:11:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 18931 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id C71BB44A3FE for ; Tue, 14 Apr 2020 01:12:32 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AC78168B961; Tue, 14 Apr 2020 01:12:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CA35B68B7CF for ; Tue, 14 Apr 2020 01:12:25 +0300 (EEST) Received: by mail-wm1-f51.google.com with SMTP id a201so11366212wme.1 for ; Mon, 13 Apr 2020 15:12:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=U0znxyyFpoZivMJQ1wD/wf42NLudBgH0ZwG+AYaOm/c=; b=OSEczIsPm0E6mkoua+YT3vMCSN2klemTEntpJxwHXaTkHMwe32iRNBvLMBVZlKi7uV 0khqs+WX75EFhYzK4JgtukxOEPgPmBy1fweZI+IgV2eyc6II0mvWSNfFbsMdMRubmwan onk5VMUH0Hnxwq1RKmKh3hd4iTTJi7Q+/pLe8zT1L5YoOMk+c0O8MP1Jt4pS+oFhkJZT Md8LuUulejYnxNlJ9RwOT0z5sMrkXQsw4Bk5d/n4xTZEP5EQSUAGKRUYFOfqJg7ynP9P 4Yw5NJ5IEHlcl0FAraGhu7ui25lzoUtYvsAVbRySJnZgPdmzsvC2vDgJNpzUL1GbfA5g Tr4A== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=U0znxyyFpoZivMJQ1wD/wf42NLudBgH0ZwG+AYaOm/c=; b=GflccNWLDh/ljs+xRiRPkXV5RUGJtAYP8LnrzUzeV1FXom5dk3pe3MMQw4JvTVOqWU n8mnKMtytdJ5JMMI5bH4dLG9ilxf7QJJeR5SZmFCa9qBiYfqFJTO/EgYQ2k7HQJumejp L5SNMQGr74V7RcJCUyFzsr7oSt+lZt59j1f3VqQ8eWk/z6Z5flnIqjGtpDjvhXlll0XS scGRpq/ZOwXAnuYfyxC8B0hYlfVGcP6D5fRBisvjqk1YRLGBzIT7IjCV7uBlIizec9d3 EATt5yJPd4u8md0DjAbOkC82He2kIP2ooXwF9znGSgVKIa3/5br0EA17id28sSZmcmAc QMpA== X-Gm-Message-State: AGi0PubelH30qKfwCbMwSNRIzBVPg37NzAMYSCaZSwIO7OoLkA4qUtZo /JsfBetj8p1YcS+8pBFWlTz4aRf5 X-Google-Smtp-Source: APiQypI2PBAaflJE4VyuoIsE83Ohcq/sp+Ed1vJEJMafLMx0d1G5ShaIO3WKbcUfuBUaZ2x3n5YIYg== X-Received: by 2002:a1c:770f:: with SMTP id t15mr20093896wmi.178.1586815944882; Mon, 13 Apr 2020 15:12:24 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id h16sm17930804wrw.36.2020.04.13.15.12.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2020 15:12:24 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 14 Apr 2020 00:11:55 +0200 Message-Id: <20200413221156.20179-3-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200413221156.20179-1-andreas.rheinhardt@gmail.com> References: <20200413221156.20179-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/4] fate/matroska: Add test for chapters, Vorbis and WebM DASH 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" Moreover, putting the Cues in front of the Clusters by reserving space in advance is also tested. The new capability of using ffprobe during a remux/transcode test are used here for information about the chapters. Signed-off-by: Andreas Rheinhardt --- When in DASH audio mode, the Matroska/WebM muxer already generates Cues for the file (which is not happening for ordinary audio-only files right now). So this test is especially designed to show that [1] does not change the output (especially the Cues) for DASH audio files. (It indeed does not require a change.) Testing the other stuff is nice, too. [1]: https://ffmpeg.org/pipermail/ffmpeg-devel/2020-April/259794.html tests/fate/matroska.mak | 9 ++++ tests/ref/fate/webm-dash-chapters | 74 +++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 tests/ref/fate/webm-dash-chapters diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak index 8cc35d52da..1d2921194f 100644 --- a/tests/fate/matroska.mak +++ b/tests/fate/matroska.mak @@ -49,8 +49,17 @@ FATE_MATROSKA-$(call ALLYES, FLAC_DECODER FLAC_ENCODER FLAC_PARSER \ fate-matroska-flac-extradata-update: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/flac_channel_layouts.mka \ matroska "-map 0 -map 0:0 -c flac -frames:a:2 8" "-map 0 -c copy" +# This test tests demuxing Vorbis and chapters from ogg and muxing it in and +# demuxing it from Matroska/WebM. It furthermore tests the WebM muxer, in +# particular its DASH mode. Finally, it tests writing the Cues at the front. +FATE_MATROSKA_FFMPEG_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER OGG_DEMUXER \ + VORBIS_DECODER VORBIS_PARSER WEBM_MUXER) \ + += fate-webm-dash-chapters +fate-webm-dash-chapters: CMD = transcode ogg $(TARGET_SAMPLES)/vorbis/vorbis_chapter_extension_demo.ogg webm "-c copy -cluster_time_limit 1500 -dash 1 -dash_track_number 124 -reserve_index_space 400" "-c copy -t 0.5" "" -show_chapters + FATE_MATROSKA_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER) += fate-matroska-spherical-mono fate-matroska-spherical-mono: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mkv/spherical.mkv FATE_SAMPLES_AVCONV += $(FATE_MATROSKA-yes) FATE_SAMPLES_FFPROBE += $(FATE_MATROSKA_FFPROBE-yes) +FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_MATROSKA_FFMPEG_FFPROBE-yes) diff --git a/tests/ref/fate/webm-dash-chapters b/tests/ref/fate/webm-dash-chapters new file mode 100644 index 0000000000..9c0b77a5dd --- /dev/null +++ b/tests/ref/fate/webm-dash-chapters @@ -0,0 +1,74 @@ +ff403ab0d4194601df201189df012e65 *tests/data/fate/webm-dash-chapters.webm +111220 tests/data/fate/webm-dash-chapters.webm +#extradata 0: 3469, 0xc6769ddc +#tb 0: 1/1000 +#media_type 0: audio +#codec_id 0: vorbis +#sample_rate 0: 44100 +#channel_layout 0: 4 +#channel_layout_name 0: mono +0, 0, 0, 5, 28, 0xefcf103e +0, 6, 6, 26, 198, 0xfbbe5eb5 +0, 32, 32, 46, 198, 0xabd95c6c +0, 99, 99, 26, 41, 0x954b12a5 +0, 105, 105, 5, 41, 0xbccd1463 +0, 110, 110, 5, 44, 0x4fa218a1 +0, 116, 116, 5, 43, 0xf87716d4 +0, 122, 122, 5, 32, 0x0fdc1057 +0, 128, 128, 5, 67, 0xd5352244 +0, 134, 134, 5, 68, 0x36e91faf +0, 140, 140, 5, 57, 0xe6f51928 +0, 145, 145, 5, 49, 0x3bb416e1 +0, 151, 151, 5, 54, 0x678f1777 +0, 157, 157, 5, 57, 0x56601ef3 +0, 163, 163, 5, 52, 0xc0fe1a12 +0, 169, 169, 26, 236, 0xfe396f02 +0, 195, 195, 46, 208, 0x018e62d3 +0, 241, 241, 46, 223, 0x9fa76917 +0, 308, 308, 26, 46, 0xd8c314f9 +0, 314, 314, 5, 46, 0x199018bc +0, 319, 319, 5, 46, 0xbe8314cd +0, 325, 325, 5, 45, 0xe0ad1622 +0, 331, 331, 5, 43, 0xe52a1659 +0, 337, 337, 5, 58, 0xd5e01f9c +0, 343, 343, 5, 67, 0x5bbc2201 +0, 348, 348, 26, 226, 0x04887569 +0, 375, 375, 46, 217, 0x4b6564ab +0, 421, 421, 46, 211, 0xb7e868da +0, 467, 467, 46, 198, 0x7bf65d8a +[CHAPTER] +id=1 +time_base=1/1000000000 +start=0 +start_time=0.000000 +end=5000000000 +end_time=5.000000 +TAG:title=start +[/CHAPTER] +[CHAPTER] +id=2 +time_base=1/1000000000 +start=5000000000 +start_time=5.000000 +end=10500000000 +end_time=10.500000 +TAG:title=Five Seconds +[/CHAPTER] +[CHAPTER] +id=3 +time_base=1/1000000000 +start=10500000000 +start_time=10.500000 +end=15000000000 +end_time=15.000000 +TAG:title=Ten point 5 seconds +[/CHAPTER] +[CHAPTER] +id=4 +time_base=1/1000000000 +start=15000000000 +start_time=15.000000 +end=19849000000 +end_time=19.849000 +TAG:title=15 sec - over soon +[/CHAPTER] From patchwork Mon Apr 13 22:11:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 18932 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 9042144A3FE for ; Tue, 14 Apr 2020 01:12:34 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7A70768B94A; Tue, 14 Apr 2020 01:12:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9EE6268B7DD for ; Tue, 14 Apr 2020 01:12:26 +0300 (EEST) Received: by mail-wm1-f68.google.com with SMTP id h2so10849352wmb.4 for ; Mon, 13 Apr 2020 15:12:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gnS7/AGzLWL/n18YmzADDM7JG/lT5qIcoGSFSQKf4Ew=; b=d5v0zNPQ+67OKgu/wDLiZVdamEyscpcx63iIjQ2JWKZ18bLUpVIYVyYVHTRa0Ecw+T +oqcMR1TNmLExsJlRl+d5RijtJeUxtHJQMq4vHfeZ/v/Z2KTPWLC1v/uScWTMfVhyTyg 4k00GNrV3tbq/zM0CYUOGCpe+k26cozqCU0hohPEkoSWykqk75i/xhlFjOM5vo3rQ0VA kbnjUD7fvvWD5KIb5jQfoATQ1dxlLqbifOdHz6n4b448T2J3YY6+KTia4vsPi4cGvAcU 9m122gl30PU9xzB4RrrUgjdfYKBGPDZzsYGZ1fVxLkPGvAmEFwByNyM4aV9mmZHyE8+L f9fQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=gnS7/AGzLWL/n18YmzADDM7JG/lT5qIcoGSFSQKf4Ew=; b=e2lMZS6k1w04TsfGEtg4/d16j3BBBjQN1vt1n7yrlDI+u2gFH9WsfCryxnUmXcLZ1Q 1Io9vZWxMuqPXA+Gv/yKCeu2D+OTzEnKF325RUXfC4Lkq8mw/FLfyssrBRzEsok9T7J1 QKuDkJ7tqHevlvOjU9d0cI0Ql0350cl1dk9suRKBLVupFgoM4dP2GLdFgDO/SdKY4E8G 4xIh/EFCrviSGFvDc6Pnu3/gwKpKBxxKAGQt3faqDrzpIQMWoVDHb0I0DviFEvtAWyQ6 U8K5cSeHO0YujWSpLdCO8DtDkd+cYqbbPpNkC6OmvA6gZ4ukYDn7EW/G5Zf9MVpYQE5M f2xQ== X-Gm-Message-State: AGi0PuZ5eAHwhb2jlDgPdoCxwcjgfTYwma9ENC9lm9mNdKo5bt05Si0R A8bZGuy7Nj+jw3BtukXd9HFG4vl0 X-Google-Smtp-Source: APiQypJ4O2H5p8hL1AgIGN/w00YzaFHPsJ5/BgOL3GDfCYLHEZKK+7AjvD91OStQNH/nfBrWakC7Eg== X-Received: by 2002:a1c:a553:: with SMTP id o80mr19784304wme.159.1586815945872; Mon, 13 Apr 2020 15:12:25 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id h16sm17930804wrw.36.2020.04.13.15.12.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2020 15:12:25 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 14 Apr 2020 00:11:56 +0200 Message-Id: <20200413221156.20179-4-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200413221156.20179-1-andreas.rheinhardt@gmail.com> References: <20200413221156.20179-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/4] avformat/matroskadec: Remove redundant setting of chapter titles 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" Chapter titles are added to the chapter's metadata since 6cb6e159, yet since 012867f0 (the predecessor of) avpriv_new_chapter() already adds the title to the chapter's metadata. So setting it again in matroskadec.c is redundant and expensive. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskadec.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index c699ce66b8..761d8b3743 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2933,10 +2933,6 @@ static int matroska_read_header(AVFormatContext *s) (AVRational) { 1, 1000000000 }, chapters[i].start, chapters[i].end, chapters[i].title); - if (chapters[i].chapter) { - av_dict_set(&chapters[i].chapter->metadata, - "title", chapters[i].title, 0); - } max_start = chapters[i].start; }