From patchwork Fri Apr 7 11:34:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jianfeng Zheng X-Patchwork-Id: 41012 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4645:b0:e3:3194:9d20 with SMTP id eb5csp290595pzb; Fri, 7 Apr 2023 04:34:49 -0700 (PDT) X-Google-Smtp-Source: AKy350Z8mB5847dEJmfHIaSxRfBMBJhVwhQInsg559CBqwoiWDsakV1cdXizjpSrFIZPskDcTWdN X-Received: by 2002:a17:906:1859:b0:947:bd54:cb8e with SMTP id w25-20020a170906185900b00947bd54cb8emr1193052eje.10.1680867288828; Fri, 07 Apr 2023 04:34:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680867288; cv=none; d=google.com; s=arc-20160816; b=FIHvqIvYbQfL6oQ+xKsdfYiYluri/WxXjA8DByP0y7ldy/9tdN+tQv8wHEfJY0LY0C uGWt+SCfiQ2m7KTsh45o4XY5rsiK17wKyDmxNkGceuaifnCJgOyBz3PNZ6mxE1MY+jgm n7ElG13y0LqF3S3XBaDZcsMNgu8d2Hl15YSB8DH60WK4ZBpgUq1yokWcvGBFljRUVPEi iZ/AwwOI554xOd1wio9h0kf0FM1BRdnwuAa+rcPLB70YQZPpXxt4To509nHGDNgp1GbK q8v/rZNrvZaQg2tXEJdoXa+X0v5qFVENmQHiRKuD8Wj1nz5rZ/3BAZpVvDsaOu0UTqhg SxmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=CbaQW7q0C9x0EnqMTUQru5d8SCGKhmC6MK9CeHEZrrM=; b=ygp1u9NblsHTdTVAxysuuZBsf96NR664rFv3dsGwseLukgLgxdNwe/oqrm4m9A+wIE 4XII2poxlD5HtOQsbU6xjEb19EepCa9hjHFtRDKVMim6jD7W54XOZjLyj+l09KIgsfVT Ua4gzB/4sdrCEOVkbVDRzibUxqxOjh11u9hy4Zo9Z/yUDNxYRCzWDDAu9NZdPQ0DkiBs kO1SYMWgYH6jiXmrmN2aR3aeVtT8Et9NRZ8w4L64XZIFlpm/QEIL0V7D4ea5DE3ie8fj ycvE1743RgTj13LqesJJ1mbCGVMcAxUTC5sf5rJ8JaUf7pQh3u+etE2bpG2qFWHXMIuT oNVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Yic1OxqO; 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 r13-20020a170906a20d00b0092d6e62eb2bsi2923359ejy.197.2023.04.07.04.34.48; Fri, 07 Apr 2023 04:34:48 -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=Yic1OxqO; 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 1FC1D68B102; Fri, 7 Apr 2023 14:34:44 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BF68768078C for ; Fri, 7 Apr 2023 14:34:36 +0300 (EEST) Received: by mail-pj1-f41.google.com with SMTP id l9-20020a17090a3f0900b0023d32684e7fso7880453pjc.1 for ; Fri, 07 Apr 2023 04:34:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680867274; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=ZCjaTOLbaEXW0FGTkmyHHF+RaTpqlr2opYYA5Wajb0A=; b=Yic1OxqOW+elrlHj6ViuphU+Oj61UskD80cPlaCtltye6TrtG4T3fBAGFBNm0fXUSA YmSUaE3HTvqXb+yTzX8wWasg9PuHngOSzTG129CfPfvRhZz1GhmqrSvYlPSapi44XaeR JFHw9wp/kS4g6MUyLqxOjMwnKOn+NZ/Sv5zjyeiHkG/ftFFgAl891TVGD/EpYL64/cSi FyzHKI4o3cv9snIAY7Z1P/wcXmiUO5+pKH1s6UocaOyQgJTEnWYgCVkN50EUCdHRmVvw DBq9TZwk7JYe0pZQOCr+f+yfivsiadH0KJoPvFBVmRv2z0jHnZsn3cTA5agaW2edddjU R1Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680867274; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZCjaTOLbaEXW0FGTkmyHHF+RaTpqlr2opYYA5Wajb0A=; b=wGN7jTRb1Q18jjD3AmUespQiv+J+ntAlfxwIOBR83Ef0qVm3btkztiyc66ggHcVyux XVROsbaLLVT+kHVsPWsmWBEmMIbJahV0TfgUPxpgiU2IodEjyq0fzjf0hQ3X2Nn5FYaT j1KkuI1o/oxHgYUjnD1CcfC4R5EXzUbgTMesNZp5JUfX/K95ZBIRSjmJyB73mkKZPsUb arn5re3ajpX4IybFMSUKSJBdPwOlvHMrE7eufNibPLlcc/2TpXalgvb3F7CwuzyYBfpe ewTEtz+9Q4JIHlbEHhCqfWWm3ihOQAJ3BzAeJ1Prj5mTi2a4Y2JewG2GdZbOLc9YrM82 xv8A== X-Gm-Message-State: AAQBX9eitqKqCuMhv0qpwBo6GyurgJslXuxAnJouxaIeUovHjWjy8JHH ZGg0EQrQy4smPI3maRiaoGHIyU2k9VeiPJcF X-Received: by 2002:a17:90b:1a8a:b0:23e:fc9c:930 with SMTP id ng10-20020a17090b1a8a00b0023efc9c0930mr2255786pjb.36.1680867273894; Fri, 07 Apr 2023 04:34:33 -0700 (PDT) Received: from localhost.localdomain (70.206.96.34.bc.googleusercontent.com. [34.96.206.70]) by smtp.gmail.com with ESMTPSA id m4-20020a1709026bc400b001a1d41d1b8asm2754618plt.194.2023.04.07.04.34.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Apr 2023 04:34:33 -0700 (PDT) From: "jianfeng.zheng" X-Google-Original-From: "jianfeng.zheng" To: ffmpeg-devel@ffmpeg.org Date: Fri, 7 Apr 2023 19:34:28 +0800 Message-Id: <20230407113428.10264-1-jianfeng.zheng@mthreads.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] doc/examples/vaapi_transcode: fix null framerate 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: sbS1a2GvVfYU When framerate in codec layer is null, guess from stream. Signed-off-by: jianfeng.zheng --- doc/examples/vaapi_transcode.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/examples/vaapi_transcode.c b/doc/examples/vaapi_transcode.c index 8367cb3040..2277794635 100644 --- a/doc/examples/vaapi_transcode.c +++ b/doc/examples/vaapi_transcode.c @@ -143,6 +143,7 @@ static int dec_enc(AVPacket *pkt, const AVCodec *enc_codec) { AVFrame *frame; int ret = 0; + AVStream *video = NULL; ret = avcodec_send_packet(decoder_ctx, pkt); if (ret < 0) { @@ -176,6 +177,11 @@ static int dec_enc(AVPacket *pkt, const AVCodec *enc_codec) * xxx: now the sample can't handle resolution change case. */ encoder_ctx->time_base = av_inv_q(decoder_ctx->framerate); + if (decoder_ctx->framerate.num == 0) { + video = ifmt_ctx->streams[video_stream]; + if (video->r_frame_rate.num > 0 && video->r_frame_rate.den > 0) + encoder_ctx->time_base = av_inv_q(video->r_frame_rate); + } encoder_ctx->pix_fmt = AV_PIX_FMT_VAAPI; encoder_ctx->width = decoder_ctx->width; encoder_ctx->height = decoder_ctx->height;