From patchwork Mon Mar 8 15:29:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26268 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 12E1C44AF6D for ; Mon, 8 Mar 2021 17:30:11 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DE91E68A6E7; Mon, 8 Mar 2021 17:30:10 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F339968A5A8 for ; Mon, 8 Mar 2021 17:30:04 +0200 (EET) Received: by mail-ed1-f44.google.com with SMTP id v13so15293837edw.9 for ; Mon, 08 Mar 2021 07:30:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:reply-to:mime-version :content-transfer-encoding; bh=4iBUMuuPWDXm8Y+NcAx4nvJjlouU2i5xoYR/1evgrDA=; b=Q3o2xlMqrdaoL3smemu1nE5FRsBuDZ8TsmwN90VjIYzvjvPmOqNs2kQffMhKUdfPuG XG/Zal1kU3yZLxfYJiBfZIfQNj5+vD37quDDB5QxlHcOfUF6/uWrKaa0PhFoBfHsOKOh p7qpx3qsjGs0fLBu5VmB3vjlCri88h3dePF4P772hlA6IbQaEF0Bj7vxWyQ+ppJEc2uD UNLA+vfheLw9f1I5xy2xWLoEie8oz6ARtJ/bv68qTqqnjKqyKTb7TvansoN0JBFS/xMe z5U0rQsCUQfi8A2hQ+mZbc3vvLzbWYfXIfQeeiGoh0PeprtvJ5AgI4KBUIXY1Wwy4Uty DThQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :mime-version:content-transfer-encoding; bh=4iBUMuuPWDXm8Y+NcAx4nvJjlouU2i5xoYR/1evgrDA=; b=LD+jqDKIP1McjRdgykN1QNAMJLp+sdhZ3Y2BoD5r2fHs23fhv3phmokET+jB2TBN2O BfS8XUpWpVRfBLE6vAnNBxHn89TUBGO/oJZrckcide0J/yEE0Tt95pZG8ce/vJLOBxIN iDkLrNpQuywK/Por5wifphGtHQWbuv+mtmEGATeItLvs1inKpCAkvLW5j5xjoLTxW4dD XorKbSrYLBdGX65d25DH11RIAsYgM7oE1aDnHDSdMVltJNC8u2pCjGDCrmWwxaXGSHti eQx1WMn/31tr6XhuhcPMX2YRLrBzXwa8LHqoHAyMt74gq/pFwO+xQmIM7xuyEGAbyUgj 9p9Q== X-Gm-Message-State: AOAM531a6SzBVATcbq9B8ZE+m0P/KefUkMF4JM6sEF0WormRr4BMFwWZ 3Tpy7I34QECx8ptSlETpdz56wToQGJ0= X-Google-Smtp-Source: ABdhPJynAB32j3Bn3km5t1MQINseg7G110W28gEGE2+AFk/JNwE9Hn7dJe1CA5V/6ybtaQc5iWqr/g== X-Received: by 2002:a50:fa04:: with SMTP id b4mr23074719edq.293.1615217404100; Mon, 08 Mar 2021 07:30:04 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id lk12sm6665296ejb.14.2021.03.08.07.30.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Mar 2021 07:30:03 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Mar 2021 16:29:53 +0100 Message-Id: <20210308152957.601419-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/5] avcodec/ylc: Remove write-only variable 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Andreas Rheinhardt --- libavcodec/ylc.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/libavcodec/ylc.c b/libavcodec/ylc.c index f68fcf0bba..a200d04acd 100644 --- a/libavcodec/ylc.c +++ b/libavcodec/ylc.c @@ -58,7 +58,6 @@ static av_cold int decode_init(AVCodecContext *avctx) typedef struct Node { int16_t sym; - int16_t n0; uint32_t count; int16_t l, r; } Node; @@ -99,7 +98,6 @@ static int build_vlc(AVCodecContext *avctx, VLC *vlc, const uint32_t *table) for (i = 0; i < 256; i++) { nodes[i].count = table[i]; nodes[i].sym = i; - nodes[i].n0 = -2; nodes[i].l = i; nodes[i].r = i; } @@ -141,7 +139,6 @@ static int build_vlc(AVCodecContext *avctx, VLC *vlc, const uint32_t *table) } nodes[cur_node].count = nd + st; nodes[cur_node].sym = -1; - nodes[cur_node].n0 = cur_node; nodes[cur_node].l = first_node; nodes[cur_node].r = second_node; cur_node++; From patchwork Mon Mar 8 15:29:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26269 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 423B944AF6D for ; Mon, 8 Mar 2021 17:30:42 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1B70468A831; Mon, 8 Mar 2021 17:30:42 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F0C7F68A778 for ; Mon, 8 Mar 2021 17:30:35 +0200 (EET) Received: by mail-ej1-f49.google.com with SMTP id jt13so21245457ejb.0 for ; Mon, 08 Mar 2021 07:30:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=+tZWipiY+kQaRauAikZRNmoU9KNM2yqvVUMXTchtKC8=; b=TW90E4Je144l21aUyRoP6o2Qmht6/7BvDjLjPPxc+WLPUjESsYa5pt9LzBIjXsga+v FtjWP0uftgNUSJJFmGGO0npK0/xQCUCPSLLD01AkiZ5vwwge68yvKMcSdLqelAHeZd1n U+HE/UMgUvpqJQkoxt6s9fofrRTxbygXtoWPKAd4GXZ3JlD2tZMluE8vvw7yMzAjpwIp kyGf+4yAYbVEuFYnw86vtIfJgqxnL9nFJkfwqJ61i8qEA19/O96waIjapy+T5FIrDuU0 9bHT98VsOj4Dzzmw7E6o2OpZvKbSQjiz3KuNsgRYUJLeXx7N8UbrdUI3cw/W8agBmBaV eEsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=+tZWipiY+kQaRauAikZRNmoU9KNM2yqvVUMXTchtKC8=; b=AzaFa8xIIfTWbLzhQKp4Lv4URHeieCuy+GieYU9wVZrpvKX55pNAsFp5cyW+KGM6uW jlnnHvjUZgSbsvQE/E5arqPPBKikHpVWQrU5cugVne0K8+vuM0CCBjmjXlsP3aYkTlDB YzB9YeFX9+DMsLfMr1ufWOoEhZqCZCP/P/j17ghHR76KvknMDgU4zjez7HITupjl/jSj Q0Rl4eddNZb/BT7Lgktnk4L8rd0e4IeMPgHQrx5zoPyg0hPFw8k36xXGiKkqxu9lXBeX RLHMWzSXDaGySi5CiRXPWSKIkyrrcI9JXXgD8TO5OZR/js6GYdIb5Q2Ln5aZixsdb5YG yYHw== X-Gm-Message-State: AOAM531n3t+M8zKdkTcLs3WnIFuYn4tDs4G0vjkMhS5UiW6M5oBxPvWs sIlcTS4RN7aQaL9gXIF/XMldoJVmC6E= X-Google-Smtp-Source: ABdhPJyDS2Mbh8vW7p2mzgHrqqUaFd2IdcxGeO8EOEI0w8BVqrXraInRSy+qWQRnJ1byOn3KykgAUw== X-Received: by 2002:a17:906:b286:: with SMTP id q6mr15804909ejz.422.1615217435255; Mon, 08 Mar 2021 07:30:35 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id lk12sm6665296ejb.14.2021.03.08.07.30.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Mar 2021 07:30:34 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Mar 2021 16:29:54 +0100 Message-Id: <20210308152957.601419-2-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210308152957.601419-1-andreas.rheinhardt@gmail.com> References: <20210308152957.601419-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/5] avcodec/ylc: Only use one temporary buffer 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" The effective lifetime of the buffer used to build the VLCs and the buffer containing the bitstream is disjoint, so that one can use a common buffer for both. Signed-off-by: Andreas Rheinhardt --- libavcodec/ylc.c | 44 ++++++++++++++++++-------------------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/libavcodec/ylc.c b/libavcodec/ylc.c index a200d04acd..6dc3e60fec 100644 --- a/libavcodec/ylc.c +++ b/libavcodec/ylc.c @@ -39,10 +39,8 @@ typedef struct YLCContext { VLC vlc[4]; uint32_t table[1024]; - uint8_t *table_bits; - uint8_t *bitstream_bits; - int table_bits_size; - int bitstream_bits_size; + uint8_t *buffer; + int buffer_size; BswapDSPContext bdsp; } YLCContext; @@ -312,17 +310,18 @@ static int decode_frame(AVCodecContext *avctx, if ((ret = ff_thread_get_buffer(avctx, &frame, 0)) < 0) return ret; - av_fast_malloc(&s->table_bits, &s->table_bits_size, - boffset - toffset + AV_INPUT_BUFFER_PADDING_SIZE); - if (!s->table_bits) + av_fast_malloc(&s->buffer, &s->buffer_size, + FFMAX(boffset - toffset, avpkt->size - boffset) + + AV_INPUT_BUFFER_PADDING_SIZE); + if (!s->buffer) return AVERROR(ENOMEM); - memcpy(s->table_bits, avpkt->data + toffset, boffset - toffset); - memset(s->table_bits + boffset - toffset, 0, AV_INPUT_BUFFER_PADDING_SIZE); - s->bdsp.bswap_buf((uint32_t *) s->table_bits, - (uint32_t *) s->table_bits, + memcpy(s->buffer, avpkt->data + toffset, boffset - toffset); + memset(s->buffer + boffset - toffset, 0, AV_INPUT_BUFFER_PADDING_SIZE); + s->bdsp.bswap_buf((uint32_t *) s->buffer, + (uint32_t *) s->buffer, (boffset - toffset + 3) >> 2); - if ((ret = init_get_bits8(&gb, s->table_bits, boffset - toffset)) < 0) + if ((ret = init_get_bits8(&gb, s->buffer, boffset - toffset)) < 0) return ret; for (x = 0; x < 1024; x++) { @@ -345,17 +344,12 @@ static int decode_frame(AVCodecContext *avctx, if (ret < 0) return ret; - av_fast_malloc(&s->bitstream_bits, &s->bitstream_bits_size, - avpkt->size - boffset + AV_INPUT_BUFFER_PADDING_SIZE); - if (!s->bitstream_bits) - return AVERROR(ENOMEM); - - memcpy(s->bitstream_bits, avpkt->data + boffset, avpkt->size - boffset); - memset(s->bitstream_bits + avpkt->size - boffset, 0, AV_INPUT_BUFFER_PADDING_SIZE); - s->bdsp.bswap_buf((uint32_t *) s->bitstream_bits, - (uint32_t *) s->bitstream_bits, + memcpy(s->buffer, avpkt->data + boffset, avpkt->size - boffset); + memset(s->buffer + avpkt->size - boffset, 0, AV_INPUT_BUFFER_PADDING_SIZE); + s->bdsp.bswap_buf((uint32_t *) s->buffer, + (uint32_t *) s->buffer, (avpkt->size - boffset) >> 2); - if ((ret = init_get_bits8(&gb, s->bitstream_bits, avpkt->size - boffset)) < 0) + if ((ret = init_get_bits8(&gb, s->buffer, avpkt->size - boffset)) < 0) return ret; dst = p->data[0]; @@ -461,10 +455,8 @@ static av_cold int decode_end(AVCodecContext *avctx) ff_free_vlc(&s->vlc[1]); ff_free_vlc(&s->vlc[2]); ff_free_vlc(&s->vlc[3]); - av_freep(&s->table_bits); - s->table_bits_size = 0; - av_freep(&s->bitstream_bits); - s->bitstream_bits_size = 0; + av_freep(&s->buffer); + s->buffer_size = 0; return 0; } From patchwork Mon Mar 8 15:29:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26270 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 7436644AF6D for ; Mon, 8 Mar 2021 17:30:43 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5DAAB68A7FC; Mon, 8 Mar 2021 17:30:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C4A6468A78B for ; Mon, 8 Mar 2021 17:30:36 +0200 (EET) Received: by mail-ed1-f46.google.com with SMTP id dm26so15263073edb.12 for ; Mon, 08 Mar 2021 07:30:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=QNI9yJAopqI+hIUooYSyXBesyoDLQcoZQg0BLESBDfw=; b=uiFgp0bzpOjM0Q6ZPfgfhkUGpaCqnU3mVowD+96diQH98MHvXF1kfFdlaIXCpsGa1b 8ntx3mhKAL9028Earw2O3c/sUlSWMcuMtEAo6ShH1evCwqYm2dtCV7NgTfA5em/n9SXN RJQ9VrDS8JVdz33abL8QCKbdJIrOmKMxiLmu9izAVE8HIlUR2ayeo89EYMc5zogTCQWf p8lHH3POGbUNsMo6nZC0IHR4k5ENNPC9IgPq5Z9PBvbl4d4FuBVyFXq+l9oFlCiZOynb s9D55oNOoyDplhb3zFDAF8Ad1SkLxjYxlZ2F8dI9oPs7V8mTOW2FHigqievxthq8DMbt hibg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=QNI9yJAopqI+hIUooYSyXBesyoDLQcoZQg0BLESBDfw=; b=IU2+bsPlxATdexG7dTcBnnQQfEKm+3Kay1sT5mPd0PehwoHkad5peQ2a6jqee5BfKM UyS5hSDrMmzgAslX59Co8kVcpIlJhiGDBP0FXsvKyjdzc/Z5jD25dSmuHx+cAgW3kYET /S8kBOUjll5CfNgC5nCsBP/QIN+da2Su/soKc5xBNeDLUi4mf23+Ek3mu+NphE4Jd2Pb mdfWjWMt2cTej4K537EMC+f2pIXRi3Q1KyDAWjwXufEK96464ChByvNkHWPPzc7yeJqP IG1TdJEBmPvgFVip/KMQNJn9RG6/8MyVRQ4Npwiev/4zsMxJs7KPcX6ikosu1gt0yk1z eXNw== X-Gm-Message-State: AOAM5310ffHV01f0BuD8pyfZIuUtBp7bRlla/6X/8J8U763x9/DYfs7z pRK7FWvuBiAeTeYXTJn54tz5XpJrfWw= X-Google-Smtp-Source: ABdhPJxrDVQiYr8co2m8KM9RoQ3kF/DlHf/MKEhPXQeFb/hDbTZJxQuxyQQmQg/fXm6XOoWc8MYH+g== X-Received: by 2002:a05:6402:13ca:: with SMTP id a10mr22551550edx.320.1615217436023; Mon, 08 Mar 2021 07:30:36 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id lk12sm6665296ejb.14.2021.03.08.07.30.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Mar 2021 07:30:35 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Mar 2021 16:29:55 +0100 Message-Id: <20210308152957.601419-3-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210308152957.601419-1-andreas.rheinhardt@gmail.com> References: <20210308152957.601419-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/5] avcodec/ylc: Avoid code duplication when creating and freeing VLCs 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Andreas Rheinhardt --- libavcodec/ylc.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/libavcodec/ylc.c b/libavcodec/ylc.c index 6dc3e60fec..793d8846b5 100644 --- a/libavcodec/ylc.c +++ b/libavcodec/ylc.c @@ -38,7 +38,7 @@ typedef struct YLCContext { VLC vlc[4]; - uint32_t table[1024]; + uint32_t table[256]; uint8_t *buffer; int buffer_size; BswapDSPContext bdsp; @@ -324,25 +324,18 @@ static int decode_frame(AVCodecContext *avctx, if ((ret = init_get_bits8(&gb, s->buffer, boffset - toffset)) < 0) return ret; - for (x = 0; x < 1024; x++) { + for (int i = 0; i < 4; i++) { + for (x = 0; x < 256; x++) { unsigned len = get_unary(&gb, 1, 31); uint32_t val = ((1U << len) - 1) + get_bits_long(&gb, len); s->table[x] = val; } - ret = build_vlc(avctx, &s->vlc[0], &s->table[0 ]); - if (ret < 0) - return ret; - ret = build_vlc(avctx, &s->vlc[1], &s->table[256]); - if (ret < 0) - return ret; - ret = build_vlc(avctx, &s->vlc[2], &s->table[512]); - if (ret < 0) - return ret; - ret = build_vlc(avctx, &s->vlc[3], &s->table[768]); + ret = build_vlc(avctx, &s->vlc[i], s->table); if (ret < 0) return ret; + } memcpy(s->buffer, avpkt->data + boffset, avpkt->size - boffset); memset(s->buffer + avpkt->size - boffset, 0, AV_INPUT_BUFFER_PADDING_SIZE); @@ -451,10 +444,8 @@ static av_cold int decode_end(AVCodecContext *avctx) { YLCContext *s = avctx->priv_data; - ff_free_vlc(&s->vlc[0]); - ff_free_vlc(&s->vlc[1]); - ff_free_vlc(&s->vlc[2]); - ff_free_vlc(&s->vlc[3]); + for (int i = 0; i < FF_ARRAY_ELEMS(s->vlc); i++) + ff_free_vlc(&s->vlc[i]); av_freep(&s->buffer); s->buffer_size = 0; From patchwork Mon Mar 8 15:29:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26271 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 AB18044AF6D for ; Mon, 8 Mar 2021 17:30:45 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 930FA68A91A; Mon, 8 Mar 2021 17:30:45 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9E8FD68A778 for ; Mon, 8 Mar 2021 17:30:37 +0200 (EET) Received: by mail-ej1-f52.google.com with SMTP id ci14so21118792ejc.7 for ; Mon, 08 Mar 2021 07:30:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=Uv07aqHgoG+d0fZ+McWJCB1jNuR8eh4mWqpcJ2BUqys=; b=PaodNq9DngqqyYuukoIWJFHpkAuikxpF8miRJ4cAsyeFU6bEikP6AIRmPRcevfJgIT NWtP0aIfe9/BFJFV/Lq8Z34+KHlJfIF3wys9ARzUBzpMZVzvPBD2LlVE+cGT4M0h0+5u +ILn4CG2HfztgsqBPHU1XmAVFzRbQaATGuLyB1AHNfyLq71aZvQUE9SMuxSJlOg6HZr6 4g2C/iPZYsV/UwG6rw5qrOpymUD4yKTBdRLZuHyhm+4Jbzr0tAaZ2JIl/PFcYkGwOCLF 4EpiOmR9o9odxu/VBLL+WDlJ7yWf4J1kUx+QFiINx2cC31KCpoFSBlLXBylbyDWCnPjI IBwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=Uv07aqHgoG+d0fZ+McWJCB1jNuR8eh4mWqpcJ2BUqys=; b=W4PDQp00ekbTb+sI/CTEJWVNm+WYYl4eyBwiLQ5ynB4sR6L3cRuYIENFZ+kkTRnxeU JpaSWiHQC/AjrL0bZ0yBacC0eg0ZlnixBEYzJ+LJTZQF2tkHh7S/5GoQoMRUW4jtgcP2 69BmuMk8Xwa3nizQVRfX2knEMQiphPMqmDIg3llTzPgC7RNlGOUZk5fPMSMpuTala0bS wMKfDAKlaUrTBzb0Bf/8yjhxj9Fbf+TvcIRkFZkk+YFrsp3z0wKOPeoE7nsX+BhJnorm 8cXxQGqFSnDMwNZ9p5hBVVyGzugtW3SHAX5+HQuNebp4Z/36w6xrfA38xNTlNSuMYdNT Ue7Q== X-Gm-Message-State: AOAM531h7NVRvRCFAc8rgGBZk9liel5ZNT38LBm93Mu8Kr/yh5KB3E4e xDNgmuLn0SS+yBlXjudtrSe99X+KppU= X-Google-Smtp-Source: ABdhPJzS/QyJnISmiwl2E5zTBkD4vQUbF+B5ymJ5ZEDwPl+GhL7Fgix3cltEfZGZrTKBz+ilh9wOZQ== X-Received: by 2002:a17:906:ecfb:: with SMTP id qt27mr15158879ejb.245.1615217436915; Mon, 08 Mar 2021 07:30:36 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id lk12sm6665296ejb.14.2021.03.08.07.30.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Mar 2021 07:30:36 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Mar 2021 16:29:56 +0100 Message-Id: <20210308152957.601419-4-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210308152957.601419-1-andreas.rheinhardt@gmail.com> References: <20210308152957.601419-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/5] avcodec/ylc: Reindent after previous commit 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Andreas Rheinhardt --- libavcodec/ylc.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/ylc.c b/libavcodec/ylc.c index 793d8846b5..ab1f8958f3 100644 --- a/libavcodec/ylc.c +++ b/libavcodec/ylc.c @@ -326,15 +326,15 @@ static int decode_frame(AVCodecContext *avctx, for (int i = 0; i < 4; i++) { for (x = 0; x < 256; x++) { - unsigned len = get_unary(&gb, 1, 31); - uint32_t val = ((1U << len) - 1) + get_bits_long(&gb, len); + unsigned len = get_unary(&gb, 1, 31); + uint32_t val = ((1U << len) - 1) + get_bits_long(&gb, len); - s->table[x] = val; - } + s->table[x] = val; + } ret = build_vlc(avctx, &s->vlc[i], s->table); - if (ret < 0) - return ret; + if (ret < 0) + return ret; } memcpy(s->buffer, avpkt->data + boffset, avpkt->size - boffset); From patchwork Mon Mar 8 15:29:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26272 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 961E844AF6D for ; Mon, 8 Mar 2021 17:30:46 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7CB9768A853; Mon, 8 Mar 2021 17:30:46 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A999B68A8F0 for ; Mon, 8 Mar 2021 17:30:38 +0200 (EET) Received: by mail-ej1-f48.google.com with SMTP id hs11so21196418ejc.1 for ; Mon, 08 Mar 2021 07:30:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=yZvK/gFl9/bBfJVIkU0z8rdOLU1woiXu3eyZIlnJQLI=; b=C+AnIAzgouH5vChOo4Z2oFCTIVUjYi+xkhwEjPcmswqF63Jq0ZnPGbjngdasj9lB+D fOHfXzVsRkXbrH8CmdgKdYN3Sm2qrJ3mtBTH/LKHHjDjoVcr7HanTl/ADbHMyPvvsMQ5 E5SKQYX7xWT42mgmKi7NlCV/KZ8yfxtexkUhu2PnyVRG9OmLIPJNTMUwaerLizH5N5VM B2aowpsVRKYu4LoCO0xEf6QgX3GBUpic4W2/T8NKXgPLUKl4rDhqZvyaCHEbydY0K3E3 Z0hRN/EMg3mhcXCkiPFB/5Ar00CZO2FOv4yFNImDlM/1h8teK53h2u/lrj+yH25fD3/z 96jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=yZvK/gFl9/bBfJVIkU0z8rdOLU1woiXu3eyZIlnJQLI=; b=gYAJSV6B2bk8YOZmhHCXRsqjnn/bJaveVJFNF1jm7BWDP3LQw1jeDNr8XZ/fxPTwxH yF6F+HFeMpkaD8msSdYflVNieXgDtSovSKXbCyNe8YGslYpcHT3wkZrX2I/tOdcnHXhn gK51vVMpPCFmI3Jvc/a/L3IPK9pLDz0eZ/OxHzjGh0MmkOyCLgsgYMwiHK87gxvXN/ka cTEAlDYcWGKvfxcZ9Yev0wkIISaMpwPGYeF654aq0k7Kka4+vHr4fxrrlVWEDw78YnmQ XvimMsI64pp8HjcWyLNBkyYhEYdUR2ylFP/LEpUMUc07zJWQjQq4h7aRLPwxgVk+j7Zs lkyA== X-Gm-Message-State: AOAM532HXCXl193JaXlPsHf93fp6SaEtJKSZMkBglhJCS4vLdOQ+4KRP EqxbpH7/Eo2+pG0dCuHBoMc3y7q5gpE= X-Google-Smtp-Source: ABdhPJz526RK3d22n9VmgfaxdYmTZLPENvbm8q56L3NmErKkNRHlq11pxKqTmHBGbqcPrbbMD3pVUw== X-Received: by 2002:a17:906:dbd0:: with SMTP id yc16mr15557383ejb.71.1615217437873; Mon, 08 Mar 2021 07:30:37 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id lk12sm6665296ejb.14.2021.03.08.07.30.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Mar 2021 07:30:37 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Mar 2021 16:29:57 +0100 Message-Id: <20210308152957.601419-5-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210308152957.601419-1-andreas.rheinhardt@gmail.com> References: <20210308152957.601419-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/5] avformat/rawenc: Use init instead of write_header function 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" force_one_stream() does not write anything. Signed-off-by: Andreas Rheinhardt --- Is it it actually intended that the mp2 muxer does not use force_one_stream at all? And is it intended that force_one_stream does only check codec_type and not the actual codec? And wouldn't it be better to inform the caller about the fact that the format supports only one stream by adding a new AVOutputFormat.flags? libavformat/rawenc.c | 60 ++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c index 32704f9bfd..caec297f4a 100644 --- a/libavformat/rawenc.c +++ b/libavformat/rawenc.c @@ -64,7 +64,7 @@ AVOutputFormat ff_ac3_muxer = { .extensions = "ac3", .audio_codec = AV_CODEC_ID_AC3, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -96,7 +96,7 @@ AVOutputFormat ff_adx_muxer = { .extensions = "adx", .audio_codec = AV_CODEC_ID_ADPCM_ADX, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .write_trailer = adx_write_trailer, .flags = AVFMT_NOTIMESTAMPS, @@ -110,7 +110,7 @@ AVOutputFormat ff_aptx_muxer = { .extensions = "aptx", .audio_codec = AV_CODEC_ID_APTX, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -123,7 +123,7 @@ AVOutputFormat ff_aptx_hd_muxer = { .extensions = "aptxhd", .audio_codec = AV_CODEC_ID_APTX_HD, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -136,7 +136,7 @@ AVOutputFormat ff_avs2_muxer = { .extensions = "avs,avs2", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_AVS2, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -149,7 +149,7 @@ AVOutputFormat ff_cavsvideo_muxer = { .extensions = "cavs", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_CAVS, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -161,7 +161,7 @@ AVOutputFormat ff_codec2raw_muxer = { .long_name = NULL_IF_CONFIG_SMALL("raw codec2 muxer"), .audio_codec = AV_CODEC_ID_CODEC2, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -172,7 +172,7 @@ AVOutputFormat ff_codec2raw_muxer = { AVOutputFormat ff_data_muxer = { .name = "data", .long_name = NULL_IF_CONFIG_SMALL("raw data"), - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -185,7 +185,7 @@ AVOutputFormat ff_dirac_muxer = { .extensions = "drc,vc2", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_DIRAC, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -198,7 +198,7 @@ AVOutputFormat ff_dnxhd_muxer = { .extensions = "dnxhd,dnxhr", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_DNXHD, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -212,7 +212,7 @@ AVOutputFormat ff_dts_muxer = { .extensions = "dts", .audio_codec = AV_CODEC_ID_DTS, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -226,7 +226,7 @@ AVOutputFormat ff_eac3_muxer = { .extensions = "eac3", .audio_codec = AV_CODEC_ID_EAC3, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -240,7 +240,7 @@ AVOutputFormat ff_g722_muxer = { .extensions = "g722", .audio_codec = AV_CODEC_ID_ADPCM_G722, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -254,7 +254,7 @@ AVOutputFormat ff_g723_1_muxer = { .extensions = "tco,rco", .audio_codec = AV_CODEC_ID_G723_1, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -266,7 +266,7 @@ AVOutputFormat ff_g726_muxer = { .long_name = NULL_IF_CONFIG_SMALL("raw big-endian G.726 (\"left-justified\")"), .audio_codec = AV_CODEC_ID_ADPCM_G726, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -278,7 +278,7 @@ AVOutputFormat ff_g726le_muxer = { .long_name = NULL_IF_CONFIG_SMALL("raw little-endian G.726 (\"right-justified\")"), .audio_codec = AV_CODEC_ID_ADPCM_G726LE, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -292,7 +292,7 @@ AVOutputFormat ff_gsm_muxer = { .extensions = "gsm", .audio_codec = AV_CODEC_ID_GSM, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -306,7 +306,7 @@ AVOutputFormat ff_h261_muxer = { .extensions = "h261", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_H261, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -320,7 +320,7 @@ AVOutputFormat ff_h263_muxer = { .extensions = "h263", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_H263, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -342,7 +342,7 @@ AVOutputFormat ff_h264_muxer = { .extensions = "h264,264", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_H264, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .check_bitstream = h264_check_bitstream, .flags = AVFMT_NOTIMESTAMPS, @@ -365,7 +365,7 @@ AVOutputFormat ff_hevc_muxer = { .extensions = "hevc,h265,265", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_HEVC, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .check_bitstream = hevc_check_bitstream, .flags = AVFMT_NOTIMESTAMPS, @@ -379,7 +379,7 @@ AVOutputFormat ff_m4v_muxer = { .extensions = "m4v", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_MPEG4, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -393,7 +393,7 @@ AVOutputFormat ff_mjpeg_muxer = { .extensions = "mjpg,mjpeg", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_MJPEG, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -406,9 +406,9 @@ AVOutputFormat ff_singlejpeg_muxer = { .mime_type = "image/jpeg", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_MJPEG, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, - .write_header = force_one_stream, }; #endif @@ -419,7 +419,7 @@ AVOutputFormat ff_mlp_muxer = { .extensions = "mlp", .audio_codec = AV_CODEC_ID_MLP, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -446,7 +446,7 @@ AVOutputFormat ff_mpeg1video_muxer = { .extensions = "mpg,mpeg,m1v", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_MPEG1VIDEO, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -459,7 +459,7 @@ AVOutputFormat ff_mpeg2video_muxer = { .extensions = "m2v", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_MPEG2VIDEO, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -484,7 +484,7 @@ AVOutputFormat ff_sbc_muxer = { .mime_type = "audio/x-sbc", .extensions = "sbc,msbc", .audio_codec = AV_CODEC_ID_SBC, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -497,7 +497,7 @@ AVOutputFormat ff_truehd_muxer = { .extensions = "thd", .audio_codec = AV_CODEC_ID_TRUEHD, .video_codec = AV_CODEC_ID_NONE, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, }; @@ -510,7 +510,7 @@ AVOutputFormat ff_vc1_muxer = { .extensions = "vc1", .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_VC1, - .write_header = force_one_stream, + .init = force_one_stream, .write_packet = ff_raw_write_packet, .flags = AVFMT_NOTIMESTAMPS, };