From patchwork Sun Jun 21 08:53:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 20532 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 0B43944B677 for ; Sun, 21 Jun 2020 11:54:04 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CDAF568B675; Sun, 21 Jun 2020 11:54:03 +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 DFFB968B668 for ; Sun, 21 Jun 2020 11:53:57 +0300 (EEST) Received: by mail-wr1-f68.google.com with SMTP id v3so6209398wrc.1 for ; Sun, 21 Jun 2020 01:53:57 -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:mime-version :content-transfer-encoding; bh=yEFm9CfkfisL4jMaSgnV1T6m5POSgDwVWuzdS2e0lH8=; b=H85Rh1BElwHzZ6JTem4h44u1NfK8CkEbYt+JSi53+F3yXdow5Or+8yRJCQZQvF1Xmc DEDx2oD2EpCh2MusiYx1n4Rre5H0lzsF4M481GcJNkZszO/2Uq9kL4QntiFQaYFw0mZv lPc4haOx1059olFM37fhc27fy0+At1DLQ+wjqfsclq1vgRW5Wmivenb2noduCpHAPdX3 9GCoIHLsjq7fvjrIIvIkGIAp5cnsECF5+0TGM2AoKvQ4C9G7gTdVNTRzB54BCQbbke34 VAWmwF5i6T8IYqOmjDqXXCPvosB21aoxXMx3pxlkdMiemgV6D2uALgNyuKJXlK873mB8 /7uw== 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:mime-version :content-transfer-encoding; bh=yEFm9CfkfisL4jMaSgnV1T6m5POSgDwVWuzdS2e0lH8=; b=GRP+9nTDCtc0UH308mwiyrp49zMq0/2xbnhGoYZ8SLygQa0DYAcOVAz7cJRwHpJXzT flzPJo9s+l2TjRFx7QYGuf9GzZH5PcfsqaC2U1ln89G1Cc1zSEzcJJOIzY0qqIm704ZO rGK1BId1Z6bNQycZO2giUL7l7b9KE8Phy6+NmhkY9pq9EsfHb7F3hGkRgyLDpjG5AYda MU5sQocbFIXnXwemwdzUZCMpIlmV0MW/9+SMRBnT2J/iUDNBw6fPwWtmuQxlj/QleKFn ZTcI2ji/0g4m0m6jozKThyms302K7EIMuaejLfNBdtChxusv9iCvZxJ/HdCZ+cbfpBFP sEnQ== X-Gm-Message-State: AOAM531eGS+wOUZMaz3MDww1uuAVYu6NN40STqwKfOxRrGtclSGZLFpe ijerdALqdY8hCl5LuUIGq+7dvbCc X-Google-Smtp-Source: ABdhPJzrMg3PMw4NtP6Da+SLu0M60Za0JsGDLnXYomZFpRvMEEFnycMx6/OFCmCLpJ/OXqRUmfpVmw== X-Received: by 2002:adf:dc42:: with SMTP id m2mr13824312wrj.342.1592729637134; Sun, 21 Jun 2020 01:53:57 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id b143sm12616054wme.20.2020.06.21.01.53.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Jun 2020 01:53:56 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Jun 2020 10:53:45 +0200 Message-Id: <20200621085349.22370-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/5] avcodec/nellymoserdec: Don't use invalid AVPacketSideDataType 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" Commits 957a593cd95b15a5dcb2f50306fbac59f09d8e9e and 11828b8885cc1d87ffc7b1b4bbe642ce9720b194 made the flv demuxer export a certain flag as side data to be used by the nellymoser decoder for mid-stream sample rate changes. It used a custom side data type 'F' that was never officially documented. Yet since 2215c39e94e01f57b3191a29e0e51d7e230daf49 (merged in commit 52c522c72090233edeeb0486a9bd8bee925a710a) this information is exported via the properly documented AV_PKT_DATA_PARAM_CHANGE side data. The merge commit therefore stopped exporting the 'F' sidedata; yet the changes in the Nellymoser decoder (which are now dead code (and would become dangerous if lots of new side data types were added)) have not been removed. This commit does this. Signed-off-by: Andreas Rheinhardt --- libavcodec/nellymoserdec.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/libavcodec/nellymoserdec.c b/libavcodec/nellymoserdec.c index b0deb79cf5..d667d9ce79 100644 --- a/libavcodec/nellymoserdec.c +++ b/libavcodec/nellymoserdec.c @@ -143,7 +143,6 @@ static int decode_tag(AVCodecContext *avctx, void *data, { AVFrame *frame = data; const uint8_t *buf = avpkt->data; - const uint8_t *side=av_packet_get_side_data(avpkt, 'F', NULL); int buf_size = avpkt->size; NellyMoserDecodeContext *s = avctx->priv_data; int blocks, i, ret; @@ -160,15 +159,6 @@ static int decode_tag(AVCodecContext *avctx, void *data, av_log(avctx, AV_LOG_WARNING, "Leftover bytes: %d.\n", buf_size % NELLY_BLOCK_LEN); } - /* Normal numbers of blocks for sample rates: - * 8000 Hz - 1 - * 11025 Hz - 2 - * 16000 Hz - 3 - * 22050 Hz - 4 - * 44100 Hz - 8 - */ - if(side && blocks>1 && avctx->sample_rate%11025==0 && (1<<((side[0]>>2)&3)) == blocks) - avctx->sample_rate= 11025*(blocks/2); /* get output buffer */ frame->nb_samples = NELLY_SAMPLES * blocks; From patchwork Sun Jun 21 08:53:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 20533 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 1AFBB44B677 for ; Sun, 21 Jun 2020 11:54:21 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E9D4C68B617; Sun, 21 Jun 2020 11:54:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1669668B617 for ; Sun, 21 Jun 2020 11:54:15 +0300 (EEST) Received: by mail-wr1-f67.google.com with SMTP id l10so13691869wrr.10 for ; Sun, 21 Jun 2020 01:54:15 -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=JVUanU8oXYrUgAejyh7r2U5sV9xVpVR6CcmpGDM9poE=; b=dEyK1e87so93JZtU07sWcmQbw82uYPmEgOlaBtqhQ60FsriSraVcFhau40dNoLvDKF /racuoINKvA/M0v78YVEi4NyVnn8EIv33HQk/UQ4wwsSBQSbxxqg/HfyX8YCKLUWSo3U 3sWlxSX8b0GAYp7gn/r2z4Mc6sNsLoD+yvjKP1Z7zf84OT6UuzhZK/9MOTr4Km7fHqJI +LHcLRUS7nA8DDwtJIDnuA9hU6KK3cOKkgu2gq1qEUzNJ3Lwlu5W7GQwc4rsPgAgz5AF 5FfBAIix2bYegB4RL6gDbMD4oJgu5ssUDOUuWp+PRqLqyQiCcYxOmds1G6vP46SiP8xc d/dw== 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=JVUanU8oXYrUgAejyh7r2U5sV9xVpVR6CcmpGDM9poE=; b=fCBCx4xdqfDCJm6JwVyR7bf55Du3p4uKAqtNsRyjz5OAezfAE8lSSq+5TQcLviwlxx aT5+x2G8cpwS1XEU3KALpJFKRGnaXmh4lhsDTNVF7UNZ7OuW1s28hEMAiasmuzkb4qJy TICsHFhGB+ImainQOVCrp79AmuNpJr+gh4qJl0sAM4noGqK7Uq6ZGAgJRI70fzflfics MeVRZpk/T1wtc8ysoGytTfAKB6JvLU5CeoIps+lqp0I/JZKV+A/p7+hCqdQC2AY1+k4Y VASCtsQi9ncnvjSutAG22m6yzH6j685iZbXCb+WZ59mWdxKJPuDoaF6RVYGf3MlRf2vq T/ig== X-Gm-Message-State: AOAM532x2gfr/yWPc355LrVBeYutTfLz566L43bF9HIiUkRclvT1YmQJ kEhIQcbB0xrEO2S5z6eaH6Gr+jOs X-Google-Smtp-Source: ABdhPJxiaPGQxWNwJwvwQhNwcYfVtYFyvumUCpKQdZ2x9tUcD3oX6QhcIjeNlDgGHX8Os5m7KWkWjA== X-Received: by 2002:adf:9d8f:: with SMTP id p15mr13185092wre.421.1592729654047; Sun, 21 Jun 2020 01:54:14 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id b143sm12616054wme.20.2020.06.21.01.54.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Jun 2020 01:54:13 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Jun 2020 10:53:46 +0200 Message-Id: <20200621085349.22370-2-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200621085349.22370-1-andreas.rheinhardt@gmail.com> References: <20200621085349.22370-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/5] avformat/flvdec: Cosmetics 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 --- libavformat/flvdec.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 957acedf39..08622739f3 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -514,8 +514,7 @@ static int amf_parse_object(AVFormatContext *s, AVStream *astream, if (key && (ioc->seekable & AVIO_SEEKABLE_NORMAL) && !strcmp(KEYFRAMES_TAG, key) && depth == 1) - if (parse_keyframes_index(s, ioc, - max_pos) < 0) + if (parse_keyframes_index(s, ioc, max_pos) < 0) av_log(s, AV_LOG_ERROR, "Keyframe index parsing failed\n"); else add_keyframes_index(s); @@ -732,8 +731,7 @@ static int flv_read_metabody(AVFormatContext *s, int64_t next_pos) astream = stream; if (flv->last_keyframe_stream_index == -1) flv->last_keyframe_stream_index = i; - } - else if (stream->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) + } else if (stream->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) dstream = stream; } @@ -1058,8 +1056,7 @@ retry: if (type == 0 && dts == 0 || type < 0) { if (type < 0 && flv->validate_count && flv->validate_index[0].pos > next && - flv->validate_index[0].pos - 4 < next - ) { + flv->validate_index[0].pos - 4 < next) { av_log(s, AV_LOG_WARNING, "Adjusting next position due to index mismatch\n"); next = flv->validate_index[0].pos - 4; } @@ -1120,7 +1117,6 @@ skip: st = create_stream(s, stream_types[stream_type]); if (!st) return AVERROR(ENOMEM); - } av_log(s, AV_LOG_TRACE, "%d %X %d \n", stream_type, flags, st->discard); @@ -1133,10 +1129,9 @@ skip: stream_type == FLV_STREAM_TYPE_AUDIO)) av_add_index_entry(st, pos, dts, size, 0, AVINDEX_KEYFRAME); - if ( (st->discard >= AVDISCARD_NONKEY && !((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY || (stream_type == FLV_STREAM_TYPE_AUDIO))) - ||(st->discard >= AVDISCARD_BIDIR && ((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_DISP_INTER && (stream_type == FLV_STREAM_TYPE_VIDEO))) - || st->discard >= AVDISCARD_ALL - ) { + if ((st->discard >= AVDISCARD_NONKEY && !((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY || stream_type == FLV_STREAM_TYPE_AUDIO)) || + (st->discard >= AVDISCARD_BIDIR && ((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_DISP_INTER && stream_type == FLV_STREAM_TYPE_VIDEO)) || + st->discard >= AVDISCARD_ALL) { avio_seek(s->pb, next, SEEK_SET); ret = FFERROR_REDO; goto leave; @@ -1299,10 +1294,10 @@ retry_duration: ff_add_param_change(pkt, channels, 0, sample_rate, 0, 0); } - if ( stream_type == FLV_STREAM_TYPE_AUDIO || - ((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY) || - stream_type == FLV_STREAM_TYPE_SUBTITLE || - stream_type == FLV_STREAM_TYPE_DATA) + if (stream_type == FLV_STREAM_TYPE_AUDIO || + (flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY || + stream_type == FLV_STREAM_TYPE_SUBTITLE || + stream_type == FLV_STREAM_TYPE_DATA) pkt->flags |= AV_PKT_FLAG_KEY; leave: From patchwork Sun Jun 21 08:53:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 20534 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 2A40444B677 for ; Sun, 21 Jun 2020 11:54:23 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1808468B845; Sun, 21 Jun 2020 11:54:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B710E68B617 for ; Sun, 21 Jun 2020 11:54:15 +0300 (EEST) Received: by mail-wr1-f67.google.com with SMTP id l10so13691886wrr.10 for ; Sun, 21 Jun 2020 01:54:15 -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=F4dz0svvRV+F9kZmCMrvT61XY7XesiFolXAbF3VRABg=; b=mwLL6CW7YuPjQJpoVhs5ow74biIKg2r1pkGMVfsfrbSeMCHUQvT73YFgv4MchNJk2m DdM7VSFIXtrufchEBTHgWKE+Yt4jvVmFMuYpLKP44bs+/Bp2HKUzqtHlFDAilvORPcDz 6h1iNBzrv4dTRV5UcIQXgQ06TU/9d5z6iKplOloIN48Pn1BdDQTRS7H7j7uS1mdTgXc4 JBs8tfgmSMnrd9AiKNJY+twp6GON/Hy+uUe9d+m936o0RzDg/k9dNkdmyeh8RaohOStT IRt6mZVG44Oy/VDiHKIXEx3Ti2BGtyBg5ZS5FgSWv4Yv0t0oGHC7xymOotYtUek0iKha MGmQ== 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=F4dz0svvRV+F9kZmCMrvT61XY7XesiFolXAbF3VRABg=; b=oJGmz2LFKR92tMA6C4nqfLX0PXy9rz0qJBc+zpy1ize+dI5IAahXILYOVau152GMmW UPrDfFnNtTCfQVzntw14mlMmckrDH25PxTDjXg0Isem5j4u537BaAQ3HyJsxLAquS2bG zUuqdW3J7SAX6UnsYLB0ZtfxERm1GT/Y6+GOz2k7P9Q0VGNxzzmRasK+T8BJXgRb7mjm 4/gcen/BYsC4oUmHRfAPcTvZsMSVcp4CBFTHjhdVQAxmquN4IEfzsRK3ln88j5hzgGuu LbjpLEPTVhG77fDlPTg+tRbgu7u8JXYO3i9qACpBWXmBlWzM5Lx/0zFGOM7PoZDvXGjf 81wg== X-Gm-Message-State: AOAM533R9gLHboCnfGWKKLQ292vJcMdWUh8IQ+acQ3giNh3j9KuBv+2g eNuGk7/LsVKm1v6HPmfocczR8n5w X-Google-Smtp-Source: ABdhPJyadGBxgyzirJ+x00m1wIEyjJRvhUxpn54aLd/nl4TVPatOBqMpGLm3Qu6D/ZrbJfES2fxo6w== X-Received: by 2002:a5d:6601:: with SMTP id n1mr12441778wru.23.1592729654960; Sun, 21 Jun 2020 01:54:14 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id b143sm12616054wme.20.2020.06.21.01.54.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Jun 2020 01:54:14 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Jun 2020 10:53:47 +0200 Message-Id: <20200621085349.22370-3-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200621085349.22370-1-andreas.rheinhardt@gmail.com> References: <20200621085349.22370-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/5] avcodec/packet: Improve documentation of av_packet_get_side_data 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" Document that it also sets the size in case the desired side data is absent (if the pointer has been supplied). Signed-off-by: Andreas Rheinhardt --- Do this and the next patch actually need a version bump and API change entry? libavcodec/packet.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/packet.h b/libavcodec/packet.h index 41485f4527..96f237f091 100644 --- a/libavcodec/packet.h +++ b/libavcodec/packet.h @@ -580,7 +580,8 @@ int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, * * @param pkt packet * @param type desired side information type - * @param size pointer for side information size to store (optional) + * @param size If supplied, *size will be set to the size of the side data + * or to zero if the desired side data is not present. * @return pointer to data if present or NULL otherwise */ uint8_t* av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type, From patchwork Sun Jun 21 08:53:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 20535 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 E9C7544B677 for ; Sun, 21 Jun 2020 11:54:23 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D818F68B82E; Sun, 21 Jun 2020 11:54:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D138368B841 for ; Sun, 21 Jun 2020 11:54:16 +0300 (EEST) Received: by mail-wr1-f65.google.com with SMTP id q2so11266335wrv.8 for ; Sun, 21 Jun 2020 01:54:16 -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=w75xrcLNn7QNqHyXHVW29tSugJV+wbDG32IVJ1ePA9Q=; b=ghTh4+RNo5QsJpmbWYWgnMMrCTdEbmCTxOG9z3J+ZLRCyWuM/rptEgPhFMDglq8rOc J0q1YJn/oS1vhWcW6PooPaul2BISDVgqsEKS4jsiLym4GU0nX+143RLV6mMIP7DgYbwI WMNPOcH67wGi3O3ZFgjDVu8q80+hIkXDHW5bOXmMD7QAHjtY+n+IyeNHT7/v4mwU+m89 alUoLHHIKWIN+Dsjlos4IhQALeoyaF45O5e4je3xsEH31+9+a4QPKP7XODITWKk9ak6R FIz7Pkf4QKJe57+UKu6eOXf8L1ewPnY6DTHo3dhlgUb5mX96NiSURwRIvqLUlwBGZbDd NTug== 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=w75xrcLNn7QNqHyXHVW29tSugJV+wbDG32IVJ1ePA9Q=; b=ZEQGV5KJUQmFc9CtkA3NQDGUaGbmnpZpfnszFIfSjtYvK8mB5YODExBl3jZELM7iof 6RPh7oDjuqZaw/JZTFS+xix/e6K1i/COhSPTKve1IVdVox2Zh12eyMzKYQKCrx6MqkKO PjrkwuSse4QJ775HAvbRNbBjGSIxPLpomwWa+hHTxRvCrItXkkKUJ8ZApMyMtVcj7af0 w3vWkbHpvZ0uE3iXKqmg5AOFjNRVGmIekHDZ0zW4hQh5wlG1PNng0U9IfKORxYwl27of IhAzNLaKI4EtMr5yWJxSq2Iz6q1fSSETNHXeR7952YvD3Y8xuQuDHSGe3sAbVk/DVW/e XA5A== X-Gm-Message-State: AOAM532nYrxg8mzJ/1ogIlJYzhPYsJ/6eI++bv1GpGpOLncR+nh9cRqO Rwqib/ozItJ0Ym+xK0BQQj3VB0YX X-Google-Smtp-Source: ABdhPJzJtWd0uMvFlGhBZrjOYyfH0WphGLB5H0A+lCz+EsLaO20geYKpRGYXS/KwBIcoguUsQKimUg== X-Received: by 2002:adf:ed87:: with SMTP id c7mr12944690wro.108.1592729656079; Sun, 21 Jun 2020 01:54:16 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id b143sm12616054wme.20.2020.06.21.01.54.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Jun 2020 01:54:15 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Jun 2020 10:53:48 +0200 Message-Id: <20200621085349.22370-4-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200621085349.22370-1-andreas.rheinhardt@gmail.com> References: <20200621085349.22370-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/5] avformat/avformat: Improve documentation of av_stream_get_side_data 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" Document that it also sets the size in case the desired side data is absent (if the pointer has been supplied). Signed-off-by: Andreas Rheinhardt --- libavformat/avformat.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 21c282a100..e91e7f1d33 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -2189,7 +2189,8 @@ uint8_t *av_stream_new_side_data(AVStream *stream, * * @param stream stream * @param type desired side information type - * @param size pointer for side information size to store (optional) + * @param size If supplied, *size will be set to the size of the side data + * or to zero if the desired side data is not present. * @return pointer to data if present or NULL otherwise */ uint8_t *av_stream_get_side_data(const AVStream *stream, From patchwork Sun Jun 21 08:53:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 20536 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 DAF3B44B677 for ; Sun, 21 Jun 2020 11:54:25 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C5A8B68B853; Sun, 21 Jun 2020 11:54:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CB41268B84E for ; Sun, 21 Jun 2020 11:54:18 +0300 (EEST) Received: by mail-wr1-f52.google.com with SMTP id b6so13680034wrs.11 for ; Sun, 21 Jun 2020 01:54:18 -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=av50nar997QI0Mz18/7tIci8jTKzAvpuMNfa9Y8f8w8=; b=L1z8mYcQ29ouYOmbkniqtyIMFAk5UB9WpU/hq6swyTJ31I1TUpneijl9Ca0kDc3QA3 EAHmWd30mHi9KZvGxpeucKe7PX/1LAdEBr8fAyt6uXdsjuGyg2TfFBe4OJ39Imvs+2mK Vp+zWEwxp5agG5R8J2PM8riOmJ/pUjWMLHjryHANTN8fuPHFCTvPoXNThlfjOH1ce4Zv R6MYA5NEa2o44t1T9PWWTZ+1L1zRD6BoLDwOwBHjdlTAt1AdVCZikYPn+NIpL9btNnu9 jljqX1PKR+GxikL4VKONRnDxDoRCwJv6I30XIgSZOPXUvKlP6glmp7O70lj3W9NnC04L kBeA== 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=av50nar997QI0Mz18/7tIci8jTKzAvpuMNfa9Y8f8w8=; b=oV247as947PPb8yBKganf03RMiXD1fH3fHLHEcL097FGSNx8M/PUnzh3gSoQmHLHV+ +50uewjbYnMByesMpqcxmptsMbWQXDuw4ahacyr4EZuzGG/865oO9nNC3ecHQL4HG3LQ NZEvcq85+8feWf+78i2fSGcruWLXr8S87irb34rgjs6CgFFwmoQWxexB59PEpP/nFqSP sCVuYMCxtbYbMFg1mHYqKNdi81yEBcgHKuHAkJHI0T/dAIgy0VfLE37zSxZr3ssHppoD vOqHUuXI27NhwJRQfNUrt7kpR4mXQVKE8Kp6o93oQtFcqcNxOGEGvz29gnz+fbDi6CLp P8fQ== X-Gm-Message-State: AOAM533ASPYCFxBZLeRWNtWy10p8l97hohSsTM0crk9Rv1QOLYgZS7tx veTTu/xPLmJfQm4tbwC6MoXRiT5B X-Google-Smtp-Source: ABdhPJz96CCqCwT3xDd3iiKSz8GUJo9Ef3NUJt1a2JtXaCEHzIWxYuKN7XrO5SYldpto9MQKru7jOQ== X-Received: by 2002:a5d:484b:: with SMTP id n11mr3971945wrs.320.1592729657750; Sun, 21 Jun 2020 01:54:17 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id b143sm12616054wme.20.2020.06.21.01.54.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Jun 2020 01:54:16 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Jun 2020 10:53:49 +0200 Message-Id: <20200621085349.22370-5-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200621085349.22370-1-andreas.rheinhardt@gmail.com> References: <20200621085349.22370-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/5] avcodec, avformat: Remove unnecessary initializations of side data size 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/audiotoolboxdec.c | 2 +- libavcodec/decode.c | 2 +- libavcodec/libvpxdec.c | 2 +- libavformat/adtsenc.c | 2 +- libavformat/apngenc.c | 2 +- libavformat/flvenc.c | 2 +- libavformat/latmenc.c | 2 +- libavformat/matroskaenc.c | 6 ++---- libavformat/movenc.c | 2 +- libavformat/mp3enc.c | 2 +- libavformat/rtpenc.c | 2 +- libavformat/segment.c | 2 +- 12 files changed, 13 insertions(+), 15 deletions(-) diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c index 5c0a9de8f6..66055b79aa 100644 --- a/libavcodec/audiotoolboxdec.c +++ b/libavcodec/audiotoolboxdec.c @@ -483,7 +483,7 @@ static int ffat_decode(AVCodecContext *avctx, void *data, if (avctx->codec_id == AV_CODEC_ID_AAC) { if (!at->extradata_size) { uint8_t *side_data; - int side_data_size = 0; + int side_data_size; side_data = av_packet_get_side_data(avpkt, AV_PKT_DATA_NEW_EXTRADATA, &side_data_size); diff --git a/libavcodec/decode.c b/libavcodec/decode.c index a4e50c0d03..de9c079f9d 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -66,7 +66,7 @@ typedef struct FramePool { static int apply_param_change(AVCodecContext *avctx, const AVPacket *avpkt) { - int size = 0, ret; + int size, ret; const uint8_t *data; uint32_t flags; int64_t val; diff --git a/libavcodec/libvpxdec.c b/libavcodec/libvpxdec.c index 1063c546b0..eddcea8941 100644 --- a/libavcodec/libvpxdec.c +++ b/libavcodec/libvpxdec.c @@ -220,7 +220,7 @@ static int vpx_decode(AVCodecContext *avctx, struct vpx_image *img, *img_alpha; int ret; uint8_t *side_data = NULL; - int side_data_size = 0; + int side_data_size; ret = decode_frame(avctx, &ctx->decoder, avpkt->data, avpkt->size); if (ret) diff --git a/libavformat/adtsenc.c b/libavformat/adtsenc.c index d937e2bea9..9e285752eb 100644 --- a/libavformat/adtsenc.c +++ b/libavformat/adtsenc.c @@ -169,7 +169,7 @@ static int adts_write_packet(AVFormatContext *s, AVPacket *pkt) return 0; if (!par->extradata_size) { uint8_t *side_data; - int side_data_size = 0, ret; + int side_data_size, ret; side_data = av_packet_get_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA, &side_data_size); diff --git a/libavformat/apngenc.c b/libavformat/apngenc.c index 88cd8054d6..7ad6a923d5 100644 --- a/libavformat/apngenc.c +++ b/libavformat/apngenc.c @@ -119,7 +119,7 @@ static int flush_packet(AVFormatContext *format_context, AVPacket *packet) AVIOContext *io_context = format_context->pb; AVStream *codec_stream = format_context->streams[0]; uint8_t *side_data = NULL; - int side_data_size = 0; + int side_data_size; av_assert0(apng->prev_packet); diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index 5cf3ce8a1a..1cfcdc6392 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -902,7 +902,7 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) if (par->codec_id == AV_CODEC_ID_AAC || par->codec_id == AV_CODEC_ID_H264 || par->codec_id == AV_CODEC_ID_MPEG4) { - int side_size = 0; + int side_size; uint8_t *side = av_packet_get_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA, &side_size); if (side && side_size > 0 && (side_size != par->extradata_size || memcmp(side, par->extradata, side_size))) { ret = ff_alloc_extradata(par, side_size); diff --git a/libavformat/latmenc.c b/libavformat/latmenc.c index 5ae677f5da..72b7f72f22 100644 --- a/libavformat/latmenc.c +++ b/libavformat/latmenc.c @@ -165,7 +165,7 @@ static int latm_write_packet(AVFormatContext *s, AVPacket *pkt) return ff_raw_write_packet(s, pkt); else { uint8_t *side_data; - int side_data_size = 0, ret; + int side_data_size, ret; side_data = av_packet_get_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA, &side_data_size); diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index eaed02bc92..105ed5197e 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -2007,7 +2007,7 @@ static int mkv_write_block(AVFormatContext *s, AVIOContext *pb, AVCodecParameters *par = s->streams[pkt->stream_index]->codecpar; mkv_track *track = &mkv->tracks[pkt->stream_index]; uint8_t *data = NULL, *side_data = NULL; - int err = 0, offset = 0, size = pkt->size, side_data_size = 0; + int err = 0, offset = 0, size = pkt->size, side_data_size; int64_t ts = track->write_dts ? pkt->dts : pkt->pts; uint64_t additional_id; int64_t discard_padding = 0; @@ -2122,12 +2122,10 @@ static int mkv_write_vtt_blocks(AVFormatContext *s, AVIOContext *pb, const AVPac int64_t ts = track->write_dts ? pkt->dts : pkt->pts; const int flags = 0; - id_size = 0; id = av_packet_get_side_data(pkt, AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size); id = id ? id : ""; - settings_size = 0; settings = av_packet_get_side_data(pkt, AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size); settings = settings ? settings : ""; @@ -2184,7 +2182,7 @@ static int mkv_check_new_extra_data(AVFormatContext *s, const AVPacket *pkt) mkv_track *track = &mkv->tracks[pkt->stream_index]; AVCodecParameters *par = s->streams[pkt->stream_index]->codecpar; uint8_t *side_data; - int side_data_size = 0, ret; + int side_data_size, ret; side_data = av_packet_get_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA, &side_data_size); diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 6eeac8efa6..b8e45760ee 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -5788,7 +5788,7 @@ static int mov_write_single_packet(AVFormatContext *s, AVPacket *pkt) trk->par->codec_id == AV_CODEC_ID_AAC || trk->par->codec_id == AV_CODEC_ID_AV1 || trk->par->codec_id == AV_CODEC_ID_FLAC) { - int side_size = 0; + int side_size; uint8_t *side = av_packet_get_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA, &side_size); if (side && side_size > 0 && (side_size != par->extradata_size || memcmp(side, par->extradata, side_size))) { void *newextra = av_mallocz(side_size + AV_INPUT_BUFFER_PADDING_SIZE); diff --git a/libavformat/mp3enc.c b/libavformat/mp3enc.c index 14d4b6e0af..a3586e1f86 100644 --- a/libavformat/mp3enc.c +++ b/libavformat/mp3enc.c @@ -354,7 +354,7 @@ static int mp3_write_audio_packet(AVFormatContext *s, AVPacket *pkt) if (mp3->xing_offset) { uint8_t *side_data = NULL; - int side_data_size = 0; + int side_data_size; mp3_xing_add_frame(mp3, pkt); mp3->audio_size += pkt->size; diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c index 63047beccc..9ef7e9094d 100644 --- a/libavformat/rtpenc.c +++ b/libavformat/rtpenc.c @@ -589,7 +589,7 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt) break; case AV_CODEC_ID_H263: if (s->flags & FF_RTP_FLAG_RFC2190) { - int mb_info_size = 0; + int mb_info_size; const uint8_t *mb_info = av_packet_get_side_data(pkt, AV_PKT_DATA_H263_MB_INFO, &mb_info_size); diff --git a/libavformat/segment.c b/libavformat/segment.c index 2ff2b5372e..f67456fa57 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -873,7 +873,7 @@ static int seg_write_packet(AVFormatContext *s, AVPacket *pkt) return AVERROR(EINVAL); if (!st->codecpar->extradata_size) { - int pkt_extradata_size = 0; + int pkt_extradata_size; uint8_t *pkt_extradata = av_packet_get_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA, &pkt_extradata_size); if (pkt_extradata && pkt_extradata_size > 0) { ret = ff_alloc_extradata(st->codecpar, pkt_extradata_size);