From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 246FD472C7 for ; Mon, 4 Sep 2023 15:05:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4425B68C7C0; Mon, 4 Sep 2023 18:04:33 +0300 (EEST) Received: from mail-oo1-f50.google.com (mail-oo1-f50.google.com [209.85.161.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5256D68C7A5 for ; Mon, 4 Sep 2023 18:04:26 +0300 (EEST) Received: by mail-oo1-f50.google.com with SMTP id 006d021491bc7-571194584e2so984509eaf.3 for ; Mon, 04 Sep 2023 08:04:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693839864; x=1694444664; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=h+raEvqV8EDuGe0Cw2pMVHylPv6rDFJ7A0L5nDzEpME=; b=djik5wJofiRJH9KE/GzHR0NgUHjbv/E/X+TQAf7rPmwWLpO2arh2YTf76I12F0NZTs F6oTMRkuwzLzmZJ0/8Qc6Yuuz3FUrDZi2IJxwMj6isCwSJH2Y1dDrVR0T+fWLgxJoZ04 PPkccrxljwRueo8ziSpayxrejUlWb2NgP0AmsJkzDH0R695Dxm0eXIRBXVPY/uiool1s z05+v3VZ7dTw4APlKRwQ2slpe2VbTVE113t7BoX+WZKxXwEsUbmqJ6aDasL5/hbq0Fo+ 51NprB7ugG5RUl76k5T/x4/rrBLKTZkmRiNjx97DW5Hv6fkQNvpDBOgtJzBBQvew4jXZ 13KA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693839864; x=1694444664; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=h+raEvqV8EDuGe0Cw2pMVHylPv6rDFJ7A0L5nDzEpME=; b=Oe9kySES8AK5D+MM2dtqqi5dqudkIAeQPVrX2GTuzfLbOLK78AEZ0akvInz2mo2F3r UIU/KI2lPBNttxor7wkX0honEG7p9CMprPgRZ/bD0/Vwu7zt2oF4TEDcX+DOdhBT2A9z ZqyDNNZQyLRtIpNh+gzgM/AMzivqlxAjAfh8236/NYbLOFe193b5OwryCUDnaNIqL5mM uGw6sS2yZGfNSRzQbJjK/qZhk+Kq094sTT9qRya0CEOo2uW2pAU5mS8OlmZuEZFihxRe LrUffMOmbC+QNzLqB9ti3YNvy+3EPXvIf/GjN+mKseCLnd98+eK7DRje3EeAviLtax8p Evqg== X-Gm-Message-State: AOJu0YzP6JfwzMw1O0JO0qJ16+V8mVY0KmbkWl41M3X5rbPkr3bJ/H8x Wxth68dc9XnFYgtFjElxFhdKLVe1wdU= X-Google-Smtp-Source: AGHT+IGYrrAqqlavRZkPvcsZLaWh11vXyGlTZczqvtXO7w1gndsTuJjv9aT9ESHA8oOpNqNuRarImw== X-Received: by 2002:a05:6808:1402:b0:3a7:6ddd:5045 with SMTP id w2-20020a056808140200b003a76ddd5045mr14557418oiv.35.1693839864356; Mon, 04 Sep 2023 08:04:24 -0700 (PDT) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id z14-20020a54458e000000b003a9cd23980esm4946286oib.8.2023.09.04.08.04.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Sep 2023 08:04:24 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Sep 2023 12:03:57 -0300 Message-ID: <20230904150411.56777-5-jamrial@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230904150411.56777-1-jamrial@gmail.com> References: <20230904150411.56777-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 04/17] fftools/ffmpeg: stop using AVStream.side_data X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Signed-off-by: James Almer --- fftools/ffmpeg_demux.c | 11 +++++++---- fftools/ffmpeg_enc.c | 25 +++++++++++++------------ fftools/ffmpeg_filter.c | 5 ++++- fftools/ffmpeg_mux_init.c | 19 ++++++++++--------- 4 files changed, 34 insertions(+), 26 deletions(-) diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c index 48edbd7f6b..6cf6d2e971 100644 --- a/fftools/ffmpeg_demux.c +++ b/fftools/ffmpeg_demux.c @@ -482,8 +482,8 @@ static int input_packet_process(Demuxer *d, DemuxMsg *msg, AVPacket *src) /* add the stream-global side data to the first packet */ if (ds->nb_packets == 1) { - for (int i = 0; i < ist->st->nb_side_data; i++) { - AVPacketSideData *src_sd = &ist->st->side_data[i]; + for (int i = 0; i < ist->st->codecpar->side_data.nb_sd; i++) { + AVPacketSideData *src_sd = ist->st->codecpar->side_data.sd[i]; uint8_t *dst_data; if (src_sd->type == AV_PKT_DATA_DISPLAYMATRIX) @@ -979,6 +979,7 @@ static int add_display_matrix_to_stream(const OptionsContext *o, AVFormatContext *ctx, InputStream *ist) { AVStream *st = ist->st; + AVPacketSideData *sd; double rotation = DBL_MAX; int hflip = -1, vflip = -1; int hflip_set = 0, vflip_set = 0, rotation_set = 0; @@ -995,12 +996,14 @@ static int add_display_matrix_to_stream(const OptionsContext *o, if (!rotation_set && !hflip_set && !vflip_set) return 0; - buf = (int32_t *)av_stream_new_side_data(st, AV_PKT_DATA_DISPLAYMATRIX, sizeof(int32_t) * 9); - if (!buf) { + sd = av_packet_side_data_set_new(&st->codecpar->side_data, AV_PKT_DATA_DISPLAYMATRIX, + sizeof(int32_t) * 9, 0); + if (!sd) { av_log(ist, AV_LOG_FATAL, "Failed to generate a display matrix!\n"); return AVERROR(ENOMEM); } + buf = (int32_t *)sd->data; av_display_rotation_set(buf, rotation_set ? -(rotation) : -0.0f); diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index f28884e50c..8ea572d497 100644 --- a/fftools/ffmpeg_enc.c +++ b/fftools/ffmpeg_enc.c @@ -465,12 +465,12 @@ int enc_open(OutputStream *ost, AVFrame *frame) for (i = 0; i < ost->enc_ctx->nb_coded_side_data; i++) { const AVPacketSideData *sd_src = &ost->enc_ctx->coded_side_data[i]; - uint8_t *dst_data; + AVPacketSideData *sd_dst; - dst_data = av_stream_new_side_data(ost->st, sd_src->type, sd_src->size); - if (!dst_data) + sd_dst = av_packet_side_data_set_new(&ost->par_in->side_data, sd_src->type, sd_src->size, 0); + if (!sd_dst) return AVERROR(ENOMEM); - memcpy(dst_data, sd_src->data, sd_src->size); + memcpy(sd_dst->data, sd_src->data, sd_src->size); } } @@ -483,15 +483,16 @@ int enc_open(OutputStream *ost, AVFrame *frame) */ if (ist) { int i; - for (i = 0; i < ist->st->nb_side_data; i++) { - AVPacketSideData *sd = &ist->st->side_data[i]; - if (sd->type != AV_PKT_DATA_CPB_PROPERTIES) { - uint8_t *dst = av_stream_new_side_data(ost->st, sd->type, sd->size); - if (!dst) + for (i = 0; i < ist->st->codecpar->side_data.nb_sd; i++) { + AVPacketSideData *sd_src = ist->st->codecpar->side_data.sd[i]; + if (sd_src->type != AV_PKT_DATA_CPB_PROPERTIES) { + AVPacketSideData *sd_dst = av_packet_side_data_set_new(&ost->par_in->side_data, + sd_src->type, sd_src->size, 0); + if (!sd_dst) return AVERROR(ENOMEM); - memcpy(dst, sd->data, sd->size); - if (ist->autorotate && sd->type == AV_PKT_DATA_DISPLAYMATRIX) - av_display_rotation_set((int32_t *)dst, 0); + memcpy(sd_dst->data, sd_src->data, sd_src->size); + if (ist->autorotate && sd_src->type == AV_PKT_DATA_DISPLAYMATRIX) + av_display_rotation_set((int32_t *)sd_dst->data, 0); } } } diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 9bf870b615..4be415c4f8 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -1383,11 +1383,14 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter, // TODO: insert hwaccel enabled filters like transpose_vaapi into the graph if (ist->autorotate && !(desc->flags & AV_PIX_FMT_FLAG_HWACCEL)) { + AVPacketSideData *sd = NULL; int32_t *displaymatrix = ifp->displaymatrix; double theta; if (!ifp->displaymatrix_present) - displaymatrix = (int32_t *)av_stream_get_side_data(ist->st, AV_PKT_DATA_DISPLAYMATRIX, NULL); + sd = av_packet_side_data_set_get(&ist->st->codecpar->side_data, AV_PKT_DATA_DISPLAYMATRIX); + if (sd) + displaymatrix = (int32_t *)sd->data; theta = get_rotation(displaymatrix); if (fabs(theta - 90) < 1.0) { diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c index cf4cd2d5b7..46bc90b1c2 100644 --- a/fftools/ffmpeg_mux_init.c +++ b/fftools/ffmpeg_mux_init.c @@ -1041,24 +1041,25 @@ static int streamcopy_init(const Muxer *mux, OutputStream *ost) } } - for (int i = 0; i < ist->st->nb_side_data; i++) { - const AVPacketSideData *sd_src = &ist->st->side_data[i]; - uint8_t *dst_data; + for (int i = 0; i < ist->st->codecpar->side_data.nb_sd; i++) { + const AVPacketSideData *sd_src = ist->st->codecpar->side_data.sd[i]; + AVPacketSideData *sd_dst; - dst_data = av_stream_new_side_data(ost->st, sd_src->type, sd_src->size); - if (!dst_data) { + sd_dst = av_packet_side_data_set_new(&ost->st->codecpar->side_data, sd_src->type, sd_src->size, 0); + if (!sd_dst) { ret = AVERROR(ENOMEM); goto fail; } - memcpy(dst_data, sd_src->data, sd_src->size); + memcpy(sd_dst->data, sd_src->data, sd_src->size); } #if FFMPEG_ROTATION_METADATA if (ost->rotate_overridden) { - uint8_t *sd = av_stream_new_side_data(ost->st, AV_PKT_DATA_DISPLAYMATRIX, - sizeof(int32_t) * 9); + AVPacketSideData *sd = av_packet_side_data_set_new(&ost->st->codecpar->side_data, + AV_PKT_DATA_DISPLAYMATRIX, + sizeof(int32_t) * 9, 0); if (sd) - av_display_rotation_set((int32_t *)sd, -ost->rotate_override_value); + av_display_rotation_set((int32_t *)sd->data, -ost->rotate_override_value); } #endif -- 2.42.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".