From patchwork Fri Oct 6 07:51:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jorge Ramirez-Ortiz X-Patchwork-Id: 5433 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp167891jah; Fri, 6 Oct 2017 00:51:56 -0700 (PDT) X-Received: by 10.223.182.156 with SMTP id j28mr1288427wre.46.1507276316280; Fri, 06 Oct 2017 00:51:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507276316; cv=none; d=google.com; s=arc-20160816; b=f20swarSa9iqEVbDjXQwAmFTh+7qrVWMVrfir+wXJLIrVnePkHaVIjxnQCzWlrFwBU cjqhrMGcsLKro/AnCGBtuH+r8KmqyITrnatlsEyKZM+AwtPHpYcn9avaTSHSuSYYX8eh v0ij3wFqsYbJSpV+unal3NBoxjcshOomZvWg9dWHhpOoUBgFVHFW4OM3SXqF2dW6MXAc AD031YY7Tjm3472s7+ALL7uovtXXrpjO0k6Zn7aiDSNS8ni/FxULDLWDkUd/AQTEjH4g QLhzBBXyyJ6HN8F1bWElWHL7D/0L/WasHMAKQarzM6O0kHRbSrFBZ83choJ7VIPDlsBG 9FgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=YHscmT8VTh5YPqJ22qRpObT6LfiVLprk4BAhHrPcToA=; b=W7lJNxzgG0XnlV4n5q8SDKuzf0/WNs1A7YigzWzfS4M85ZO7OjQ89tj897Yd/nnaXO HL7A6rmseBc5J3Vsma+KH/OqE9RgWQyKQRqGUqx2DGryOr0XVndwA08kyi+Y9ry2nKoo L/IerXFM2b+vtf3dZYOHltV9LQ0DusCzrtY3+I4k+cMjw9y3vyYIALSVLHUjzm+65Knd aGkyUnlTR4WLjrQgJOfLtlcpVnnCFRzmgC98NZXsu8Df/z5xmaC5t0GkGnXiHGaRSEz7 DwxM7HoRkAwt2sMYlK91fEMusX1NFkY8sm/lmrTxIrJsZspLkj/Zp+/ERGhdRwlq8Kiy 3Bag== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=VCx9CD2V; 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=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 74si740815wrm.334.2017.10.06.00.51.55; Fri, 06 Oct 2017 00:51:56 -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=@linaro.org header.s=google header.b=VCx9CD2V; 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=NONE dis=NONE) header.from=linaro.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3AFA368A495; Fri, 6 Oct 2017 10:51:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f43.google.com (mail-wm0-f43.google.com [74.125.82.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1563E68A3A3 for ; Fri, 6 Oct 2017 10:51:48 +0300 (EEST) Received: by mail-wm0-f43.google.com with SMTP id b189so5918424wmd.4 for ; Fri, 06 Oct 2017 00:51:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id; bh=xSrqfcDkAUNUmQpxxhqgDSf4IPMkY51QfmoL76wF1kk=; b=VCx9CD2VEjTr+ybw5WMXu/M127WELtie443FqiW5ZBLNkTbPRai8WXv3ZxcNAWkSyT rV0gn8cU0s7dcI52k3FqEj52deQP2I6Lob6bwsICJ/QV1xTimUiJUOeMQ+JK3ycZQOfK CuMEldvsEEJPzdu9DuxEHWSSBaXwzjay0HA44= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=xSrqfcDkAUNUmQpxxhqgDSf4IPMkY51QfmoL76wF1kk=; b=kPxDbvh6O8QXhXLNi/MrAcnqD/hlP1LAAcW+1ZikgtAU/qbbGTIQZIIdDATZtZ5FDr TJnH8c7EsVz/aOKJy8Lz6bEwtc9yZFpFgOBIMvyhRONm+UJ1r5b14Vju6ZkOffJp412a YHwro3kk66BODJpSaQEfwUKiuPYC3AiFPh6hYGc4gI2g5F4ynJkd8jNWB9s9mz6/gMLm QUmxqHIY6QCbNGsh2jFa+FyUtdgEtODJURkqSvl9UT+Iz4pXb8WDV9UkCEdh6v/CSR/u LGSmP8fWkdp+gTOytA3S+dh8k1oLyEiaswdAn4o5frFigXCDnEK4H2ru0Diy4UoEzmBu UjwQ== X-Gm-Message-State: AMCzsaXT96IUFa7yDvXIjH9EEFh3A7aGL/LM47TuqOf+TsmEIZjhXFGr b9t3k3eQj9YDvVSmDTYzCGBT6w== X-Google-Smtp-Source: AOwi7QBQ76M7EL02i8m99ua+fh7y0NzLp7FDKS8fS0EWsnHZXMxWP0RQxXdDpLlX0WlLGDLhtetBww== X-Received: by 10.28.127.206 with SMTP id a197mr869521wmd.12.1507276307625; Fri, 06 Oct 2017 00:51:47 -0700 (PDT) Received: from localhost.localdomain (113.red-81-47-150.staticip.rima-tde.net. [81.47.150.113]) by smtp.gmail.com with ESMTPSA id f89sm2182298wmh.18.2017.10.06.00.51.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 06 Oct 2017 00:51:46 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez-ortiz@linaro.org, ffmpeg-devel@ffmpeg.org Date: Fri, 6 Oct 2017 09:51:43 +0200 Message-Id: <1507276303-19660-1-git-send-email-jorge.ramirez-ortiz@linaro.org> X-Mailer: git-send-email 2.7.4 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/v4l2: fix single plane decoding 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" --- libavcodec/v4l2_buffers.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libavcodec/v4l2_buffers.c b/libavcodec/v4l2_buffers.c index ef7d040..ba70c5d 100644 --- a/libavcodec/v4l2_buffers.c +++ b/libavcodec/v4l2_buffers.c @@ -244,13 +244,23 @@ static int v4l2_buf_to_bufref(V4L2Buffer *in, int plane, AVBufferRef **buf) static int v4l2_bufref_to_buf(V4L2Buffer *out, int plane, const uint8_t* data, int size, AVBufferRef* bref) { + unsigned int bytesused, length; + if (plane >= out->num_planes) return AVERROR(EINVAL); + bytesused = FFMIN(size, out->plane_info[plane].length); + length = out->plane_info[plane].length; + memcpy(out->plane_info[plane].mm_addr, data, FFMIN(size, out->plane_info[plane].length)); - out->planes[plane].bytesused = FFMIN(size, out->plane_info[plane].length); - out->planes[plane].length = out->plane_info[plane].length; + if (V4L2_TYPE_IS_MULTIPLANAR(out->buf.type)) { + out->planes[plane].bytesused = bytesused; + out->planes[plane].length = length; + } else { + out->buf.bytesused = bytesused; + out->buf.length = length; + } return 0; }