From patchwork Fri Nov 2 13:30:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: hwren X-Patchwork-Id: 10898 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 92FE244DF86 for ; Fri, 2 Nov 2018 15:30:25 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0734D68A9D3; Fri, 2 Nov 2018 15:29:57 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from m15-112.126.com (m15-112.126.com [220.181.15.112]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4C58A68A984 for ; Fri, 2 Nov 2018 15:29:45 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id; bh=rQSxwGJoPWvH1R8u5o +MkrVgxqyss7GJdqmurchU3iM=; b=oFDkO2xUbs8fzEZirEV5Q3NsaLWY6xYBsn 4UumsJj0QmamwOosanlZ0O3+QfheZKDy6c43tybVwzdJUY9dSYUuwRZK2yhhPsFa Rzqv9thIrmWrxlRP/7CFRIBRuWyPb4KEk8xYFyYxhkppTrhkJXZ5u9ehITmo1GJb /BbSUBCng= Received: from localhost.localdomain (unknown [223.71.83.109]) by smtp2 (Coremail) with SMTP id DMmowAAHa0lkUdxbihHaCQ--.37249S5; Fri, 02 Nov 2018 21:30:14 +0800 (CST) From: hwren To: ffmpeg-devel@ffmpeg.org Date: Fri, 2 Nov 2018 21:30:10 +0800 Message-Id: <1541165411-4524-3-git-send-email-hwrenx@126.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1541165411-4524-1-git-send-email-hwrenx@126.com> References: <1541165411-4524-1-git-send-email-hwrenx@126.com> X-CM-TRANSID: DMmowAAHa0lkUdxbihHaCQ--.37249S5 X-Coremail-Antispam: 1Uf129KBjvJXoW7Ar47tw18KFWfGF4rtw1kXwb_yoW8GrWfpw 17Jr95tFyUtrZ7Arn3Jrn5XasxWrWkWayxGwsrA3Wj9a40krW0yryxtryUCasrWFWDW3sI 9a1UGa1UKw1ktr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jcNVDUUUUU= X-Originating-IP: [223.71.83.109] X-CM-SenderInfo: pkzuv0b06rjloofrz/1tbiDwjy6VpD61TLngAAsv Subject: [FFmpeg-devel] [PATCH v5 3/4] lavc/libdavs2: correct frame type setting 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: hwren --- libavcodec/libdavs2.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/libavcodec/libdavs2.c b/libavcodec/libdavs2.c index 6dc1173..3e59d41 100644 --- a/libavcodec/libdavs2.c +++ b/libavcodec/libdavs2.c @@ -76,6 +76,26 @@ static int davs2_dump_frames(AVCodecContext *avctx, davs2_picture_t *pic, return 0; } + switch (pic->type) { + case DAVS2_PIC_I: + case DAVS2_PIC_G: + frame->pict_type = AV_PICTURE_TYPE_I; + break; + case DAVS2_PIC_P: + case DAVS2_PIC_S: + frame->pict_type = AV_PICTURE_TYPE_P; + break; + case DAVS2_PIC_B: + frame->pict_type = AV_PICTURE_TYPE_B; + break; + case DAVS2_PIC_F: + frame->pict_type = AV_PICTURE_TYPE_S; + break; + default: + av_log(avctx, AV_LOG_ERROR, "Decoder error: unknown frame type\n"); + return AVERROR_EXTERNAL; + } + for (plane = 0; plane < 3; ++plane) { int size_line = pic->widths[plane] * bytes_per_sample; frame->buf[plane] = av_buffer_alloc(size_line * pic->lines[plane]); @@ -97,7 +117,6 @@ static int davs2_dump_frames(AVCodecContext *avctx, davs2_picture_t *pic, frame->width = cad->headerset.width; frame->height = cad->headerset.height; frame->pts = cad->out_frame.pts; - frame->pict_type = pic->type; frame->format = avctx->pix_fmt; return 1;