From patchwork Fri Mar 5 16:32:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 26116 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 B969044B9E2 for ; Fri, 5 Mar 2021 18:35:34 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83F4668A76C; Fri, 5 Mar 2021 18:35:34 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D83CE6880AB for ; Fri, 5 Mar 2021 18:35:27 +0200 (EET) Received: by mail-qt1-f177.google.com with SMTP id v3so2176704qtw.4 for ; Fri, 05 Mar 2021 08:35:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=Xn1a5GpjTjsVEScdaO8JC+rR+g2i/Zdzoe8dXb77pnI=; b=tGXfWLkd8x2LZzqZZqvKuDX5wZB2j88XZzub8B1XyxPAmR49cq7PhiKKyic+8TDAFD gI6l0WMrOLEZAifB6SQYPb+IZLexOLfyoc1f7tsCZwhahlT8PTYEiwvKrWzP+J1mRA21 aaO6DXkBOaQyQ1/g4oEgEnimdM/d8WEhBi5dy2bT13uy5v2jYR3MjFfsPqIdERIR6hkL bpAAQotSEVNbydA/9a5UCkfC7LnaWEghI00t31a1bxU3VHE2aFDYfJQtNv8GyiTWiWfU 2sxMuwwGGGI/cXIdehFUvDymCdmjaJuuteJsagcMzpcZ64TXXlghEFy9FwgTOqs7TnBD uBCg== 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:mime-version :content-transfer-encoding; bh=Xn1a5GpjTjsVEScdaO8JC+rR+g2i/Zdzoe8dXb77pnI=; b=MDa6xt5cxd4L4MDu8D7g9WTqvRDwtAvOMB8cTKvbQ9ygV2hwgtV/zBC6Vl6XHazBE8 O5WvXkJ86gdXWLMRaFe4aiSEc7BBGbjTkT1uSMirJ2vxZD4tPtQYEoovyYwWjkFN9VCQ y5CrSQIZLn3HJAeEjQY+PeTAiMaUn0XmgrpqtCfWGQa5HomAD9GpGKbGxegnRKREvv/+ /aZ48m0spfloFbx8m7pkaxxXpKAUl4kipGL/Y6LLS056lsnTUjLy9F2msLFC8+XPn/ng V+nk2ek9j7mZ2PFMXOr+2LbYkq461rwMSTQ/HSnkEC6M20ye8BvWkwlNDdX8TqDZ3GRn BF9g== X-Gm-Message-State: AOAM530Kjv16NgDcMr91ULJEvcmz/A5aTxgpOZSQsc76rUJRXs49cszh uRyVIAukliNx6WCZ/z/7BoejzJKHY0wyKg== X-Google-Smtp-Source: ABdhPJxcJsMjPlSX/wVsJQoIwbfKVdmhFGL0pgdtBfBK+7u1clnpD1rwwZjr9XRN8Hkar/+R0fLtSw== X-Received: by 2002:ac8:578f:: with SMTP id v15mr9271882qta.172.1614962125854; Fri, 05 Mar 2021 08:35:25 -0800 (PST) Received: from localhost.localdomain ([181.23.89.132]) by smtp.gmail.com with ESMTPSA id b10sm2168494qtt.23.2021.03.05.08.35.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Mar 2021 08:35:25 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 5 Mar 2021 13:32:51 -0300 Message-Id: <20210305163339.63164-1-jamrial@gmail.com> X-Mailer: git-send-email 2.30.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 00/48 v3] deprecate av_init_packet() and sizeof(AVPacket) as part of the ABI 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" Changes from v2 include fixing issues reported in the previous set, handling AVPacketList in a better way, skiping the dv patch for now as it needs a more thorough solution, removed the ffplay patch as it was already done by Marton, and removed the frame_thread_encoder patch as it became unnecessary after a change by Andreas. The decklink patch still only removes the av_init_packet() calls and doesn't remove stack usage, as I can't test it. James Almer (48): avcodec/packet: deprecate av_init_packet() avcodec/packet_internal: make avpriv_packet_list_* functions use an internal struct avcodec/cri: use av_packet_alloc() to allocate packets avcodec/mmal: use av_packet_alloc() to allocate packets avcodec/libxvid: use av_packet_alloc() to allocate packets avcodec/mpegvideo_enc: use av_packet_alloc() to allocate packets avcodec/pthread_frame: use av_packet_alloc() to allocate packets avcodec/tdsc: use av_packet_alloc() to allocate packets avcodec/tiff: use av_packet_alloc() to allocate AVPackets avcodec/webp: use av_packet_alloc() to allocate packets avcodec/tests/avpacket: use av_packet_alloc() to allocate packets avformat/mux: use av_packet_alloc() to allocate packets avformat/utils: use av_packet_alloc() to allocate packets avformat/amvenc: use av_packet_alloc() to allocate packets avformat/asfdec_o: use av_packet_alloc() to allocate packets avformat/avidec: use av_packet_alloc() to allocate packets avformat/avienc: use av_packet_alloc() to allocate packets avformat/flac_picture: replace call to av_init_packet() avformat/id3v2: replace call to av_init_packet() avformat/flacdec: use av_packet_alloc() to allocate packets avformat/hls: use av_packet_alloc() to allocate packets avformat/matroskadec: use av_packet_alloc() to allocate packets avformat/matroskaenc: use av_packet_alloc() to allocate packets avformat/movenc: use av_packet_alloc() to allocate packets avformat/mpegts: use av_packet_alloc() to allocate packets avformat/mpegtsenc: use av_packet_alloc() to allocate packets avformat/rtpdec: use av_packet_alloc() to allocate packets avformat/rtpenc_mpegts: use av_packet_alloc() to allocate packets avformat/subtitles: use av_packet_alloc() to allocate packets avformat/wc3movie: use av_packet_alloc() to allocate packets avformat/tests/fifo_muxer: use av_packet_alloc() to allocate packets avformat/tests/movenc: use av_packet_alloc() to allocate packets avdevice/decklink_dec: stop using av_init_packet() avdevice/xcbgrab: stop using av_init_packet() avfilter/vf_mcdeint: use av_packet_alloc() to allocate packets avfilter/vf_uspp: use av_packet_alloc() to allocate packets tools/pktdumper: use av_packet_alloc() to allocate packets tools/target_dec_fuzzer: use av_packet_alloc() to allocate packets tools/target_dem_fuzzer: use av_packet_alloc() to allocate packets tools/target_bsf_fuzzer: use av_packet_alloc() to allocate packets tests/api/api-flac-test: use av_packet_alloc() to allocate packets doc/examples/demuxing_decoding: use av_packet_alloc() to allocate packets doc/examples/transcode_aac: use av_packet_alloc() to allocate packets doc/examples/transcoding: use av_packet_alloc() to allocate packets doc/examples/vaapi_encode: use av_packet_alloc() to allocate packets doc/examples/vaapi_transcode: use av_packet_alloc() to allocate packets fftools/ffprobe: use av_packet_alloc() to allocate packets fftools/ffmpeg: use av_packet_alloc() to allocate packets doc/examples/demuxing_decoding.c | 25 +-- doc/examples/transcode_aac.c | 46 +++-- doc/examples/transcoding.c | 48 +++-- doc/examples/vaapi_encode.c | 16 +- doc/examples/vaapi_transcode.c | 42 ++-- fftools/ffmpeg.c | 318 ++++++++++++++++--------------- fftools/ffmpeg.h | 4 + fftools/ffmpeg_opt.c | 5 +- fftools/ffprobe.c | 34 ++-- libavcodec/avpacket.c | 41 ++-- libavcodec/cri.c | 16 +- libavcodec/libxvid.c | 13 +- libavcodec/mmaldec.c | 15 +- libavcodec/mpegvideo_enc.c | 38 ++-- libavcodec/packet.h | 22 ++- libavcodec/packet_internal.h | 10 +- libavcodec/pthread_frame.c | 20 +- libavcodec/tdsc.c | 14 +- libavcodec/tests/avpacket.c | 19 +- libavcodec/tiff.c | 14 +- libavcodec/version.h | 5 +- libavcodec/webp.c | 24 ++- libavdevice/decklink_common.h | 2 +- libavdevice/decklink_dec.cpp | 21 +- libavdevice/dshow.c | 10 +- libavdevice/dshow_capture.h | 3 +- libavdevice/vfwcap.c | 13 +- libavdevice/xcbgrab.c | 4 - libavfilter/vf_mcdeint.c | 13 +- libavfilter/vf_uspp.c | 14 +- libavformat/aiffenc.c | 4 +- libavformat/amvenc.c | 41 ++-- libavformat/asfdec_o.c | 63 +++--- libavformat/avformat.h | 4 + libavformat/avidec.c | 24 ++- libavformat/avienc.c | 18 +- libavformat/flac_picture.c | 2 +- libavformat/flacdec.c | 15 +- libavformat/flacenc.c | 2 +- libavformat/hls.c | 73 +++---- libavformat/id3v2.c | 2 +- libavformat/internal.h | 20 +- libavformat/jacosubdec.c | 2 +- libavformat/matroskadec.c | 21 +- libavformat/matroskaenc.c | 21 +- libavformat/movenc.c | 101 ++++++---- libavformat/movenc.h | 4 +- libavformat/movenchint.c | 19 +- libavformat/mp3enc.c | 2 +- libavformat/mpeg.c | 4 +- libavformat/mpegts.c | 36 ++-- libavformat/mpegtsenc.c | 19 +- libavformat/mpsubdec.c | 4 +- libavformat/mux.c | 51 ++--- libavformat/mxfenc.c | 7 +- libavformat/options.c | 9 + libavformat/rtpdec.c | 2 +- libavformat/rtpdec_qt.c | 63 +++--- libavformat/rtpenc_mpegts.c | 23 ++- libavformat/subtitles.c | 69 +++---- libavformat/subtitles.h | 2 +- libavformat/tedcaptionsdec.c | 4 +- libavformat/tests/fifo_muxer.c | 28 ++- libavformat/tests/movenc.c | 81 ++++---- libavformat/ttaenc.c | 2 +- libavformat/utils.c | 115 ++++++----- libavformat/wc3movie.c | 21 +- tests/api/api-flac-test.c | 21 +- tools/pktdumper.c | 23 ++- tools/target_bsf_fuzzer.c | 33 ++-- tools/target_dec_fuzzer.c | 73 ++++--- tools/target_dem_fuzzer.c | 13 +- 72 files changed, 1153 insertions(+), 857 deletions(-)