Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH v2 16/22] avutil/imgutils: Constify some pointees
Date: Sun, 10 Sep 2023 13:09:02 +0200
Message-ID: <AS8P250MB0744D36F17B8732D2466C0C48FF3A@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <AS8P250MB0744767D56B3B0BA6BC02A0E8FEEA@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM>

Andreas Rheinhardt:
> This is done immediately without waiting for the next major bump
> just as in 9546b3a1cbcd94e9107f85c8f1d2175efc6cf083 and
> 4eaaa38d3dfb8863a62f3646a62e4098b1c078d5.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> ---
>  doc/APIchanges       |  4 ++++
>  libavutil/imgutils.c | 14 +++++++-------
>  libavutil/imgutils.h | 10 +++++-----
>  3 files changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/doc/APIchanges b/doc/APIchanges
> index 963ad477bf..048232b2eb 100644
> --- a/doc/APIchanges
> +++ b/doc/APIchanges
> @@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09
>  
>  API changes, most recent first:
>  
> +2023-09-07 - xxxxxxxxxx - lavu 58.xx.100 - imgutils.h
> +  Constify some pointees in av_image_copy(), av_image_copy_uc_from() and
> +  av_image_fill_black().
> +
>  2023-09-07 - xxxxxxxxxx - lavf 60.xx.100 - avio.h
>    Constify the buffer pointees in the write_packet and write_data_type
>    callbacks of AVIOContext.
> diff --git a/libavutil/imgutils.c b/libavutil/imgutils.c
> index 9ab5757cf6..da3812698e 100644
> --- a/libavutil/imgutils.c
> +++ b/libavutil/imgutils.c
> @@ -378,8 +378,8 @@ void av_image_copy_plane(uint8_t       *dst, int dst_linesize,
>      image_copy_plane(dst, dst_linesize, src, src_linesize, bytewidth, height);
>  }
>  
> -static void image_copy(uint8_t *dst_data[4], const ptrdiff_t dst_linesizes[4],
> -                       const uint8_t *src_data[4], const ptrdiff_t src_linesizes[4],
> +static void image_copy(uint8_t *const dst_data[4], const ptrdiff_t dst_linesizes[4],
> +                       const uint8_t *const src_data[4], const ptrdiff_t src_linesizes[4],
>                         enum AVPixelFormat pix_fmt, int width, int height,
>                         void (*copy_plane)(uint8_t *, ptrdiff_t, const uint8_t *,
>                                            ptrdiff_t, ptrdiff_t, int))
> @@ -419,8 +419,8 @@ static void image_copy(uint8_t *dst_data[4], const ptrdiff_t dst_linesizes[4],
>      }
>  }
>  
> -void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4],
> -                   const uint8_t *src_data[4], const int src_linesizes[4],
> +void av_image_copy(uint8_t *const dst_data[4], const int dst_linesizes[4],
> +                   const uint8_t * const src_data[4], const int src_linesizes[4],
>                     enum AVPixelFormat pix_fmt, int width, int height)
>  {
>      ptrdiff_t dst_linesizes1[4], src_linesizes1[4];
> @@ -435,8 +435,8 @@ void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4],
>                 width, height, image_copy_plane);
>  }
>  
> -void av_image_copy_uc_from(uint8_t *dst_data[4], const ptrdiff_t dst_linesizes[4],
> -                           const uint8_t *src_data[4], const ptrdiff_t src_linesizes[4],
> +void av_image_copy_uc_from(uint8_t * const dst_data[4], const ptrdiff_t dst_linesizes[4],
> +                           const uint8_t * const src_data[4], const ptrdiff_t src_linesizes[4],
>                             enum AVPixelFormat pix_fmt, int width, int height)
>  {
>      image_copy(dst_data, dst_linesizes, src_data, src_linesizes, pix_fmt,
> @@ -579,7 +579,7 @@ static void memset_bytes(uint8_t *dst, size_t dst_size, uint8_t *clear,
>  // if it's a subsampled packed format).
>  #define MAX_BLOCK_SIZE 32
>  
> -int av_image_fill_black(uint8_t *dst_data[4], const ptrdiff_t dst_linesize[4],
> +int av_image_fill_black(uint8_t * const dst_data[4], const ptrdiff_t dst_linesize[4],
>                          enum AVPixelFormat pix_fmt, enum AVColorRange range,
>                          int width, int height)
>  {
> diff --git a/libavutil/imgutils.h b/libavutil/imgutils.h
> index e10ac14952..91312a72d3 100644
> --- a/libavutil/imgutils.h
> +++ b/libavutil/imgutils.h
> @@ -170,8 +170,8 @@ void av_image_copy_plane_uc_from(uint8_t       *dst, ptrdiff_t dst_linesize,
>   * @param width         width of the image in pixels
>   * @param height        height of the image in pixels
>   */
> -void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4],
> -                   const uint8_t *src_data[4], const int src_linesizes[4],
> +void av_image_copy(uint8_t * const dst_data[4], const int dst_linesizes[4],
> +                   const uint8_t * const src_data[4], const int src_linesizes[4],
>                     enum AVPixelFormat pix_fmt, int width, int height);
>  
>  /**
> @@ -188,8 +188,8 @@ void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4],
>   * @note On x86, the linesizes currently need to be aligned to the cacheline
>   *       size (i.e. 64) to get improved performance.
>   */
> -void av_image_copy_uc_from(uint8_t *dst_data[4],       const ptrdiff_t dst_linesizes[4],
> -                           const uint8_t *src_data[4], const ptrdiff_t src_linesizes[4],
> +void av_image_copy_uc_from(uint8_t * const dst_data[4],       const ptrdiff_t dst_linesizes[4],
> +                           const uint8_t * const src_data[4], const ptrdiff_t src_linesizes[4],
>                             enum AVPixelFormat pix_fmt, int width, int height);
>  
>  /**
> @@ -319,7 +319,7 @@ int av_image_check_sar(unsigned int w, unsigned int h, AVRational sar);
>   * @param height        the height of the image in pixels
>   * @return 0 if the image data was cleared, a negative AVERROR code otherwise
>   */
> -int av_image_fill_black(uint8_t *dst_data[4], const ptrdiff_t dst_linesize[4],
> +int av_image_fill_black(uint8_t * const dst_data[4], const ptrdiff_t dst_linesize[4],
>                          enum AVPixelFormat pix_fmt, enum AVColorRange range,
>                          int width, int height);
>  

Will apply this patch and the other constification patches (i.e. patches
#16-#19 as well as #21) in two days unless there are objections.

- Andreas

_______________________________________________
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".

  reply	other threads:[~2023-09-10 11:07 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-07  1:02 [FFmpeg-devel] [PATCH v2 01/22] fate/demux, lavf-container: Workaround for AV1-aspect ratio issue Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 02/22] avformat/avio: Don't use incompatible function pointer type for call Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 03/22] avformat/internal: Avoid casting const away Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 04/22] avformat/aviobuf: Don't use incompatible function pointer type for call Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 05/22] avformat/dashenc: Avoid unnecessary casts Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 06/22] avformat/dashenc: Use proper type for AVCodecIDs Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 07/22] avformat/dashenc: Add const where appropriate Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 08/22] avformat/dashenc: Simplify getting format string Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 09/22] avformat/dashenc: Avoid relocations for short strings Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 10/22] avformat/teeproto: Remove useless AVClass without options Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 11/22] avdevice/lavfi: Remove unnecessary avio_internal.h inclusion Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 12/22] avformat: Remove avformat and avio headers from protocols Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 13/22] avformat/teeproto: Remove always-false check Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 14/22] avformat/avio_internal: Don't include url.h Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 15/22] avformat/avio: Constify data pointees of write callbacks Andreas Rheinhardt
2023-09-07 15:02   ` Anton Khirnov
2023-09-07 17:08     ` Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 16/22] avutil/imgutils: Constify some pointees Andreas Rheinhardt
2023-09-10 11:09   ` Andreas Rheinhardt [this message]
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 17/22] avutil/samplefmt: " Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 18/22] avutil/audio_fifo: " Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 19/22] avutil/fifo: Constify AVFifo pointees in peek functions Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 20/22] avcodec/v210dec: Don't cast const away Andreas Rheinhardt
2023-09-07  7:36   ` Paul B Mahol
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 21/22] avutil/imgutils: Add wrapper for av_image_copy() to avoid casts Andreas Rheinhardt
2023-09-07  1:05 ` [FFmpeg-devel] [PATCH v2 22/22] avfilter/vf_framepack: Use dedicated pointer for access Andreas Rheinhardt
2023-09-07 10:38 ` [FFmpeg-devel] [PATCH 23/26] avformat/avio: Remove duplicated freeing code Andreas Rheinhardt
2023-09-07 10:38 ` [FFmpeg-devel] [PATCH 24/26] avformat/avio: Remove redundant checks Andreas Rheinhardt
2023-09-07 10:38 ` [FFmpeg-devel] [PATCH 25/26] all: Use av_frame_replace() where appropriate Andreas Rheinhardt
2023-09-07 10:38 ` [FFmpeg-devel] [PATCH 26/26] avfilter/buffersrc: Use av_frame_clone() " Andreas Rheinhardt
2023-09-07 11:09   ` Nicolas George
2023-09-07 14:03 ` [FFmpeg-devel] [PATCH 27/31] avfilter/vf_vif: Don't cast const away unnecessarily Andreas Rheinhardt
2023-09-07 14:32   ` Paul B Mahol
2023-09-07 14:03 ` [FFmpeg-devel] [PATCH 28/31] avfilter/vsrc_testsrc: Don't use const uint8_t* when pointee changes Andreas Rheinhardt
2023-09-07 14:47   ` Paul B Mahol
2023-09-07 14:03 ` [FFmpeg-devel] [PATCH 29/31] avcodec/tiff: Don't cast const away Andreas Rheinhardt
2023-09-07 17:58   ` Paul B Mahol
2023-09-07 14:03 ` [FFmpeg-devel] [PATCH 30/31] avfilter/vf_varblur: Don't use pointer-to-const for destination Andreas Rheinhardt
2023-09-07 14:31   ` Paul B Mahol
2023-09-07 14:03 ` [FFmpeg-devel] [PATCH 31/31] avfilter/blend_modes: Always preserve constness Andreas Rheinhardt
2023-09-07 14:32   ` Paul B Mahol
2023-09-10 10:23 ` [FFmpeg-devel] [PATCH v2 01/22] fate/demux, lavf-container: Workaround for AV1-aspect ratio issue Andreas Rheinhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AS8P250MB0744D36F17B8732D2466C0C48FF3A@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM \
    --to=andreas.rheinhardt@outlook.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git