From patchwork Fri Aug 14 08:30:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harry Mallon X-Patchwork-Id: 21649 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 C8F78448C8B for ; Fri, 14 Aug 2020 11:54:24 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 93C8768973B; Fri, 14 Aug 2020 11:54:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f65.google.com (mail-ej1-f65.google.com [209.85.218.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9CFF2680ADB for ; Fri, 14 Aug 2020 11:54:18 +0300 (EEST) Received: by mail-ej1-f65.google.com with SMTP id d6so9141736ejr.5 for ; Fri, 14 Aug 2020 01:54:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=codex.online; s=google; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=gh6VKIgPc/Jmqp7zyE4uZRv6JX4pfIeovo3j1QdCAxQ=; b=jIvFKFLz/D29Io5cQQXnjccy3pGQ2IBC/d9+GyUtOf53ToqvUlRBDE4wXaGkQ1ONJd irTagilgLOGgkX7IOyCXy2gmgGnTUSjLK2VHyinfMLryZeBrQ5VBC9vhwtR6v6HwDb4E FiEjNH9QgdQrwWsIgAV9oCtI+ZXtVAWcydl1Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=gh6VKIgPc/Jmqp7zyE4uZRv6JX4pfIeovo3j1QdCAxQ=; b=GGgyUvdPNgEAOKpTSYuV+cgEIQar8R4PkrUrQUrQJhm9ywkMyzaUeUWsQUWd7romsb tlUYsKR/cGOvGIGvzeIzeLNA758ievGTN2Sgvn8AVg6TX7HS0bvUoByuNV0+c0BAI4p3 gGHZUZSxhlLq1lByVni8gE9NggU2zMmUeufKFOYI2EBx3sEVpdrwlka6fG4Vhs1g1LCj qmlNhbSBWYWCuiZ2FmqBfUumIVfJhlRKZKtSDgpGXaAkvu7UmdnWIHAc044fhrXFScom EvWbQHfrT+TyDLxZPzM6Y73Sgia9kOEtpcdn4wsWTV1+rCYtwzyXD+Tbd+KDYTIFVv/3 bw3w== X-Gm-Message-State: AOAM530ikSF2K2cH1JFB4BefzB+PL3xfFr5vBcosAbME7/uCetB0ulvl yoHic6msnb4D+2yIInByy/RNzpsjvOPXwoxa41wncXe9EHs= X-Google-Smtp-Source: ABdhPJxOvgnS5dRMAF/UHtc6NPEOnQaWPZLBPR/TBvMpnYOUD9A2y4nLfgPGDndphaXUKBHkD6bMzuVIFxeBsKhirdE= X-Received: by 2002:aa7:c604:: with SMTP id h4mr1191209edq.336.1597393824695; Fri, 14 Aug 2020 01:30:24 -0700 (PDT) Received: from 795182654588 named unknown by gmailapi.google.com with HTTPREST; Fri, 14 Aug 2020 01:30:24 -0700 From: Harry Mallon X-Mailer: git-send-email 2.28.0 In-Reply-To: References: MIME-Version: 1.0 Date: Fri, 14 Aug 2020 01:30:24 -0700 Message-ID: To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH] avcodec/dpx: Read alternative frame rate from television header 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: Harry Mallon Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Harry Mallon --- libavcodec/dpx.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) avctx->framerate = q; diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c index b1833ed9ef..694deb27c5 100644 --- a/libavcodec/dpx.c +++ b/libavcodec/dpx.c @@ -216,10 +216,22 @@ static int decode_frame(AVCodecContext *avctx, else avctx->sample_aspect_ratio = (AVRational){ 0, 1 }; + /* preferred frame rate from Motion-picture film header */ if (offset >= 1724 + 4) { buf = avpkt->data + 1724; i = read32(&buf, endian); - if(i) { + if(i && i != 0xFFFFFFFF) { + AVRational q = av_d2q(av_int2float(i), 4096); + if (q.num > 0 && q.den > 0) + avctx->framerate = q; + } + } + + /* alternative frame rate from television header */ + if (!(avctx->framerate.num && avctx->framerate.den) && offset >= 1940 + 4) { + buf = avpkt->data + 1940; + i = read32(&buf, endian); + if(i && i != 0xFFFFFFFF) { AVRational q = av_d2q(av_int2float(i), 4096); if (q.num > 0 && q.den > 0)