From patchwork Sun Jan 27 14:18:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 11875 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 7114144D376 for ; Sun, 27 Jan 2019 16:18:02 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 94C2F68AF26; Sun, 27 Jan 2019 16:17:50 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-it1-f172.google.com (mail-it1-f172.google.com [209.85.166.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 142E268AF1C for ; Sun, 27 Jan 2019 16:17:44 +0200 (EET) Received: by mail-it1-f172.google.com with SMTP id d11so17036468itf.2 for ; Sun, 27 Jan 2019 06:18:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=dU+9HjtnIJN8xWb6qceWSEr0lu8k4suAans7Ws2/tQA=; b=banxzooLdl7RggSCowKHMREXZVq4hFYqT22ZohwaFhj8/5q1u68QaYSXK+y/03DSyp khff+ILFVdke+dAptTSMSU3LBi69J5IPZvoIUyDPdBjXpl9IQmhPI+TpYYBWG945iKCF XjD+4Cpm1dGg5zdnWjKGLioT0RcUI3NuI/RA9658Dq2iMZ3bC8PbuLAd1ShBDXliIyWJ D5CYhwYXiTVAKU7ewK9GrFvcdvh/nGz+8d6GezJD6bcapwErIbCS7ONNHA+bhet0kpFB 3LVTsknQqKNZ9BeYyQbfWAIuHa50zbRXZszfRmmR91f/XEBVX4xZxsXLX4LESFqXvJaC jUgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=dU+9HjtnIJN8xWb6qceWSEr0lu8k4suAans7Ws2/tQA=; b=N5XlrqPCSUgZ082iKzYMftUMYbyVm9QitySU7ZLhnlKNYrfkGU4hVg/TsBjuHVLzJO ZlyC+c/icoO+C7NWldM5DnYM6do2N3HUnPVwuo2iZkEgdWN6sIuXzBhj1xVNyAuLI0uU 16SZLzlk3Pz8quIkBZCQgCzaBWjSKkVoapmkrBSKkVVTLO/pkrb068RH02Pbblhp1d9w 9zBGBN7OPJN2P6o8Okm4Gri63WV4JyF27E2p35o0I173TWpmyAevXKGbM3GQp0DDu6FH 11UDCm8Ox2JE3yAA13akHQFPywEIzA+u9vQPNaT7eLU3snY9vB9vJ00jJoC5yRMt3wEf Q60Q== X-Gm-Message-State: AJcUukdIPLrdq6Gl4DOhO4B1y4ABUDLr+KyrkGjSQtLX+lATDrvhbUwh 7daNTsAdr/Mo9x40GRTV9s1NhMZKgGhl632dPzpbGw== X-Google-Smtp-Source: AHgI3IZvke66leO429d2lUkJhSbjr+W9QEA9JRG+A2xx+HZnUNPptzfFkgBml5i5xz5y1p3IKRWfBbxY2EXGHo+zIlI= X-Received: by 2002:a24:b64a:: with SMTP id d10mr7137250itj.149.1548598682471; Sun, 27 Jan 2019 06:18:02 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a02:5f11:0:0:0:0:0 with HTTP; Sun, 27 Jan 2019 06:18:01 -0800 (PST) From: Carl Eugen Hoyos Date: Sun, 27 Jan 2019 15:18:01 +0100 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]lavc/arbc: Use AV_WB24() where applicable 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hi! Minimal simplification attached. Please comment, Carl Eugen From e767b19ed1f87758ab777b70b6bb08ad44a6cf33 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Sun, 27 Jan 2019 15:10:04 +0100 Subject: [PATCH] lavc/arbc: Use AV_WB24() where applicable. --- libavcodec/arbc.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/libavcodec/arbc.c b/libavcodec/arbc.c index 01a146f..d2d109e 100644 --- a/libavcodec/arbc.c +++ b/libavcodec/arbc.c @@ -38,7 +38,7 @@ typedef struct ARBCContext { AVFrame *prev_frame; } ARBCContext; -static void fill_tile4(AVCodecContext *avctx, uint8_t *color, AVFrame *frame) +static void fill_tile4(AVCodecContext *avctx, int color, AVFrame *frame) { ARBCContext *s = avctx->priv_data; GetByteContext *gb = &s->gb; @@ -59,9 +59,7 @@ static void fill_tile4(AVCodecContext *avctx, uint8_t *color, AVFrame *frame) mask = mask << 1; continue; } - frame->data[0][frame->linesize[0] * (h - j) + 3 * k + 0] = color[0]; - frame->data[0][frame->linesize[0] * (h - j) + 3 * k + 1] = color[1]; - frame->data[0][frame->linesize[0] * (h - j) + 3 * k + 2] = color[2]; + AV_WB24(&frame->data[0][frame->linesize[0] * (h - j) + 3 * k], color); } mask = mask << 1; } @@ -70,7 +68,7 @@ static void fill_tile4(AVCodecContext *avctx, uint8_t *color, AVFrame *frame) } static void fill_tileX(AVCodecContext *avctx, int tile_width, int tile_height, - uint8_t *color, AVFrame *frame) + int color, AVFrame *frame) { ARBCContext *s = avctx->priv_data; GetByteContext *gb = &s->gb; @@ -93,9 +91,7 @@ static void fill_tileX(AVCodecContext *avctx, int tile_width, int tile_height, for (int n = 0; n < step_w; n++) { if (j + m >= avctx->height || k + n >= avctx->width) continue; - frame->data[0][frame->linesize[0] * (h - (j + m)) + 3 * (k + n) + 0] = color[0]; - frame->data[0][frame->linesize[0] * (h - (j + m)) + 3 * (k + n) + 1] = color[1]; - frame->data[0][frame->linesize[0] * (h - (j + m)) + 3 * (k + n) + 2] = color[2]; + AV_WB24(&frame->data[0][frame->linesize[0] * (h - (j + m)) + 3 * (k + n)], color); } } } @@ -132,16 +128,16 @@ static int decode_frame(AVCodecContext *avctx, void *data, for (int i = 0; i < nb_segments; i++) { int resolution_flag; - uint8_t fill[3]; + int fill; if (bytestream2_get_bytes_left(&s->gb) <= 0) return AVERROR_INVALIDDATA; - fill[0] = bytestream2_get_byte(&s->gb); + fill = bytestream2_get_byte(&s->gb) << 16; bytestream2_skip(&s->gb, 1); - fill[1] = bytestream2_get_byte(&s->gb); + fill |= bytestream2_get_byte(&s->gb) << 8; bytestream2_skip(&s->gb, 1); - fill[2] = bytestream2_get_byte(&s->gb); + fill |= bytestream2_get_byte(&s->gb) << 0; bytestream2_skip(&s->gb, 1); resolution_flag = bytestream2_get_byte(&s->gb); -- 1.7.10.4