From patchwork Tue Apr 7 21:46:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 18766 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 20A4044AF3F for ; Wed, 8 Apr 2020 00:46:33 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0A47968B6E3; Wed, 8 Apr 2020 00:46:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DB1A168B6CD for ; Wed, 8 Apr 2020 00:46:27 +0300 (EEST) Received: by mail-wr1-f68.google.com with SMTP id c15so5521394wro.11 for ; Tue, 07 Apr 2020 14:46:27 -0700 (PDT) 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 :mime-version:content-transfer-encoding; bh=2k2rmroLB+aEKrOmJKwb/CZWwTwMtLHmKnlUzdybc6k=; b=OGyLVF2ooS6q3OaX/KSOi5ZNXmTzS0SqRJh0kQ/lcQlUnuVm8K17aBpU+hwQgQaHcr 1PniXcRoAnIkZLyST+gWhlTXRfdPnLUQ/AMBCmAYk5/XqkVcse1PHmRgHSoRGApl9+4A dmOx0puCWvwFo897BjgZz7sJxJskaTI+1tX4Dk7QGIuM1L84sHxDK5P1deXvWKDI32y8 3D30/mha6jAUY2BRRdWm/kEzmnMa9sfMWlUa/uXpiyabVKREXuW0wkC3CRukWc+RihRo 0lBGvWM80iMIraUiUkg+iAQYRqK2Lb6Xjtb/KI+HxWV40ZC/N9tnJxhtYPEyzLor0rty ePOQ== 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:mime-version:content-transfer-encoding; bh=2k2rmroLB+aEKrOmJKwb/CZWwTwMtLHmKnlUzdybc6k=; b=KBGCJaL9i00tHyVZ2GUIOPIsDQCQiAN+E3sqzzUhiWuSezBnkH6UidSt1b9/tcpzoY wMBmNQE2Ue3S6DxrvivYHj2hh3kpqrhJJNkA0B9srN4IIFHWsa2zXsiyjcD8ymbif90h 1h/9BTnxs96tdpYG/kRbJgoAN8f0JZWTd5IIypRFKztYKmJ5er6Q9HI2096g+KR14+UI p9wEwtecHuHlFS79b6+q4P7xcuT5K38G3R8pUhh7PLYfS02pQsIRKfMD34JPoSi5HIri pS/MGKiTCxDjW3hc1j+co9qW+2qwWewt2UAFg7IFDvxq/Qt1rrFIvFa6zMsBwc6wi6bs g+wQ== X-Gm-Message-State: AGi0PubhNIdjavHD8zfyT14aYJbJzXSbl4fH59bSGxdDlCiVyqbQe9sm f3miQehG23qHYy83Cl8rwVqIkCWX X-Google-Smtp-Source: APiQypKnpFyX7KIGDV9rYRNICK9LkG5hz7tMN7Bb6mlD3nCIo/gJR8QfmL0Kv+36cElKIImhzgZDRw== X-Received: by 2002:a5d:6788:: with SMTP id v8mr5278171wru.149.1586295986904; Tue, 07 Apr 2020 14:46:26 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id c6sm7484789wrm.0.2020.04.07.14.46.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2020 14:46:26 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Apr 2020 23:46:03 +0200 Message-Id: <20200407214603.19798-9-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200407171950.19086-1-andreas.rheinhardt@gmail.com> References: <20200407171950.19086-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 10/10] avformat/filmstripenc: Use ff_raw_write_packet() 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 only difference of the currently used write_packet()-function to ff_raw_write_packet() is that the former also counts the number of frames. Yet doing so in the muxer itself is unnecessary as this is already done generically in write_packet() in libavformat/mux.c. Signed-off-by: Andreas Rheinhardt --- Note: The generic counter is only incremented when no write error happens. I doubt it matters. libavformat/Makefile | 2 +- libavformat/filmstripenc.c | 19 +++---------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/libavformat/Makefile b/libavformat/Makefile index 554b0bfbf8..d4bed3c113 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -179,7 +179,7 @@ OBJS-$(CONFIG_FFMETADATA_MUXER) += ffmetaenc.o OBJS-$(CONFIG_FIFO_MUXER) += fifo.o OBJS-$(CONFIG_FIFO_TEST_MUXER) += fifo_test.o OBJS-$(CONFIG_FILMSTRIP_DEMUXER) += filmstripdec.o -OBJS-$(CONFIG_FILMSTRIP_MUXER) += filmstripenc.o +OBJS-$(CONFIG_FILMSTRIP_MUXER) += filmstripenc.o rawenc.o OBJS-$(CONFIG_FITS_DEMUXER) += fitsdec.o OBJS-$(CONFIG_FITS_MUXER) += fitsenc.o OBJS-$(CONFIG_FLAC_DEMUXER) += flacdec.o rawdec.o \ diff --git a/libavformat/filmstripenc.c b/libavformat/filmstripenc.c index 8ead696360..83faf29556 100644 --- a/libavformat/filmstripenc.c +++ b/libavformat/filmstripenc.c @@ -26,13 +26,10 @@ #include "libavutil/intreadwrite.h" #include "avformat.h" +#include "rawenc.h" #define RAND_TAG MKBETAG('R','a','n','d') -typedef struct FilmstripMuxContext { - int nb_frames; -} FilmstripMuxContext; - static int write_header(AVFormatContext *s) { if (s->streams[0]->codecpar->format != AV_PIX_FMT_RGBA) { @@ -42,23 +39,14 @@ static int write_header(AVFormatContext *s) return 0; } -static int write_packet(AVFormatContext *s, AVPacket *pkt) -{ - FilmstripMuxContext *film = s->priv_data; - avio_write(s->pb, pkt->data, pkt->size); - film->nb_frames++; - return 0; -} - static int write_trailer(AVFormatContext *s) { - FilmstripMuxContext *film = s->priv_data; AVIOContext *pb = s->pb; AVStream *st = s->streams[0]; int i; avio_wb32(pb, RAND_TAG); - avio_wb32(pb, film->nb_frames); + avio_wb32(pb, st->nb_frames); avio_wb16(pb, 0); // packing method avio_wb16(pb, 0); // reserved avio_wb16(pb, st->codecpar->width); @@ -76,10 +64,9 @@ AVOutputFormat ff_filmstrip_muxer = { .name = "filmstrip", .long_name = NULL_IF_CONFIG_SMALL("Adobe Filmstrip"), .extensions = "flm", - .priv_data_size = sizeof(FilmstripMuxContext), .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_RAWVIDEO, .write_header = write_header, - .write_packet = write_packet, + .write_packet = ff_raw_write_packet, .write_trailer = write_trailer, };