From patchwork Fri Nov 2 08:47:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: hwren X-Patchwork-Id: 10894 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 DFFDB44DE3C for ; Fri, 2 Nov 2018 11:18:04 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5C65E68A9E2; Fri, 2 Nov 2018 11:17:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from m15-111.126.com (m15-111.126.com [220.181.15.111]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2B3F268A9CF for ; Fri, 2 Nov 2018 11:17:17 +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=BOPRBnZv+dJibithRtp69Y41jl/LUOGRGt BHk1UHX/m89njnAT++32OCbLZfRcT3BoC8Xk/gqQjEqZGEgyOHTE4GfBv0t0ZxWi 0FLiblO6kE4BJpwrqNEkiVerBU32i3oWHHiF/nX5oTLFPogaAMUo1w8x+6NkhS8n vxzs4ksKw= Received: from localhost.localdomain (unknown [223.71.83.94]) by smtp1 (Coremail) with SMTP id C8mowAD3+owaD9xbnsQdLw--.30782S5; Fri, 02 Nov 2018 16:47:23 +0800 (CST) From: hwren To: ffmpeg-devel@ffmpeg.org Date: Fri, 2 Nov 2018 16:47:19 +0800 Message-Id: <1541148440-3603-3-git-send-email-hwrenx@126.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1541148440-3603-1-git-send-email-hwrenx@126.com> References: <1541148440-3603-1-git-send-email-hwrenx@126.com> X-CM-TRANSID: C8mowAD3+owaD9xbnsQdLw--.30782S5 X-Coremail-Antispam: 1Uf129KBjvJXoW7Ar47tw18KFWfGF4rtw1kXwb_yoW8GrWfpw 17Jr9YgF1UtrZ7Arn3JrnYqFn3WrWkWayUGwsrA3Wj9a4jkrW8tryxtryUCasrWFWDW3sx ua18Ga1UKw1ktr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jcNVDUUUUU= X-Originating-IP: [223.71.83.94] X-CM-SenderInfo: pkzuv0b06rjloofrz/1tbiqBvy6VpD6QbCPgAAsi Subject: [FFmpeg-devel] [PATCH v4 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 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;