From patchwork Sun Oct 1 23:20:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 5365 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.61.8 with SMTP id n8csp915126jan; Sun, 1 Oct 2017 16:20:45 -0700 (PDT) X-Received: by 10.223.150.25 with SMTP id b25mr498769wra.147.1506900045278; Sun, 01 Oct 2017 16:20:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1506900045; cv=none; d=google.com; s=arc-20160816; b=Av7vEQA90rcEWdaR7HR7lcl/OTGevzQY6wp0k2u6BFl5LVpJvOXch7KArmfzgI5brq 54GZLXkvexcjv8iZezEvKHgEIpaW1lS6CbAo6GCDKi4INbgVkeuADJreZ7KVy9/ceM95 tzQjmd3vMncYIyEmzyt9zV3fD6nWX9Kvaxj8mw+IJxJcgLgQmJ7c7CNj8KD7/37q8v+o DyOtkqLsLoOy4NWi6EtB5v9RndawVRsKUeI600j26dao3nqjIr/2VbgNyiigjNUgPgvQ tx5NwEQJfnydVws38W1McrZ44Is2Lk1KdJdLQW8/gx/3YvCnohx4aW1tP1Y5ZV6UjhZg XCYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:mime-version:dkim-signature:delivered-to :arc-authentication-results; bh=EUYSU/NtiX7/QBVRDW8JfQWVOEFMomDsm4BJ0d7bfk4=; b=mIoY4i/xwDOV1cnarXB0qbVHeHTQR/5/CK/SwT4VcVkITv8xOsdbjsNCKCfUlzRuIX ywyIBhQqQpzFLwH1wtOtnikcLWavSqPqC9FWBqHMV4g7wBlYQAQwV+CPSWApZSmBboqQ Wymp/o9mPlWcmVo+vF8TnkYNwt+VXqAeO6ko6+7yafmNEUBK0dVOnmGWVGaAXpoj8nNf NYbQa2Au18mKQ+n1kWpHLEdz8QF4JhM4tzMsK5Es9tzKQoR6cRbyOZDHAra9fvTq9G7j bZTu06HQPelTAQLWBDsXGQHtXtNLgORzUOO/Xqro7PG4SjGz3WPnRiFy0fs3DzeHL+kl UV3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=ad3Nb2l1; 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=NONE 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 k9si6751600wmg.223.2017.10.01.16.20.44; Sun, 01 Oct 2017 16:20:45 -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=20161025 header.b=ad3Nb2l1; 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=NONE 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 C92B0689D37; Mon, 2 Oct 2017 02:20:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-io0-f174.google.com (mail-io0-f174.google.com [209.85.223.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D7475689751 for ; Mon, 2 Oct 2017 02:20:22 +0300 (EEST) Received: by mail-io0-f174.google.com with SMTP id q11so3491812ioe.10 for ; Sun, 01 Oct 2017 16:20:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=i6Nj1ubp0qxS2tLRKlru86vhgY1TnFTO1zv+o5ZjR7g=; b=ad3Nb2l1xpypf0AL6GQetVrWeiaYNKDLK7+GpwwIvmTUDMGfDIIsquI782Sfk1ykr3 q7PgTkj9YRSM1FnbjuJVWrfDUUOS3nqlNQHbhIjkN3mBI+W5XhpZle+tgceIJ/ehk6XZ TjJvvGWl+FJ+gDUUBZpk7mTzlkgK3nwWE5QjfjknoKyCqPPlm70CxVOIDbJJHX30iCEG dJkyhzZ+7gk6yluZFwtEqRKZEisaDW+fkmVkWV2kN4A0JQLGZd1KyKR4cvPVN8MbHuzr K/8faMU7sGOuvdkBg0kDTzi41/blMzphvMmG7Md8iyC6pZEhovx3D1N/ZcdD47rqFfQj lWbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=i6Nj1ubp0qxS2tLRKlru86vhgY1TnFTO1zv+o5ZjR7g=; b=o/INDaSuokUa03QkT6ahuhAoW3rOq8E4mmtpf1JqJ2O5wvKVy3QPJkHQoZsn+3Hud5 lCeam3LNXAhgXDZYwHbE5GidUAu04tbLF232m8ACWW1b6BS6ErTFgiN1tqin6YGmeTU2 jIC/RMAaDMogunXBQhs0go/tdxxfTceJFIAAC9Hp5GWov29W7xyWHwQJECTOirdOMshm 3jKdpSmBaaeKwp0rVKUZUoitBLYVm1cJ98t3pcPpYFTzFtCDP18RQkAbnfO6tin2KdAL UqArwjxUZ8QzvVvNjxy1A5T/w0DRN/z29+KOgoavLISklf62BqdvK3kmfPBnQn6XQumb 3mew== X-Gm-Message-State: AMCzsaU7vbEi33GLUsv0kJ4pAcwJVM8Na33iDy3LcEzehgO4vjONiAFA OEns7/X8e4UoKs/L2SYxhHfKlD3b85urf+jadNs= X-Google-Smtp-Source: AOwi7QBJgxBz44YxRk9z2v25oMxb0DdSgyBdc5sSvunfmukl9GbHoBJvSqAPFRpx2kgwO6yAyC8LKsyorN3VjStxoDk= X-Received: by 10.107.162.3 with SMTP id l3mr23556472ioe.227.1506900035881; Sun, 01 Oct 2017 16:20:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.2.81.137 with HTTP; Sun, 1 Oct 2017 16:20:15 -0700 (PDT) From: Carl Eugen Hoyos Date: Mon, 2 Oct 2017 01:20:15 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]lavf/img2dec: Auto-detect svg images 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hi! Attached patch implements auto-detection of svg images. Please review, Carl Eugen From f06137f38f166740565e58d5c7c88777508f59ec Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Mon, 2 Oct 2017 01:13:29 +0200 Subject: [PATCH] lavf/img2dec: Auto-detect svg images. --- libavformat/img2dec.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index 19cae87..468c820 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -34,6 +34,7 @@ #include "internal.h" #include "img2.h" #include "libavcodec/mjpeg.h" +#include "subtitles.h" #if HAVE_GLOB /* Locally define as 0 (bitwise-OR no-op) any missing glob options that @@ -875,8 +876,20 @@ static int sunrast_probe(AVProbeData *p) static int svg_probe(AVProbeData *p) { - if (av_match_ext(p->filename, "svg") || av_match_ext(p->filename, "svgz")) - return AVPROBE_SCORE_EXTENSION + 1; + const uint8_t *b = p->buf; + const uint8_t *end = p->buf + p->buf_size; + if (memcmp(p->buf, "= end) + return 0; + if (!strstr(b, "