From patchwork Wed May 25 22:41:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 35931 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp81577pzj; Wed, 25 May 2022 15:41:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyrMMtHo7FRyTm49thGFHgbulQe9DHbOlIvj5uPvM0/f/QufBRgNxklML9Ss2O2R+2WbTwE X-Received: by 2002:a17:907:d01:b0:6fe:dede:41fb with SMTP id gn1-20020a1709070d0100b006fedede41fbmr16275075ejc.105.1653518510988; Wed, 25 May 2022 15:41:50 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id bq10-20020a056402214a00b0042820cdb613si1214985edb.597.2022.05.25.15.41.49; Wed, 25 May 2022 15:41:50 -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=@outlook.com header.s=selector1 header.b=BGQHXKAz; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B178F68B573; Thu, 26 May 2022 01:41:45 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2105.outbound.protection.outlook.com [40.92.89.105]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EC99A68B2DC for ; Thu, 26 May 2022 01:41:38 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W4JkFXtq8yQBMtV25HV39lHIjc4xtHeh5eaDKMEsrQMEGVCMFX2dVszPYNmJgDQgHAaq2QjwCRxiCpBxJOP8YAcmA1U09h6kyRfDWneXQpbJqCuFMU9/Ml/EJMnxdKbbN+XWHtfGQgQUdjtU/pVeks9Wr7h6mpNwBAfYQf6NUdq5nTbZNlt6AftUwxSQFhBKSeB+CrhqYgXyjMccXnCk84SU7OfCiADnnyOhb5nSbDKm8Ea2SXoUJYaLWmT7FPlDkNSvhmMggK2KQTZfofW2MKpadgi4qy+0fpS5xcIklZ/wMnitobk0iDfzIRj/b/kyI7ZX4ZahS9J1oiq1jKn9/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=e3vx/B56FAnkbYZ5em02IpkAFRE38SGkkKYUvK1jLkg=; b=VuT4rRemoRLvShIXSEsLB1prCCClX1V1WqpWywdxTZYxIW/iSq9kUYTRT5dkAkxyMPRaODJr0dnCC3cQIi9/D6rFnBdK9NGWFtKHwrAi7odW9VPHorau1+Ct419SYx6z5vZapFST3e+MNJERVRNRMWmr92icWNHFqIXAntMoZ+yo2otwVUQERMWSMJHDUCPP4RCEHubt2cDkbDoudJBjebFPcdKVc24FBbTEgBZSUK6UokkM89huitXY3FGW6sztyVs4I95D5NTV1rwHePpj0wGZXjZ/gc6qOeBV7yRANicXpg4lfEmVn112uGknUCMfXpaVoeWp858UrWLchGLN8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e3vx/B56FAnkbYZ5em02IpkAFRE38SGkkKYUvK1jLkg=; b=BGQHXKAzGwh8zgFalo6neA8CuampEiWa8TzpaLQNdfKKKoikiuN5DTP5uC6BlNFkwymPeS25zQfl86SzcUYjVy8t+b54UpcY0n4cSea3PLL9mSC1/LteKpWf7EH9ZDVokX+cp5t4yv7ge0EbGPRR+XL/jY0jPSavCWih9x2NJy2crag/StqIIUIumuox3A09kkO4lrn3cBckv1q5mHuAnrJvPgFW7I91Sc376QQOOu5gmROZcSrzpSJBX0MdfPDGmrrZhu4zzfzlKN4mj8NCAyp8ohhn3TEmgzSZl8x4G+OUGdISdrO+qfvRNwX7woH1HUtgBCYmcT66C1pygKBGvQ== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM8PR01MB7617.eurprd01.prod.exchangelabs.com (2603:10a6:20b:241::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Wed, 25 May 2022 22:41:37 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5273.023; Wed, 25 May 2022 22:41:37 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 26 May 2022 00:41:28 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [hkMEWHqcna9TOpZ7OMgcbSCFEpbxUfz/] X-ClientProxiedBy: ZR0P278CA0008.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::18) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220525224128.790014-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c6796633-3cfc-4350-f485-08da3e9fb9ef X-MS-Exchange-SLBlob-MailProps: f36zkjAOy3UFAju/N0FeFh4sB1HPWZl6WqgTE+wAmsUmtiPBlxXaE13/D6Gs+pIE8ONiXeB1IFCoBxJr8JzLm9MiiCwUtykBX8qkkWz+TXucl6KXwEscm6R9hPaYkzzrZ9eIW4ln0sNPFnGk63S4FUb+oq126dPqT1vXk49biYHSIkhID0MZM0ZmNKT4cRDOfNZ5clb9m5YiK0jKUZtEJUEV4lA4IaTEQ7BaXu4xlIj9YyYBOVGFOQp/5sxUhsKwioCgXNZpN6Suix6jM59eeutc0LCiJCITbDbYfsu1M1/8jds57q6gHjBUbw2S2i/X7sJoDUUBRa4Lv7MzP3MDyRSy0i/lgejdOQcXHazzQKC9jw5OpCwNrZ/jSgvertkVTCHJIfSVduJL3C5+emD3Lf9EHd+gRyMTiFp6aI7cxcrLkVFWUU/4T5h+U/9NFz42M0nEuvHwiFBORXzj0lsZ/9MNLn1mA5b3eimECaO9brbq9hjKuka9cXqshHXcQ/uA3q9iHd5g0L9UL/RR2FI7YHutyFPueUkXUjwALdnlRJ6ha+zDImZ3SDKqKTEv1P+D1Bx1i36s724XCzcmIvjGnmZYdK5zCLuCTq/HkuYiaVtG1/iFk5blG0tDGisWXJiCmTMPWfFijJHJx0rryT5zfPJIOE8yOjP8Nbo+PTNT9aFpXnLxIACThafRT0+mlGdYJ7xANQfcs9i99AzNt+yYIuc90IiwDlR/Q/pNnxrGxRA= X-MS-TrafficTypeDiagnostic: AM8PR01MB7617:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LJPaaI+Lr7R5iRYwnxw4KSeZmAh3gRzAOBRI6lAsPiCMDRhLHCWJcBvkMUmqS11HwIMNmhWMYRGwcnNoBT0Lat7ELBTfauB9lHENQ7YhVv7L4CObnTkYoD7bsJOXuzt6ZTq36+oM1EYwco+3HATK4jTib45y2sd+PdrwiPfcO99hzq5B8AE4GsQTpIBaVcclJ82IPadv8/3tgFjacuuhVrPbAFmEHBpMqijKuEEoaxqMFzW7U5sYY81SFIOw/6zsjLCHaI3yf8qFdEC5NT0qTkWgSPx1pI4cU8mEi+1WCzlBm6uLu4bzuJl43NUPx5DJm4mIB2QQSqgRW/sA5x/ZQx11ztGsBgdgz7kHdR3fbvtgrwMn94Shv/WRGN3FFMbF5dxM89YpNfBEgWBQemacVNELQfXRJAsyTziEbL+hBjKNui7lAQ1BvZ5fzJ/yYhJCqy8sjJCYCeK3kyXcHG4O4ymSgMmd0E4A39HoKR/3fbeI9dOCPZaSenmYbxxusLKy2dDIqsOFsFqlGn/qZ20gu8GfW/i1wDKzMw0ihf9+szBmv+40BWnRvddUIPoAnctAJbubVZ2fvtMI6q1wAGY+0g== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wPYw33Pkfkos0dFq8WkKqmkz6Uemj01LBF4A1cv4b8tIw7MahSuI9P8wGmbAuBQBbJk30pUmKSqngEXdOfOwMDOIZsQHsO0IvUyxFDjEGp4LYyvD9zaAMylM3pdfv7Y7mi75DCQEWRg5IW45KMu59GHz5V0smRbrnGILozg8EpGMQ/iEM5DcvNEQ8GXoyBEpmL9C/wPsjdL2mukFPGTI8anMBWfIkct4u+kJyCq4hR6Gl+CwU3XWliLjeRzfgz3lhs4JnUK2hfD/LR1JPRDj0NcoS1dQUebq44zh5wJFmtt/hPRna2CX7DYZTQe81hvs0g9OnWm514vWdhrSas5jhljvWEgldMHku4Yx7aFSoTKw3OxNuLHu1De8h9e03UchTwHNXQdLir0tCOciPyn87XNcYU+TpVM65Kh5anPErC/q0c/QzMrOVU2DS0vYcx6y0E1zjghE5HbbKS3WKb/eCnzl9WKI03iMmoBYCWLsVshChWbmoxSpLYyFVg/1pL/B1cPisIlWADt3tiKsl6O3PDkZY+izqRJ0+qTqXPYs0c0X7mGuvW6kZ95AyXaWxdvqCMmHCV6h+UR2oXbNZRtx/CkrZ+yAeg/TKH9xJLagQZxZkdVqbBT6QWlTiKeSJGBBaUFP+k99vbpvC7GwBWGaeDLhJT8DwOZoVbYvsdus5J5pBS57you+tHHENQR5NTbdIaLuZsdFk6SZ/qgYMosQRXzHk1I+btNS3rro1I2oneZwBb/TY/BFo0Lfnzch54appxLU+mF25gEyOTVq+gh5HG38GSuVFVy6jbGDkkqEwezNPM93InDugjKx54vJ48rLybUqWmpzm2/c+mWIntJ1ExIvvrjggwRcxehQUWLLsvnD6dTVa9B5j/Y0ctdLqNPzssAFDqK0b1JzaDRPXUykmSN7eEZqJ9OhpGx6qxdb3G72nqOka7DUPOn0IiYfqVTSsDZRDbx4eO8u6RtPwoy5kBThaOB2SnraTjtIIhTmd23SPLmS3Rdx2OY/lqOUevoVqSPXFztPL+oc6saz+X6wGmnoogvJT5fNuPJcUhRSIo1QRWAdPODvTVxPKHbPvxcDl2nLqTn16aJ275ifE3bIo4J04DaYSAlOLSRoryu35DZCV200TvNN6sFWe3c+P/pezr6gvQOgmdpdy+mR+b4B09jTquM9RXVDSZc3l5RRhVZjULgUbgjEUektN8PVvvEJzn1zLUbxtC0+WEyoGIhO4rk8MYG2dIzaDBrmhAkZbtJqpoWfx1RnAWysHO86DHIs4ebPHPcsURyRp48EheDj+zND1XkI4Ek3iBOyZk0yoi3Igh8HpHc9MjzsvWPa7uZCx/M7tASucaylpYCdBKtNusS10JyKA6lDHIHRNX4kUXn1CkWbwaE8haCVu94bGtAgygSUp3k5F7Ug9rHwJ6QiDw6SktN66Lbm2xCzpJwjLfWNAg4ULXQx01abrkQMh05WqK/lbgflSonzCAvujbCiBw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6796633-3cfc-4350-f485-08da3e9fb9ef X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2022 22:41:37.0485 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR01MB7617 Subject: [FFmpeg-devel] [PATCH] fate/ffmpeg: Fix test requirements 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 3wFMlEYW/rte Signed-off-by: Andreas Rheinhardt --- tests/Makefile | 1 + tests/fate/ffmpeg.mak | 122 +++++++++++++++++------------------------- 2 files changed, 49 insertions(+), 74 deletions(-) diff --git a/tests/Makefile b/tests/Makefile index 5677364471..035bdf783e 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -174,6 +174,7 @@ include $(SRC_PATH)/tests/fate/dpcm.mak include $(SRC_PATH)/tests/fate/dvvideo.mak include $(SRC_PATH)/tests/fate/ea.mak include $(SRC_PATH)/tests/fate/exif.mak +# Must be included after lavf-video.mak include $(SRC_PATH)/tests/fate/ffmpeg.mak include $(SRC_PATH)/tests/fate/ffprobe.mak include $(SRC_PATH)/tests/fate/fft.mak diff --git a/tests/fate/ffmpeg.mak b/tests/fate/ffmpeg.mak index 9d14a96e13..94f50423be 100644 --- a/tests/fate/ffmpeg.mak +++ b/tests/fate/ffmpeg.mak @@ -1,20 +1,20 @@ -FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2 +FATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV, MD5_PROTOCOL) += fate-mapchan-6ch-extract-2 fate-mapchan-6ch-extract-2: tests/data/asynth-22050-6.wav fate-mapchan-6ch-extract-2: CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-22050-6.wav -map_channel 0.0.0 -fflags +bitexact -f wav md5: -map_channel 0.0.1 -fflags +bitexact -f wav md5: -FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2-downmix-mono +FATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-mapchan-6ch-extract-2-downmix-mono fate-mapchan-6ch-extract-2-downmix-mono: tests/data/asynth-22050-6.wav fate-mapchan-6ch-extract-2-downmix-mono: CMD = md5 -auto_conversion_filters -i $(TARGET_PATH)/tests/data/asynth-22050-6.wav -map_channel 0.0.1 -map_channel 0.0.0 -ac 1 -fflags +bitexact -f wav -FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-silent-mono +FATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-mapchan-silent-mono fate-mapchan-silent-mono: tests/data/asynth-22050-1.wav fate-mapchan-silent-mono: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-22050-1.wav -map_channel -1 -map_channel 0.0.0 -fflags +bitexact -f wav -FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-2ch-extract-ch0-ch2-trailing +FATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-mapchan-2ch-extract-ch0-ch2-trailing fate-mapchan-2ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-2.wav fate-mapchan-2ch-extract-ch0-ch2-trailing: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-44100-2.wav -map_channel 0.0.0 -map_channel 0.0.2? -fflags +bitexact -f wav -FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-3ch-extract-ch0-ch2-trailing +FATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-mapchan-3ch-extract-ch0-ch2-trailing fate-mapchan-3ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-3.wav fate-mapchan-3ch-extract-ch0-ch2-trailing: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-44100-3.wav -map_channel 0.0.0 -map_channel 0.0.2? -fflags +bitexact -f wav @@ -23,25 +23,25 @@ FATE_MAPCHAN = $(FATE_MAPCHAN-yes) FATE_FFMPEG += $(FATE_MAPCHAN) fate-mapchan: $(FATE_MAPCHAN) -FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-filter_complex +FATE_FFMPEG-$(call FILTERFRAMECRC, COLOR) += fate-ffmpeg-filter_complex fate-ffmpeg-filter_complex: CMD = framecrc -filter_complex color=d=1:r=5 -fflags +bitexact # Ticket 6603 -FATE_FFMPEG-$(call ALLYES, AEVALSRC_FILTER ASETNSAMPLES_FILTER AC3_FIXED_ENCODER) += fate-ffmpeg-filter_complex_audio +FATE_FFMPEG-$(call FILTERFRAMECRC, AEVALSRC ASETNSAMPLES ARESAMPLE, AC3_FIXED_ENCODER) += fate-ffmpeg-filter_complex_audio fate-ffmpeg-filter_complex_audio: CMD = framecrc -auto_conversion_filters -filter_complex "aevalsrc=0:d=0.1,asetnsamples=1537" -c ac3_fixed # Ticket 6375, use case of NoX -FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER PNG_DECODER ALAC_DECODER PCM_S16LE_ENCODER RAWVIDEO_ENCODER) += fate-ffmpeg-attached_pics -fate-ffmpeg-attached_pics: CMD = threads=2 framecrc -i $(TARGET_SAMPLES)/lossless-audio/inside.m4a -c:a pcm_s16le -threads 1 -max_muxing_queue_size 16 -af aresample +FATE_SAMPLES_FFMPEG-$(call FRAMECRC, MOV, PNG ALAC, ARESAMPLE_FILTER) += fate-ffmpeg-attached_pics +fate-ffmpeg-attached_pics: CMD = threads=2 framecrc -i $(TARGET_SAMPLES)/lossless-audio/inside.m4a -threads 1 -max_muxing_queue_size 16 -af aresample -FATE_SAMPLES_FFMPEG-$(CONFIG_COLORKEY_FILTER) += fate-ffmpeg-filter_colorkey +FATE_SAMPLES_FFMPEG-$(call FILTERDEMDEC, COLORKEY OVERLAY SCALE, MPEGPS IMAGE_PPM_PIPE, CAVS PPM, CAVSVIDEO_PARSER) += fate-ffmpeg-filter_colorkey fate-ffmpeg-filter_colorkey: tests/data/filtergraphs/colorkey fate-ffmpeg-filter_colorkey: CMD = framecrc -auto_conversion_filters -idct simple -fflags +bitexact -flags +bitexact -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/cavs/cavs.mpg -fflags +bitexact -flags +bitexact -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/lena.pnm -an -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/colorkey -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -qscale 2 -frames:v 10 -FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-lavfi +FATE_FFMPEG-$(call FILTERFRAMECRC, COLOR) += fate-ffmpeg-lavfi fate-ffmpeg-lavfi: CMD = framecrc -lavfi color=d=1:r=5 -fflags +bitexact -FATE_SAMPLES_FFMPEG-$(CONFIG_RAWVIDEO_DEMUXER) += fate-force_key_frames +FATE_SAMPLES_FFMPEG-$(call ENCDEC2, MPEG4, RAWVIDEO, AVI, RAWVIDEO_DEMUXER FRAMECRC_MUXER) += fate-force_key_frames fate-force_key_frames: tests/data/vsynth_lena.yuv fate-force_key_frames: CMD = enc_dec \ "rawvideo -s 352x288 -pix_fmt yuv420p" tests/data/vsynth_lena.yuv \ @@ -51,10 +51,10 @@ fate-force_key_frames: CMD = enc_dec \ # Tests that the video is properly autorotated using the contained # display matrix and that the generated file does not contain # a display matrix any more. -FATE_SAMPLES_FFMPEG_FFPROBE-$(call ALLYES, FILE_PROTOCOL MOV_DEMUXER H264_DECODER AAC_FIXED_DECODER MPEG2VIDEO_ENCODER AC3_FIXED_ENCODER MOV_MUXER MPEG2VIDEO_DECODER EXTRACT_EXTRADATA_BSF PIPE_PROTOCOL FRAMECRC_MUXER) += fate-autorotate +FATE_SAMPLES_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG2VIDEO, MOV, H264_DECODER AAC_FIXED_DECODER AC3_FIXED_ENCODER EXTRACT_EXTRADATA_BSF) += fate-autorotate fate-autorotate: CMD = transcode "mov -c:a aac_fixed" $(TARGET_SAMPLES)/filter/sample-in-issue-505.mov mov "-c:v mpeg2video -c:a ac3_fixed" "-c copy -t 0.5" "-show_entries stream_side_data_list" -FATE_SAMPLES_FFMPEG-$(call ALLYES, VOBSUB_DEMUXER DVDSUB_DECODER AVFILTER OVERLAY_FILTER DVDSUB_ENCODER) += fate-sub2video +FATE_SAMPLES_FFMPEG-$(call FILTERDEMDEC, OVERLAY SCALE, RAWVIDEO VOBSUB, RAWVIDEO DVDSUB, DVDSUB_ENCODER) += fate-sub2video fate-sub2video: tests/data/vsynth_lena.yuv fate-sub2video: CMD = framecrc -auto_conversion_filters \ -f rawvideo -r 5 -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv \ @@ -64,7 +64,7 @@ fate-sub2video: CMD = framecrc -auto_conversion_filters \ # Very basic sub2video example, decode and convert to AVFrame with sub2video. # Attempt to not touch timestamps. -FATE_SAMPLES_FFMPEG-$(call ALLYES, VOBSUB_DEMUXER DVDSUB_DECODER AVFILTER) += fate-sub2video_basic +FATE_SAMPLES_FFMPEG-$(call FRAMECRC, VOBSUB, DVDSUB, SCALE_FILTER) += fate-sub2video_basic fate-sub2video_basic: CMD = framecrc -auto_conversion_filters \ -i $(TARGET_SAMPLES)/sub/vobsub.idx \ -vsync passthrough -copyts \ @@ -73,7 +73,7 @@ fate-sub2video_basic: CMD = framecrc -auto_conversion_filters \ # Time-limited run with a sample that doesn't require seeking and # contains samples within the initial period. -FATE_SAMPLES_FFMPEG-$(call ALLYES, SUP_DEMUXER PGSSUB_DECODER AVFILTER) += fate-sub2video_time_limited +FATE_SAMPLES_FFMPEG-$(call FRAMECRC, SUP, PGSSUB, SCALE_FILTER RAWVIDEO_ENCODER) += fate-sub2video_time_limited fate-sub2video_time_limited: CMD = framecrc -auto_conversion_filters \ -i $(TARGET_SAMPLES)/sub/pgs_sub.sup \ -vsync passthrough -copyts \ @@ -81,79 +81,70 @@ fate-sub2video_time_limited: CMD = framecrc -auto_conversion_filters \ -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:s:0]scale" \ -c:v rawvideo -threads 1 -FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER PCM_S16LE_MUXER PCM_S16LE_DECODER PCM_S16LE_ENCODER) += fate-unknown_layout-pcm +FATE_FFMPEG-$(call ENCDEC, PCM_S16LE, PCM_S16LE) += fate-unknown_layout-pcm fate-unknown_layout-pcm: $(AREF) fate-unknown_layout-pcm: CMD = md5 \ -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) -f s16le -FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER AC3_MUXER PCM_S16LE_DECODER AC3_FIXED_ENCODER) += fate-unknown_layout-ac3 +FATE_FFMPEG-$(call FILTERDEMDECENCMUX, ARESAMPLE, PCM_S32LE, PCM_S32LE, AC3_FIXED, AC3) += fate-unknown_layout-ac3 fate-unknown_layout-ac3: $(AREF) fate-unknown_layout-ac3: CMD = md5 -auto_conversion_filters \ -guess_layout_max 0 -f s32le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) \ -f ac3 -flags +bitexact -c ac3_fixed -FATE_SAMPLES_FFMPEG-$(call ALLYES, FILE_PROTOCOL LAVFI_INDEV RAWVIDEO_DEMUXER \ - SINE_FILTER PCM_S16LE_DECODER RAWVIDEO_DECODER \ - ARESAMPLE_FILTER AMIX_FILTER MPEG4_ENCODER \ - AC3_FIXED_ENCODER FRAMECRC_MUXER PIPE_PROTOCOL) \ +FATE_SAMPLES_FFMPEG-$(call FILTERDEMDEC, AMIX ARESAMPLE SINE, RAWVIDEO, \ + PCM_S16LE RAWVIDEO, LAVFI_INDEV \ + MPEG4_ENCODER AC3_FIXED_ENCODER) \ += fate-shortest fate-shortest: tests/data/vsynth_lena.yuv fate-shortest: CMD = framecrc -auto_conversion_filters -f lavfi -i "sine=3000:d=10" -f lavfi -i "sine=1000:d=1" -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -f rawvideo -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv -filter_complex "[0:a:0][1:a:0]amix=inputs=2[audio]" -map 2:v:0 -map "[audio]" -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -dct fastint -qscale 10 -threads 1 -c:v mpeg4 -c:a ac3_fixed -shortest # Basic test for fix_sub_duration, which calculates duration based on the # following subtitle's pts. -FATE_SAMPLES_FFMPEG-$(call ALLYES, LAVFI_INDEV MOVIE_FILTER FILE_PROTOCOL \ - PIPE_PROTOCOL MPEGVIDEO_DEMUXER \ - MPEG2VIDEO_DECODER CCAPTION_DECODER \ - SUBRIP_ENCODER SRT_MUXER) \ +FATE_SAMPLES_FFMPEG-$(call FILTERDEMDECENCMUX, MOVIE, MPEGVIDEO, \ + MPEG2VIDEO, SUBRIP, SRT, LAVFI_INDEV \ + MPEGVIDEO_PARSER CCAPTION_DECODER PIPE_PROTOCOL) \ += fate-ffmpeg-fix_sub_duration fate-ffmpeg-fix_sub_duration: CMD = fmtstdout srt -fix_sub_duration \ -real_time 1 -f lavfi \ -i "movie=$(TARGET_SAMPLES)/sub/Closedcaption_rollup.m2v[out0+subcc]" -FATE_STREAMCOPY-$(call ALLYES, EAC3_DEMUXER MOV_MUXER) += fate-copy-trac3074 -fate-copy-trac3074: $(SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3 +FATE_STREAMCOPY-$(call REMUX, MP4 MOV, EAC3_DEMUXER) += fate-copy-trac3074 fate-copy-trac3074: CMD = transcode eac3 $(TARGET_SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3\ mp4 "-codec copy -map 0" "-codec copy" -FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-trac236 -fate-copy-trac236: $(SAMPLES)/mov/fcp_export8-236.mov +FATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO DVVIDEO, MOV, PCM_S16LE_DECODER) += fate-copy-trac236 fate-copy-trac236: CMD = transcode mov $(TARGET_SAMPLES)/mov/fcp_export8-236.mov\ mov "-codec copy -map 0" -FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER MXF_MUXER PCM_S16LE_ENCODER) += fate-copy-trac4914 -fate-copy-trac4914: $(SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts +FATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO MPEG2VIDEO, MXF, MPEGTS_DEMUXER MPEGVIDEO_PARSER MPEGAUDIO_PARSER MP2_DECODER ARESAMPLE_FILTER PCM_S16LE_DECODER) += fate-copy-trac4914 fate-copy-trac4914: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\ mxf "-c:a pcm_s16le -af aresample -c:v copy" -FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER AVI_MUXER) += fate-copy-trac4914-avi -fate-copy-trac4914-avi: $(SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts +FATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO MPEG2VIDEO, AVI, MPEGTS_DEMUXER MPEGVIDEO_PARSER MPEGAUDIO_PARSER EXTRACT_EXTRADATA_BSF MP2_DECODER ARESAMPLE_FILTER) += fate-copy-trac4914-avi fate-copy-trac4914-avi: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\ avi "-c:a copy -c:v copy" "-af aresample" -FATE_STREAMCOPY-$(call ALLYES, H264_DEMUXER AVI_MUXER) += fate-copy-trac2211-avi -fate-copy-trac2211-avi: $(SAMPLES)/h264/bbc2.sample.h264 +FATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO H264, AVI, H264_DEMUXER H264_PARSER EXTRACT_EXTRADATA_BSF) += fate-copy-trac2211-avi fate-copy-trac2211-avi: CMD = transcode "h264 -r 14" $(TARGET_SAMPLES)/h264/bbc2.sample.h264\ - avi "-c:a copy -c:v copy" + avi "-c:v copy" -FATE_STREAMCOPY-$(call ENCDEC, APNG, APNG) += fate-copy-apng +ifneq (,$(filter fate-lavf-apng,$(FATE_LAVF_VIDEO))) +FATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO APNG, APNG) += fate-copy-apng +endif fate-copy-apng: fate-lavf-apng fate-lavf-apng: KEEP_FILES ?= 1 fate-copy-apng: CMD = transcode apng tests/data/lavf/lavf.apng apng "-c:v copy" FATE_STREAMCOPY-$(call DEMMUX, OGG, OGG) += fate-limited_input_seek fate-limited_input_seek-copyts -fate-limited_input_seek: $(SAMPLES)/vorbis/moog_small.ogg fate-limited_input_seek: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -fflags +bitexact -f ogg -fate-limited_input_seek-copyts: $(SAMPLES)/vorbis/moog_small.ogg fate-limited_input_seek-copyts: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -copyts -fflags +bitexact -f ogg -FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-psp -fate-copy-psp: $(SAMPLES)/h264/wwwq_cut.mp4 +FATE_STREAMCOPY-$(call REMUX, PSP MOV, H264_PARSER H264_DECODER) += fate-copy-psp fate-copy-psp: CMD = transcode "mov" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\ psp "-c copy" "-codec copy" -FATE_STREAMCOPY-$(CONFIG_FLV_DEMUXER) += fate-ffmpeg-streamloop -fate-ffmpeg-streamloop: $(SAMPLES)/flv/streamloop.flv +FATE_STREAMCOPY-$(call FRAMEMD5, FLV, H264) += fate-ffmpeg-streamloop fate-ffmpeg-streamloop: CMD = framemd5 -stream_loop 2 -i $(TARGET_SAMPLES)/flv/streamloop.flv -c copy tests/data/audio_shorter_than_video.nut: TAG = GEN @@ -165,65 +156,48 @@ tests/data/audio_shorter_than_video.nut: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -dct fastint -qscale 10 -c:v mpeg4 -threads 1 -c:a pcm_s16le -bitexact \ -y $(TARGET_PATH)/tests/data/audio_shorter_than_video.nut 2>/dev/null -FATE_STREAMCOPY-$(call ALLYES, FILE_PROTOCOL RAWVIDEO_DEMUXER LAVFI_INDEV \ - RAWVIDEO_DECODER PCM_S16LE_DECODER MPEG4_ENCODER \ - PCM_S16LE_ENCODER SINE_FILTER NUT_DEMUXER \ - MPEG4_DECODER ARESAMPLE_FILTER AMIX_FILTER \ - NUT_MUXER AC3_FIXED_ENCODER PIPE_PROTOCOL) \ - += fate-copy-shortest1 -fate-copy-shortest1: tests/data/audio_shorter_than_video.nut +FATE_STREAMCOPY-$(call FRAMEMD5, NUT, RAWVIDEO PCM_S16LE MPEG4, \ + RAWVIDEO_DEMUXER LAVFI_INDEV \ + MPEG4_ENCODER PCM_S16LE_ENCODER \ + SINE_FILTER ARESAMPLE_FILTER AMIX_FILTER \ + NUT_MUXER AC3_FIXED_ENCODER) \ + += fate-copy-shortest1 fate-copy-shortest2 +fate-copy-shortest1 fate-copy-shortest2: tests/data/audio_shorter_than_video.nut fate-copy-shortest1: CMD = framemd5 -auto_conversion_filters -fflags +bitexact -flags +bitexact -f lavfi -i "sine=3000:d=10" -f lavfi -i "sine=1000:d=1" -i $(TARGET_PATH)/tests/data/audio_shorter_than_video.nut -filter_complex "[0:a:0][1:a:0]amix=inputs=2[audio]" -map 2:v:0 -map "[audio]" -fflags +bitexact -flags +bitexact -c:v copy -c:a ac3_fixed -shortest - -FATE_STREAMCOPY-$(call ALLYES, FILE_PROTOCOL RAWVIDEO_DEMUXER LAVFI_INDEV \ - RAWVIDEO_DECODER PCM_S16LE_DECODER MPEG4_ENCODER \ - PCM_S16LE_ENCODER SINE_FILTER NUT_DEMUXER \ - MPEG4_DECODER ARESAMPLE_FILTER AMIX_FILTER \ - NUT_MUXER AC3_FIXED_ENCODER PIPE_PROTOCOL) \ - += fate-copy-shortest2 -fate-copy-shortest2: tests/data/audio_shorter_than_video.nut fate-copy-shortest2: CMD = framemd5 -auto_conversion_filters -fflags +bitexact -flags +bitexact -f lavfi -i "sine=3000:d=10" -i $(TARGET_PATH)/tests/data/audio_shorter_than_video.nut -filter_complex "[0:a:0][1:a:0]amix=inputs=2[audio]" -map 1:v:0 -map "[audio]" -fflags +bitexact -flags +bitexact -c:v copy -c:a ac3_fixed -shortest fate-streamcopy: $(FATE_STREAMCOPY-yes) -FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER MATROSKA_MUXER) += fate-rgb24-mkv -fate-rgb24-mkv: $(SAMPLES)/qtrle/aletrek-rle.mov +FATE_SAMPLES_FFMPEG-$(call TRANSCODE, RAWVIDEO, MATROSKA, MOV_DEMUXER QTRLE_DECODER) += fate-rgb24-mkv fate-rgb24-mkv: CMD = transcode "mov" $(TARGET_SAMPLES)/qtrle/aletrek-rle.mov\ matroska "-c:v rawvideo -threads 1 -pix_fmt rgb24 -allow_raw_vfw 1 -frames:v 1" -FATE_SAMPLES_FFMPEG-$(call ALLYES, AAC_DEMUXER MOV_MUXER) += fate-adtstoasc_ticket3715 -fate-adtstoasc_ticket3715: $(SAMPLES)/aac/foo.aac +FATE_SAMPLES_FFMPEG-$(call REMUX, MOV, AAC_DEMUXER AAC_DECODER AAC_PARSER AAC_ADTSTOASC_BSF) += fate-adtstoasc_ticket3715 fate-adtstoasc_ticket3715: CMD = transcode "aac" $(TARGET_SAMPLES)/aac/foo.aac\ mov "-c copy -bsf:a aac_adtstoasc" "-codec copy" -FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket2991 -fate-h264_mp4toannexb_ticket2991: $(SAMPLES)/h264/wwwq_cut.mp4 +FATE_SAMPLES_FFMPEG-$(call REMUX, H264, MOV_DEMUXER H264_MP4TOANNEXB_BSF H264_PARSER H264_DECODER EXTRACT_EXTRADATA_BSF) += fate-h264_mp4toannexb_ticket2991 fate-h264_mp4toannexb_ticket5927 fate-h264_mp4toannexb_ticket5927_2 fate-h264_mp4toannexb_ticket2991: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\ h264 "-c:v copy -bsf:v h264_mp4toannexb" "-codec copy" - -FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket5927 fate-h264_mp4toannexb_ticket5927_2 fate-h264_mp4toannexb_ticket5927: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \ h264 "-c:v copy -bsf:v h264_mp4toannexb -an" "-c:v copy" fate-h264_mp4toannexb_ticket5927_2: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \ h264 "-c:v copy -an" "-c:v copy" -FATE_SAMPLES_FFMPEG-$(call ALLYES, MPEGPS_DEMUXER AVI_MUXER REMOVE_EXTRADATA_BSF) += fate-ffmpeg-bsf-remove-k fate-ffmpeg-bsf-remove-r fate-ffmpeg-bsf-remove-e -fate-ffmpeg-bsf-remove-k: $(SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg +FATE_SAMPLES_FFMPEG-$(call TRANSCODE, MPEG4 MPEG2VIDEO, AVI, MPEGPS_DEMUXER MPEGVIDEO_DEMUXER MPEGVIDEO_PARSER EXTRACT_EXTRADATA_BSF REMOVE_EXTRADATA_BSF) += fate-ffmpeg-bsf-remove-k fate-ffmpeg-bsf-remove-r fate-ffmpeg-bsf-remove-e fate-ffmpeg-bsf-remove-k: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\ avi "-vbsf remove_extra=k" "-codec copy" -fate-ffmpeg-bsf-remove-r: $(SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg fate-ffmpeg-bsf-remove-r: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\ avi "-vbsf remove_extra=keyframe" "-codec copy" -fate-ffmpeg-bsf-remove-e: $(SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg fate-ffmpeg-bsf-remove-e: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\ avi "-vbsf remove_extra=e" "-codec copy" -FATE_SAMPLES_FFMPEG-$(call ALLYES, APNG_DEMUXER SETTS_BSF) += fate-ffmpeg-setts-bsf +FATE_SAMPLES_FFMPEG-$(call DEMMUX, APNG, FRAMECRC, SETTS_BSF PIPE_PROTOCOL) += fate-ffmpeg-setts-bsf fate-ffmpeg-setts-bsf: CMD = framecrc -i $(TARGET_SAMPLES)/apng/clock.png -c:v copy -bsf:v "setts=duration=if(eq(NEXT_PTS\,NOPTS)\,PREV_OUTDURATION\,(NEXT_PTS-PTS)/2):ts=PTS/2" -fflags +bitexact FATE_SAMPLES_FFMPEG-yes += $(FATE_STREAMCOPY-yes) -FATE_TIME_BASE-$(call ALLYES, MPEGPS_DEMUXER MXF_MUXER) += fate-time_base -fate-time_base: $(SAMPLES)/mpeg2/dvd_single_frame.vob +FATE_TIME_BASE-$(call PARSERDEMDEC, MPEGVIDEO, MPEGPS, MPEG2VIDEO, MPEGVIDEO_DEMUXER MXF_MUXER) += fate-time_base fate-time_base: CMD = md5 -i $(TARGET_SAMPLES)/mpeg2/dvd_single_frame.vob -an -sn -c:v copy -r 25 -time_base 1001:30000 -fflags +bitexact -f mxf FATE_SAMPLES_FFMPEG-yes += $(FATE_TIME_BASE-yes)