From patchwork Thu May 19 23:15:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35840 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:9992:b0:82:461d:f3b with SMTP id ve18csp321521pzb; Thu, 19 May 2022 16:15:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzRKauW4QsYxIiVk4WtbGv9tdWuyf2MogT/DkooZLk3CsKfxHaMMM5u77ERZ7v6MxVFA+EJ X-Received: by 2002:a05:6402:4394:b0:42a:e84c:2cfb with SMTP id o20-20020a056402439400b0042ae84c2cfbmr8129814edc.97.1653002136665; Thu, 19 May 2022 16:15:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653002136; cv=none; d=google.com; s=arc-20160816; b=EKEUlBvsnuqKbeZ2ptKYh1Y+wNLM4mo92ydghMg9ExjG1s572LRQA0wRNzLxe0rTaG xFgTxDqHkAIYr9Q9E7UvCdpUeey1KKRQ6yJlGwN3INwk1RFI1EnxTC6KyxVk/bt9l3nH ZGfqyE4L5ikXUYwYYU5kpjH/qmSxqOD/nJlFt3Lwo6/KPaGfHABA/f1MHSNWBKIM2o+q uwmX/C3Iu+PjxpgZMAqkQ+cCB+WW7Aj/4WSIuV96KoxbAPZ8n5dLpfZ61FsWpvSkELHg /a0N6qo6Qe+E2OAEUvR5cIdSsfHgfi42oFdoaaGZMFJuyc3DF4RtKF4vn1ntkpPsb8aI RnQg== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=ybKFwEaoEmNGwfFRRIdfaW0p/Vch0maHRqn5T5MnzRU=; b=0Y+ManolR369u9UBnE4WWexjMQQIRv1BRG0NUgFk91Oylz32zJ/6BBWDcD3WBtg2ra h+QDB01UeafIg3QEI8Kdh2y9LdvAOVMR62AQmc/QZc4PjBVkT3+6b28lQqqt/XVPlAAA OyMJW1/w2RlVVO8+NPSnDt3A6eGCxSTS1pSQ0w7fxXcXf5qYfEXQvIVKV8BJNd7BOJY7 4pmKhkSm1bBG79d1hMK2rvvfktbBfx/wOR5SQzIyWcXwRD5tqX1vSTXREUhjQ/WIxGAO Ym+C60qYMiFN/anLeXmUsTmC/6nD3VEzEuH0gU/KzRN+VMd0B3Kx+7CNLVudwDR1lL6h 6/iA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=lS1jt7Rx; 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 j11-20020a05640211cb00b00427c774ae35si308579edw.310.2022.05.19.16.15.36; Thu, 19 May 2022 16:15:36 -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=lS1jt7Rx; 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 EA9AD68B4E1; Fri, 20 May 2022 02:15:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 84EE568B48F for ; Fri, 20 May 2022 02:15:18 +0300 (EEST) Received: by mail-pf1-f175.google.com with SMTP id bo5so6338270pfb.4 for ; Thu, 19 May 2022 16:15:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=uulbtmIky/jbci4r7YbzEyBWG0sN2r94tWbYVQhGf5Y=; b=lS1jt7RxT9gj0dKQc9XuB32hVpbyzA6JrplgI4MOywEXUwoD9c5qIRmbQ4T+P8kKZz F6g+VMhFUr2lpaDJ27vQKHvFA4R515ZSs9SOfVH42nJ+k/ljEMAPyUeH2zpsjKlQLYPw pwGRH0B/sFOSK7p1dnwDo6M3xPdHI3f64SSx/npAXp6ORnbcUIde1IZ3tGEtH9O0/L+r Z8J/G1rQcRiJZv95WYkM49RE9/ZbJh8xgc0osym8U2Jw0zDzLDM6i1i95DDW0DWvKyZ7 rpvESq1xY58/P/W3xfQ3ymcN6ymidhJjXz78k1qQ0jdNw2GF81RVXBY6RkGKywXq/TBu kTMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=uulbtmIky/jbci4r7YbzEyBWG0sN2r94tWbYVQhGf5Y=; b=yQ3+86RXjsZVSsgfL6vZCc5cKjoVhUxjVRJELkC0Qblm9F1yBtUixbu6quPKTcCfgM gZiPSarFjdVUjiiSHBfUboC01MzcSNvNmppbO+VmJKcJi6RDzQMubRG+RdsUsH/41Fu3 OvKggNLBGRKHDMdHSQWWeg0DAFDaiTnZJk/8GMBs5NgjvXs4h8bIhvpYSGLVdZBj5G4K hlpS1n5XL7oR1dxtApMenB1x88CqDesGL60iITdyYzf+qhUT3AUJFH5oAmO9KnECy2vw 3QlVmHV5pB9HTKGRQSddTQCUCbdksRINAhSxs+TgyUquFQxby6q7R6pQDpVVsaCTqAU9 4iqw== X-Gm-Message-State: AOAM530awSraO2WU6UbtnwbCAGcx5idhUK1yl5VA5TT9WMOFK7GKx3Ku IxI19ejpMwgR0KFLMZ6i7K/ED41VZPI+Tg== X-Received: by 2002:a65:6b95:0:b0:3f2:638f:db1d with SMTP id d21-20020a656b95000000b003f2638fdb1dmr6029738pgw.604.1653002116902; Thu, 19 May 2022 16:15:16 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id b12-20020a170903228c00b0015e8d4eb29csm4296664plh.230.2022.05.19.16.15.16 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 May 2022 16:15:16 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Thu, 19 May 2022 23:15:12 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v6 1/3] avfilter: use av_fopen_utf8() instead of plain fopen() 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: Martin =?utf-8?q?Storsj=C3=B6?= , softworkz , Tobias Rapp Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ZkGsCc4h74iL From: softworkz Unify file access operations by replacing usages of direct calls to posix fopen() to prepare for long filename support on Windows. Signed-off-by: softworkz --- libavfilter/af_firequalizer.c | 2 +- libavfilter/vf_deshake.c | 2 +- libavfilter/vf_psnr.c | 2 +- libavfilter/vf_signature.c | 4 ++-- libavfilter/vf_ssim.c | 2 +- libavfilter/vf_vidstabdetect.c | 2 +- libavfilter/vf_vidstabtransform.c | 2 +- libavfilter/vf_vmafmotion.c | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libavfilter/af_firequalizer.c b/libavfilter/af_firequalizer.c index c19a2fe122..e1497dcef0 100644 --- a/libavfilter/af_firequalizer.c +++ b/libavfilter/af_firequalizer.c @@ -604,7 +604,7 @@ static int generate_kernel(AVFilterContext *ctx, const char *gain, const char *g if (ret < 0) return ret; - if (s->dumpfile && (!s->dump_buf || !s->analysis_rdft || !(dump_fp = fopen(s->dumpfile, "w")))) + if (s->dumpfile && (!s->dump_buf || !s->analysis_rdft || !(dump_fp = av_fopen_utf8(s->dumpfile, "w")))) av_log(ctx, AV_LOG_WARNING, "dumping failed.\n"); vars[VAR_CHS] = inlink->ch_layout.nb_channels; diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c index 4f28467bb2..dea69e11cd 100644 --- a/libavfilter/vf_deshake.c +++ b/libavfilter/vf_deshake.c @@ -353,7 +353,7 @@ static av_cold int init(AVFilterContext *ctx) } if (deshake->filename) - deshake->fp = fopen(deshake->filename, "w"); + deshake->fp = av_fopen_utf8(deshake->filename, "w"); if (deshake->fp) fwrite("Ori x, Avg x, Fin x, Ori y, Avg y, Fin y, Ori angle, Avg angle, Fin angle, Ori zoom, Avg zoom, Fin zoom\n", 1, 104, deshake->fp); diff --git a/libavfilter/vf_psnr.c b/libavfilter/vf_psnr.c index 19852eaa69..09c2a5164a 100644 --- a/libavfilter/vf_psnr.c +++ b/libavfilter/vf_psnr.c @@ -280,7 +280,7 @@ static av_cold int init(AVFilterContext *ctx) if (!strcmp(s->stats_file_str, "-")) { s->stats_file = stdout; } else { - s->stats_file = fopen(s->stats_file_str, "w"); + s->stats_file = av_fopen_utf8(s->stats_file_str, "w"); if (!s->stats_file) { int err = AVERROR(errno); char buf[128]; diff --git a/libavfilter/vf_signature.c b/libavfilter/vf_signature.c index 4ca57ebf1d..904123fd4e 100644 --- a/libavfilter/vf_signature.c +++ b/libavfilter/vf_signature.c @@ -386,7 +386,7 @@ static int xml_export(AVFilterContext *ctx, StreamContext *sc, const char* filen FILE* f; unsigned int pot3[5] = { 3*3*3*3, 3*3*3, 3*3, 3, 1 }; - f = fopen(filename, "w"); + f = av_fopen_utf8(filename, "w"); if (!f) { int err = AVERROR(EINVAL); char buf[128]; @@ -500,7 +500,7 @@ static int binary_export(AVFilterContext *ctx, StreamContext *sc, const char* fi if (!buffer) return AVERROR(ENOMEM); - f = fopen(filename, "wb"); + f = av_fopen_utf8(filename, "wb"); if (!f) { int err = AVERROR(EINVAL); char buf[128]; diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c index 32f313817d..4a82cbec06 100644 --- a/libavfilter/vf_ssim.c +++ b/libavfilter/vf_ssim.c @@ -404,7 +404,7 @@ static av_cold int init(AVFilterContext *ctx) if (!strcmp(s->stats_file_str, "-")) { s->stats_file = stdout; } else { - s->stats_file = fopen(s->stats_file_str, "w"); + s->stats_file = av_fopen_utf8(s->stats_file_str, "w"); if (!s->stats_file) { int err = AVERROR(errno); char buf[128]; diff --git a/libavfilter/vf_vidstabdetect.c b/libavfilter/vf_vidstabdetect.c index 267a62ea9b..4acae5a3ea 100644 --- a/libavfilter/vf_vidstabdetect.c +++ b/libavfilter/vf_vidstabdetect.c @@ -126,7 +126,7 @@ static int config_input(AVFilterLink *inlink) av_log(ctx, AV_LOG_INFO, " show = %d\n", s->conf.show); av_log(ctx, AV_LOG_INFO, " result = %s\n", s->result); - s->f = fopen(s->result, "w"); + s->f = av_fopen_utf8(s->result, "w"); if (s->f == NULL) { av_log(ctx, AV_LOG_ERROR, "cannot open transform file %s\n", s->result); return AVERROR(EINVAL); diff --git a/libavfilter/vf_vidstabtransform.c b/libavfilter/vf_vidstabtransform.c index 4619e9b256..17214f039f 100644 --- a/libavfilter/vf_vidstabtransform.c +++ b/libavfilter/vf_vidstabtransform.c @@ -191,7 +191,7 @@ static int config_input(AVFilterLink *inlink) av_log(ctx, AV_LOG_INFO, " zoomspeed = %g\n", tc->conf.zoomSpeed); av_log(ctx, AV_LOG_INFO, " interpol = %s\n", getInterpolationTypeName(tc->conf.interpolType)); - f = fopen(tc->input, "r"); + f = av_fopen_utf8(tc->input, "r"); if (!f) { int ret = AVERROR(errno); av_log(ctx, AV_LOG_ERROR, "cannot open input file %s\n", tc->input); diff --git a/libavfilter/vf_vmafmotion.c b/libavfilter/vf_vmafmotion.c index 8b7e9b17ef..2ac67e5935 100644 --- a/libavfilter/vf_vmafmotion.c +++ b/libavfilter/vf_vmafmotion.c @@ -312,7 +312,7 @@ static av_cold int init(AVFilterContext *ctx) if (!strcmp(s->stats_file_str, "-")) { s->stats_file = stdout; } else { - s->stats_file = fopen(s->stats_file_str, "w"); + s->stats_file = av_fopen_utf8(s->stats_file_str, "w"); if (!s->stats_file) { int err = AVERROR(errno); char buf[128]; From patchwork Thu May 19 23:15:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35841 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:9992:b0:82:461d:f3b with SMTP id ve18csp321597pzb; Thu, 19 May 2022 16:15:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz3/5Fmtv2hXMRhQnxMLBucBzGyY1x5oTBJLq5U2nHliwbtba1V+BgqG8lhxBHfcXDRj1RQ X-Received: by 2002:a17:907:9709:b0:6fd:c0e1:c86b with SMTP id jg9-20020a170907970900b006fdc0e1c86bmr6337697ejc.600.1653002145967; Thu, 19 May 2022 16:15:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653002145; cv=none; d=google.com; s=arc-20160816; b=waaj9HdHzzPjRg1h1sC2CsbsVpPDt3Pv5ZLXhEgA/GtQwIW6rpmN0M6h4ZfW9R20XW 79GK6Qyy432Iz/6dCiqUJ5+BK5wByq0LfDYosnzrGpYwVvdV2NSQtYYEIGYUcQEEsk3T PbyI4veioP/mbgDw8WlOxl4bfUdCU7MP/dbgEMxkYx6vumH25A9auo/xKEZw7vLAMoLU gPOdfgbcE5UTqj2xKxZOKVCLiRtCCveRu+ruUcF4vKk8mZc+0hJQogXz2nwWOG0NObQU iq8uySo6okmmEt4yATmj59Ny5/FmEHo2eZE6fI7qYIe5pVe7m7kgGofnPmJSHTxnxpVq oCCw== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=4reivHPTKIbQ6jA0KLrQmU9UAlVXuALo7KZo1dd43+4=; b=xf9SSexUSDn4KdgZq/zUhvFdxbgAHm2G02zu02sal9XicSdzC49eupgHMZmH36/kNE mub4xGQfXNRtNA/7B5py+1vMys54BPZtYcuyNGeaZj0EcDwxbLfDjVsZ5MLzKPTPu94m CiGBXomPL5TANui6NXMXIB6bDVwGvhnk7wf4vIJV8hxmO8lAlxb0Pm4Om5Ip/cnQODQc L3T6W33ilZRhodrPJLCzULfMN/k3d+Zl7faO1yPpATi31zmkpIfr22DF2Rt7bRNr75sn IIqqhkVPxpiTo6lzRqvuJXURAcbxF0hzQk0CUokno3XFtbNO557WKJ50VoICXbPy6qVQ kX1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=lWkpDbn2; 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 dr2-20020a170907720200b006dfd28d349csi953134ejc.119.2022.05.19.16.15.45; Thu, 19 May 2022 16:15: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=20210112 header.b=lWkpDbn2; 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 17AA268B4EC; Fri, 20 May 2022 02:15:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6140068B4AC for ; Fri, 20 May 2022 02:15:19 +0300 (EEST) Received: by mail-pf1-f169.google.com with SMTP id y199so6317755pfb.9 for ; Thu, 19 May 2022 16:15:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=QrrhQcqd6tc+7STA2ahoEm1bUn5LYpwWkDro2pkP0CQ=; b=lWkpDbn20EV9xPQC2uUFsVfK9B6HtwQoVj5EwHrMQ8FJmjezvpNooQP37SgKTcerPX 7kU7opJKXF37F/3mSb8//mcbOpV6NYxYVlPa2ppK1Ftnlv4Ya6XtGA/CoO9D5jIHJrIc 0H6hd01WfuEPjo2D4rUKie4X2a6iZEi0/BmB08DLDqKIO/EdIgGR7OULNy3OXgynlxWy 1oones5IXp54tWqoFx8iluvxm95Q3ag+/r3vVTZwyn81BFgs3IFD06mUxgLZRXo7JjQr CHOyKw3Jc+oJ3fl0fIzUQ3OSOnXbrPhejRtLqFjW+FOb9ICj02YkSPmv/vmPypoWEjHZ Jkig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=QrrhQcqd6tc+7STA2ahoEm1bUn5LYpwWkDro2pkP0CQ=; b=CEL7cj0BQW6lO2lPCQyDkUcTtYBv4r37d4LIkUy2t8wNtAbGbPFqhxuT35C+89IxVZ q1EUytnrSyrBZ+DGi4pRMXcmOCkku3OqY4JhpGMQU49cr+LtiHDmEPQs8I5YONXC3qF4 qHtSp3aWAoLqvz1k0XAGSa5LS8qAA/eUsLNgO9Kzk2Jw6SUf1+QtRzXnmWoGhLz6Rco5 a1HMuyi/A95j3AWcsyTNpsrhepPAYcCyZfggg+mdlScFfAh2EOL0qMRKzAzYpOfHmcgf jmG6mYRD5pHyPqWZy8cbP0WjWZDvzhKs9hpKTwRg0meH/fi64wtCE/E3FHewDuwGKT5W 20OQ== X-Gm-Message-State: AOAM531bT93qxf5I1tIYHb6iR/qhg0/w6BfJMJF/NllpuBXif/sMbeun je8gaVtLuZUXbvv1kNDE3uz3drdyGiaipA== X-Received: by 2002:a05:6a00:244a:b0:4fa:ebf9:75de with SMTP id d10-20020a056a00244a00b004faebf975demr7059360pfj.73.1653002117861; Thu, 19 May 2022 16:15:17 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id c123-20020a621c81000000b0050dc7628202sm186068pfc.220.2022.05.19.16.15.17 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 May 2022 16:15:17 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <94d023ece3f101af3686d094bae6e15e429f1fe5.1653002114.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Thu, 19 May 2022 23:15:13 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v6 2/3] avcodec/dvdsubdec: use av_fopen_utf8() instead of plain fopen() 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: Martin =?utf-8?q?Storsj=C3=B6?= , softworkz , Tobias Rapp Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: W2FQUiDQEvoq From: softworkz Unify file access operations by replacing usages of direct calls to posix fopen() to prepare for long filename support on Windows. Signed-off-by: softworkz --- libavcodec/dvdsubdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c index 30fe4d41de..19b78b3eb1 100644 --- a/libavcodec/dvdsubdec.c +++ b/libavcodec/dvdsubdec.c @@ -617,7 +617,7 @@ static int parse_ifo_palette(DVDSubContext *ctx, char *p) const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP; ctx->has_palette = 0; - if ((ifo = fopen(p, "r")) == NULL) { + if ((ifo = av_fopen_utf8(p, "r")) == NULL) { av_log(ctx, AV_LOG_WARNING, "Unable to open IFO file \"%s\": %s\n", p, av_err2str(AVERROR(errno))); return AVERROR_EOF; } From patchwork Thu May 19 23:15:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35842 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:9992:b0:82:461d:f3b with SMTP id ve18csp321659pzb; Thu, 19 May 2022 16:15:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyFGfld2W3VLcJui8yqLjhQi3QxQd4t+5Xq+00pOQZu6Tiwc3m15CFRh3yu0IcwC7U6YIta X-Received: by 2002:a05:6402:908:b0:428:11f5:509d with SMTP id g8-20020a056402090800b0042811f5509dmr8019091edz.253.1653002154624; Thu, 19 May 2022 16:15:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653002154; cv=none; d=google.com; s=arc-20160816; b=xmJz9tY+FXQjTCgekx2ybm02DtT3Kterx73IQ9ygQ+j1PGBdsr8FYLzu6T634sWA75 cWJUWfhJFtNtqwOi0w2leJlCGry6onmKSpzrCNf6nIV01+nybVHs8CGA0yZN5xnHY2Cn UXkN0iSbqPPHbWqorveqD/ItSBt7Xp/oKKeCH2uXcemNZIXTdG/q0OhZwzKR6oXwh9xt YanhGmdPHBGb2OUoHaQmG2SQMTxejBQafMXlKSHBKjo9W8DrdWEFMjKPayg6DMSAFDYk 1147AItPw6U5AhV4z9ZVJWOBnFGj1VslyGGe7MjdVgE7x247XMFJWt8fI9gPSK9NSIfB nClw== 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:to:fcc:mime-version:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=hx0ckZhX+vLOq9AnsyO0dvQ4q/rcgUijQPaCZorpO3s=; b=QF84N2PInjkmvuBEZALnBqr0Xk/9JJKoGaQSX8y+RZ9idH/4zhT15MYbRD8y8zWM1n DeI7MdMWinmInqmLwmftJreNNNi2AMd49z/qjna+nhlGXoOhm0AR0MOmaUKXs+S1X8ZF pWCtOnXfmloKVK1gtjklClrjxhoPTBYzvFdHRQ34f18K1/XG/BD2ZQOunHezfdo9ibra EU9/rnvmrvITTjFTYV33HQ657MfpDgUUvNG0ZH4+bJrUR5RO4Y7lXwg3lHyuM1YoXPTh HI0gmeI67SfbPHNvoLkC56JR6YagWHmCY4aJevD1dVGyCknk6a3tLbUC0LUCC7dL7aO3 itQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Rj2pj34F; 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 p3-20020a056402074300b0042880054719si6015595edy.376.2022.05.19.16.15.54; Thu, 19 May 2022 16:15:54 -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=Rj2pj34F; 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 26A1268B4B3; Fri, 20 May 2022 02:15:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A34F168B4E1 for ; Fri, 20 May 2022 02:15:20 +0300 (EEST) Received: by mail-pj1-f44.google.com with SMTP id gg20so6553429pjb.1 for ; Thu, 19 May 2022 16:15:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:mime-version :content-transfer-encoding:fcc:to:cc; bh=5t/WXneC0XPJYs3h+jqd5f/p6/UYCN8ISq6H7sn29T8=; b=Rj2pj34FuhPMRgJMWb8VhrTv0PbzSessZbMgD4IYQLWLqz6e9c3iLCQ6x+WYg+k0s0 I+U85dbMskhwrn8GfmK/SRU7C6xpDXqI47boKRBWU9+uagPpskoB0Bhhf9M2b1OekUxl ImQfAMPu6Gy0FvzNtQRlgJoexDU0vOYHdvvV3+zvX8OTjmDPntNieANyj8W92F9zpPdF ejygVoO+9k0MU0Wryvm8dqWd+7Dr45/zvSFdKoQD1LsXEtMdgJ+EiQjRmUY0tYyWFD7f 699AlMGJmYZLrxlaczDu7h+nZGVN8o29wa7dAMpLzOqebkKQpuSh94BiTHSP3ekm4x2C NM9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:mime-version:content-transfer-encoding:fcc:to:cc; bh=5t/WXneC0XPJYs3h+jqd5f/p6/UYCN8ISq6H7sn29T8=; b=bJvaeNJxcDNdh6mWaUyRpM1RowUm59fgxv55jzF7tIi6EsExINfixts2IdYImp2kTM EXctldCloXOl6DqgnSpxdCjgLWeaQ6lI0aT5VM/GmTdvVj9oVMGZQzgccpfaaW41CcfV brRcnB5Z3AJdfzDZCoVLFp7CyQokA+ZSZxdTmos7O3VdN+WASHOSMafkCg90coUje6je no/sWRqtPRy3bbbRrzNW77+4Ugop0KHWK43J9WQND3Kx4NnKUOJxyQMYuFoApdHgLNCC 31NLdumZQHtTzH2O77vQf08TtNZ8ba0W+Kd0d0tYrevhIH6RDx0Z+bFShQu+BwRcsXWv YvoQ== X-Gm-Message-State: AOAM5333Rb9raMBCUJiv89oAG0MRvE22CVcP1y2hiW5q4LTIDyx7Uop0 YH8bTKo4lpZSmf7Pl3tkAmeFMm90yMD5jA== X-Received: by 2002:a17:90a:a097:b0:1de:cddd:1970 with SMTP id r23-20020a17090aa09700b001decddd1970mr7700575pjp.65.1653002118860; Thu, 19 May 2022 16:15:18 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id lj14-20020a17090b344e00b001df67a6da6asm370827pjb.7.2022.05.19.16.15.18 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 May 2022 16:15:18 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <4035d5dd7b2309e7329fc7ae5123945a5bef1e65.1653002114.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Thu, 19 May 2022 23:15:14 +0000 MIME-Version: 1.0 Fcc: Sent To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v6 3/3] avfilter: Make avpriv_open a library-internal function on msvcrt 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: Martin =?utf-8?q?Storsj=C3=B6?= , softworkz , Tobias Rapp Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: CZb7+L0NDl/a From: softworkz This applies the same change for libavfilter as commit e743e7ae6ee7e535c4394bec6fe6650d2b0dbf65 did for the other libraries. Original commit message: Add one copy of the function into each of the libraries, similarly to what we do for log2_tab. When using static libs, only one copy of the file_open.o object file gets included, while when using shared libraries, each of them get a copy of its own. This fixes DLL builds with a statically linked C runtime, where each DLL effectively has got its own instance of the C runtime, where file descriptors can't be shared across runtimes. On systems not using msvcrt, the function is not duplicated. Based-on-patch-by: Martin Storsjö Signed-off-by: softworkz --- libavfilter/Makefile | 1 + libavfilter/file_open.c | 1 + tests/ref/fate/source | 1 + 3 files changed, 3 insertions(+) create mode 100644 libavfilter/file_open.c diff --git a/libavfilter/Makefile b/libavfilter/Makefile index ee2ea51e69..78ccfa37d3 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -23,6 +23,7 @@ OBJS = allfilters.o \ version.o \ video.o \ +OBJS-$(HAVE_LIBC_MSVCRT) += file_open.o OBJS-$(HAVE_THREADS) += pthread.o # subsystems diff --git a/libavfilter/file_open.c b/libavfilter/file_open.c new file mode 100644 index 0000000000..494a5d37a4 --- /dev/null +++ b/libavfilter/file_open.c @@ -0,0 +1 @@ +#include "libavutil/file_open.c" diff --git a/tests/ref/fate/source b/tests/ref/fate/source index 69dcdc4f27..16ea7ef9c1 100644 --- a/tests/ref/fate/source +++ b/tests/ref/fate/source @@ -8,6 +8,7 @@ libavcodec/reverse.c libavdevice/file_open.c libavdevice/reverse.c libavfilter/af_arnndn.c +libavfilter/file_open.c libavfilter/log2_tab.c libavformat/file_open.c libavformat/golomb_tab.c