From patchwork Thu Nov 1 04:14:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: hwren X-Patchwork-Id: 10871 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 951A844CF78 for ; Thu, 1 Nov 2018 06:14:55 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1706A68A8A9; Thu, 1 Nov 2018 06:14:27 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from m15-113.126.com (m15-113.126.com [220.181.15.113]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C42EF68A862 for ; Thu, 1 Nov 2018 06:14:16 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id; bh=BBUNNw9uz4Ei4njzut O8LwfsfCdN3ZFBIqEAtwIpuDs=; b=JAH2aedVlTLj9i7x5debSusky7AXe0HzZ1 hOHSbT3n3N2en8X3LVD8eLua3gbKVzT9lfbNzHrDCuudCHJmLDZyO0oI9McX6Ij4 Al62INKh1w8YH26U3cnufrdQLiaCZg/f33iPfTq89LpQvHDoTckC2kU9LkqGE6Nm oHTOQY618= Received: from localhost.localdomain (unknown [162.105.162.85]) by smtp3 (Coremail) with SMTP id DcmowACny_CzfdpbzqPvLw--.40124S5; Thu, 01 Nov 2018 12:14:44 +0800 (CST) From: hwren To: ffmpeg-devel@ffmpeg.org Date: Thu, 1 Nov 2018 12:14:41 +0800 Message-Id: <1541045681-5374-3-git-send-email-hwrenx@126.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1541045681-5374-1-git-send-email-hwrenx@126.com> References: <3d0c42ab.4c0c.166cd486c77.Coremail.hwrenx@126.com> <1541045681-5374-1-git-send-email-hwrenx@126.com> X-CM-TRANSID: DcmowACny_CzfdpbzqPvLw--.40124S5 X-Coremail-Antispam: 1Uf129KBjvJXoW7Ar47tw18KFWfGF4rtw1kXwb_yoW8GrWfpw 17Jr9YgF1UtrZ7Arn3JrnYqFn3WrWkWayUGwsrA3Wj9a4jkrW8tryxtryUCasrWFWDW3sx ua18Ga1UKw1ktr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jcNVDUUUUU= X-Originating-IP: [162.105.162.85] X-CM-SenderInfo: pkzuv0b06rjloofrz/1tbiLRTx6VpD6PFd-wAAsD Subject: [FFmpeg-devel] [PATCH v3 3/3] 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 a1815d2..4dbce73 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;