diff --git a/doc/decoders.texi b/doc/decoders.texi
index f75364166e..016554287f 100644
--- a/doc/decoders.texi
+++ b/doc/decoders.texi
@@ -426,7 +426,7 @@ default behavior at compilation.
 
 @item -force_outline_text @var{boolean}
 Specify whether always render outline text for all characters regardless of
-the indication by charactor style.
+the indication by character style.
 
 The default is @var{false}.
 
diff --git a/doc/demuxers.texi b/doc/demuxers.texi
index ca1563abb0..e4c5b560a6 100644
--- a/doc/demuxers.texi
+++ b/doc/demuxers.texi
@@ -777,7 +777,7 @@ error or used to store a negative value for dts correction when treated as signe
 the user set an upper limit, beyond which the delta is clamped to 1. Values greater than the limit if negative when
 cast to int32 are used to adjust onward dts.
 
-Unit is the track time scale. Range is 0 to UINT_MAX. Default is @code{UINT_MAX - 48000*10} which allows upto
+Unit is the track time scale. Range is 0 to UINT_MAX. Default is @code{UINT_MAX - 48000*10} which allows up to
 a 10 second dts correction for 48 kHz audio streams while accommodating 99.9% of @code{uint32} range.
 
 @item interleaved_read
diff --git a/doc/filters.texi b/doc/filters.texi
index 13c18a2574..876027c202 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -2313,7 +2313,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -3685,7 +3685,7 @@ Set order of tilt filter.
 
 @item level
 Set input volume level. Allowed range is from 0 to 4.
-Defalt is 1.
+Default is 1.
 @end table
 
 @subsection Commands
@@ -3853,7 +3853,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -3950,7 +3950,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -4057,7 +4057,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -4149,7 +4149,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -4590,7 +4590,7 @@ This filter supports the all above options as @ref{commands}.
 @section crystalizer
 Simple algorithm for audio noise sharpening.
 
-This filter linearly increases differences betweeen each audio sample.
+This filter linearly increases differences between each audio sample.
 
 The filter accepts the following options:
 
@@ -4985,7 +4985,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -5496,7 +5496,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -5856,7 +5856,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -7213,7 +7213,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -7303,7 +7303,7 @@ Set transform type of IIR filter.
 @end table
 
 @item precision, r
-Set precison of filtering.
+Set precision of filtering.
 @table @option
 @item auto
 Pick automatic sample format depending on surround filters.
@@ -7772,7 +7772,7 @@ Set the sample rate, default is 44100.
 Set the number of samples per each frame. Default is 1024.
 
 @item taps, t
-Set the number of filter coefficents in output audio stream.
+Set the number of filter coefficients in output audio stream.
 Default value is 0.
 
 @item channel_layout, c
@@ -7828,7 +7828,7 @@ Bands are separated by white spaces and each band represent frequency in Hz.
 Default is @code{25 40 63 100 160 250 400 630 1000 1600 2500 4000 6300 10000 16000 24000}.
 
 @item taps, t
-Set number of filter coefficents in output audio stream.
+Set number of filter coefficients in output audio stream.
 Default value is @code{4096}.
 
 @item sample_rate, r
@@ -7855,7 +7855,7 @@ The filter accepts the following options:
 
 @table @option
 @item taps, t
-Set number of filter coefficents in output audio stream.
+Set number of filter coefficients in output audio stream.
 Default value is 1025.
 
 @item frequency, f
@@ -9217,7 +9217,7 @@ The default value is @code{all}.
 
 Repack CEA-708 closed captioning side data
 
-This filter fixes various issues seen with commerical encoders
+This filter fixes various issues seen with commercial encoders
 related to upstream malformed CEA-708 payloads, specifically
 incorrect number of tuples (wrong cc_count for the target FPS),
 and incorrect ordering of tuples (i.e. the CEA-608 tuples are not at
@@ -16840,7 +16840,7 @@ ffmpeg -init_hw_device vulkan -hwaccel vaapi -hwaccel_output_format vaapi ... -v
 @anchor{libvmaf}
 @section libvmaf
 
-Calulate the VMAF (Video Multi-Method Assessment Fusion) score for a
+Calculate the VMAF (Video Multi-Method Assessment Fusion) score for a
 reference/distorted pair of input videos.
 
 The first input is the distorted video, and the second input is the reference video.
@@ -16896,7 +16896,7 @@ ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf='model=version=vmaf_v0.6
 @end example
 
 @item
-Example with multiple addtional features:
+Example with multiple additional features:
 @example
 ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf='feature=name=psnr|name=ciede' -f null -
 @end example
@@ -20918,7 +20918,7 @@ pixel format is used.
 The filter does not support converting between YUV and RGB pixel formats.
 
 @item passthrough
-If set to 0, every frame is processed, even if no conversion is neccesary.
+If set to 0, every frame is processed, even if no conversion is necessary.
 This mode can be useful to use the filter as a buffer for a downstream
 frame-consumer that exhausts the limited decoder frame pool.
 
@@ -23048,7 +23048,7 @@ The filter accepts the following options:
 @table @option
 
 @item layout
-Set the grid size in the form @code{COLUMNSxROWS}. Range is upto UINT_MAX cells.
+Set the grid size in the form @code{COLUMNSxROWS}. Range is up to UINT_MAX cells.
 Default is @code{6x5}.
 
 @item nb_frames
@@ -25277,7 +25277,7 @@ pixel formats are not RGB.
 @item fitmode, fm
 Set sample aspect ratio of video output frames.
 Can be used to configure waveform so it is not
-streched too much in one of directions.
+stretched too much in one of directions.
 
 @table @samp
 @item none
@@ -27346,7 +27346,7 @@ Stack input videos horizontally.
 
 This is the VA-API variant of the @ref{hstack} filter, each input stream may
 have different height, this filter will scale down/up each input stream while
-keeping the orignal aspect.
+keeping the original aspect.
 
 It accepts the following options:
 
@@ -27367,7 +27367,7 @@ Stack input videos vertically.
 
 This is the VA-API variant of the @ref{vstack} filter, each input stream may
 have different width, this filter will scale down/up each input stream while
-keeping the orignal aspect.
+keeping the original aspect.
 
 It accepts the following options:
 
@@ -27828,7 +27828,7 @@ Stack input videos horizontally.
 
 This is the QSV variant of the @ref{hstack} filter, each input stream may
 have different height, this filter will scale down/up each input stream while
-keeping the orignal aspect.
+keeping the original aspect.
 
 It accepts the following options:
 
@@ -27849,7 +27849,7 @@ Stack input videos vertically.
 
 This is the QSV variant of the @ref{vstack} filter, each input stream may
 have different width, this filter will scale down/up each input stream while
-keeping the orignal aspect.
+keeping the original aspect.
 
 It accepts the following options:
 
@@ -28197,7 +28197,7 @@ It accepts the following values:
 Passes all supported output formats to DDA and returns what DDA decides to use.
 @item 8bit
 @item bgra
-8 Bit formats always work, and DDA will convert to them if neccesary.
+8 Bit formats always work, and DDA will convert to them if necessary.
 @item 10bit
 @item x2bgr10
 Filter initialization will fail if 10 bit format is requested but unavailable.
diff --git a/libavcodec/cbs_bsf.h b/libavcodec/cbs_bsf.h
index aa7385c8f2..fd7d1eebc5 100644
--- a/libavcodec/cbs_bsf.h
+++ b/libavcodec/cbs_bsf.h
@@ -98,7 +98,7 @@ enum {
     // Pass this element through unchanged.
     BSF_ELEMENT_PASS,
     // Insert this element, replacing any existing instances of it.
-    // Associated values may be provided explicitly (as addtional options)
+    // Associated values may be provided explicitly (as additional options)
     // or implicitly (either as side data or deduced from other parts of
     // the stream).
     BSF_ELEMENT_INSERT,
diff --git a/libavcodec/h266_metadata_bsf.c b/libavcodec/h266_metadata_bsf.c
index 1f0f875cfe..2242c620fa 100644
--- a/libavcodec/h266_metadata_bsf.c
+++ b/libavcodec/h266_metadata_bsf.c
@@ -80,7 +80,7 @@ static int h266_metadata_update_fragment(AVBSFContext *bsf, AVPacket *pkt,
             }
         }
         if (!ph) {
-            av_log(bsf, AV_LOG_ERROR, "no avaliable picture header");
+            av_log(bsf, AV_LOG_ERROR, "no available picture header");
             return AVERROR_INVALIDDATA;
         }
 
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index 691cfbd891..e70ce2bfcb 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -2432,7 +2432,7 @@ static av_cold int jpeg2000_decode_init(AVCodecContext *avctx)
     Jpeg2000DecoderContext *s = avctx->priv_data;
 
     if (avctx->lowres)
-        av_log(avctx, AV_LOG_WARNING, "lowres is overriden by reduction_factor but set anyway\n");
+        av_log(avctx, AV_LOG_WARNING, "lowres is overridden by reduction_factor but set anyway\n");
     if (!s->reduction_factor && avctx->lowres < JPEG2000_MAX_RESLEVELS) {
         s->reduction_factor = avctx->lowres;
     }
diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c
index a89d84fcaa..afdc2fb883 100644
--- a/libavcodec/vulkan_decode.c
+++ b/libavcodec/vulkan_decode.c
@@ -1272,7 +1272,7 @@ int ff_vk_decode_init(AVCodecContext *avctx)
 
     ff_vk_decode_flush(avctx);
 
-    av_log(avctx, AV_LOG_VERBOSE, "Vulkan decoder initialization sucessful\n");
+    av_log(avctx, AV_LOG_VERBOSE, "Vulkan decoder initialization successful\n");
 
     return 0;
 
diff --git a/libavcodec/vvc_parser.c b/libavcodec/vvc_parser.c
index c661595e1e..bcfecae545 100644
--- a/libavcodec/vvc_parser.c
+++ b/libavcodec/vvc_parser.c
@@ -303,14 +303,14 @@ static int get_pu_info(PuInfo *info, const CodedBitstreamH266Context *h266,
     }
     info->pps = h266->pps[info->ph->ph_pic_parameter_set_id];
     if (!info->pps) {
-        av_log(logctx, AV_LOG_ERROR, "PPS id %d is not avaliable.\n",
+        av_log(logctx, AV_LOG_ERROR, "PPS id %d is not available.\n",
                info->ph->ph_pic_parameter_set_id);
         ret = AVERROR_INVALIDDATA;
         goto error;
     }
     info->sps = h266->sps[info->pps->pps_seq_parameter_set_id];
     if (!info->sps) {
-        av_log(logctx, AV_LOG_ERROR, "SPS id %d is not avaliable.\n",
+        av_log(logctx, AV_LOG_ERROR, "SPS id %d is not available.\n",
                info->pps->pps_seq_parameter_set_id);
         ret = AVERROR_INVALIDDATA;
         goto error;
diff --git a/libavdevice/pulse_audio_enc.c b/libavdevice/pulse_audio_enc.c
index 5acbf798ef..f051df3e72 100644
--- a/libavdevice/pulse_audio_enc.c
+++ b/libavdevice/pulse_audio_enc.c
@@ -504,7 +504,7 @@ static av_cold int pulse_write_header(AVFormatContext *h)
         pulse_map_channels_to_pulse(&st->codecpar->ch_layout, &channel_map);
         /* Unknown channel is present in channel_layout, let PulseAudio use its default. */
         if (channel_map.channels != sample_spec.channels) {
-            av_log(s, AV_LOG_WARNING, "Unknown channel. Using defaul channel map.\n");
+            av_log(s, AV_LOG_WARNING, "Unknown channel. Using default channel map.\n");
             channel_map.channels = 0;
         }
     } else
diff --git a/libavfilter/af_aiir.c b/libavfilter/af_aiir.c
index 41709aa360..c5255cd96c 100644
--- a/libavfilter/af_aiir.c
+++ b/libavfilter/af_aiir.c
@@ -1309,7 +1309,7 @@ static int config_output(AVFilterLink *outlink)
         av_log(ctx, AV_LOG_WARNING, "transfer function coefficients format is not recommended for too high number of zeros/poles.\n");
 
     if (s->format > 0 && s->process == 0) {
-        av_log(ctx, AV_LOG_WARNING, "Direct processsing is not recommended for zp coefficients format.\n");
+        av_log(ctx, AV_LOG_WARNING, "Direct processing is not recommended for zp coefficients format.\n");
 
         ret = convert_zp2tf(ctx, inlink->ch_layout.nb_channels);
         if (ret < 0)
diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c
index 64abf1fded..3398c25446 100644
--- a/libavfilter/af_surround.c
+++ b/libavfilter/af_surround.c
@@ -1426,7 +1426,7 @@ static const AVOption surround_options[] = {
     { "lfe_high",  "LFE high cut off",          OFFSET(highcutf),               AV_OPT_TYPE_INT,    {.i64=256},   0, 512, FLAGS },
     { "lfe_mode",  "set LFE channel mode",      OFFSET(lfe_mode),               AV_OPT_TYPE_INT,    {.i64=0},     0,   1, TFLAGS, "lfe_mode" },
     {  "add",      "just add LFE channel",                  0,                  AV_OPT_TYPE_CONST,  {.i64=0},     0,   1, TFLAGS, "lfe_mode" },
-    {  "sub",      "substract LFE channel with others",     0,                  AV_OPT_TYPE_CONST,  {.i64=1},     0,   1, TFLAGS, "lfe_mode" },
+    {  "sub",      "subtract LFE channel with others",      0,                  AV_OPT_TYPE_CONST,  {.i64=1},     0,   1, TFLAGS, "lfe_mode" },
     { "smooth",    "set temporal smoothness strength",      OFFSET(smooth),     AV_OPT_TYPE_FLOAT,  {.dbl=0},     0,   1, TFLAGS },
     { "angle",     "set soundfield transform angle",        OFFSET(angle),      AV_OPT_TYPE_FLOAT,  {.dbl=90},    0, 360, TFLAGS },
     { "focus",     "set soundfield transform focus",        OFFSET(focus),      AV_OPT_TYPE_FLOAT,  {.dbl=0},    -1,   1, TFLAGS },
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index d69381aed4..db72dd7597 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -1366,7 +1366,7 @@ int avfilter_graph_segment_init(AVFilterGraphSegment *seg, int flags);
  * Unlabeled outputs are
  * - linked to the first unlinked unlabeled input in the next non-disabled
  *   filter in the chain, if one exists
- * - exported in the ouputs linked list otherwise, with NULL label
+ * - exported in the outputs linked list otherwise, with NULL label
  *
  * Similarly, unlinked input pads are exported in the inputs linked list.
  *
diff --git a/libavfilter/cuda/load_helper.h b/libavfilter/cuda/load_helper.h
index 4ae78095c4..455bf36a23 100644
--- a/libavfilter/cuda/load_helper.h
+++ b/libavfilter/cuda/load_helper.h
@@ -20,7 +20,7 @@
 #define AVFILTER_CUDA_LOAD_HELPER_H
 
 /**
- * Loads a CUDA module and applies any decompression, if neccesary.
+ * Loads a CUDA module and applies any decompression, if necessary.
  */
 int ff_cuda_load_module(void *avctx, AVCUDADeviceContext *hwctx, CUmodule *cu_module,
                         const unsigned char *data, const unsigned int length);
diff --git a/libavfilter/opencl/deshake.cl b/libavfilter/opencl/deshake.cl
index fef2681dc6..f2a7c7221d 100644
--- a/libavfilter/opencl/deshake.cl
+++ b/libavfilter/opencl/deshake.cl
@@ -231,7 +231,7 @@ __kernel void harris_response(
         {-1, -2, -1}
     };
 
-    // 8 x 8 local work + 3 pixels around each side (needed to accomodate for the
+    // 8 x 8 local work + 3 pixels around each side (needed to accommodate for the
     // block size radius of 2)
     __local float grayscale_data[196];
 
diff --git a/libavfilter/vf_dedot.c b/libavfilter/vf_dedot.c
index 7aa2583184..56679bc602 100644
--- a/libavfilter/vf_dedot.c
+++ b/libavfilter/vf_dedot.c
@@ -111,12 +111,12 @@ static int dedotcrawl##name(AVFilterContext *ctx, void *arg,     \
     for (int y = slice_start; y < slice_end; y++) {              \
         for (int x = 1; x < s->planewidth[0] - 1; x++) {         \
             int above = src[x - src_linesize];                   \
-            int bellow = src[x + src_linesize];                  \
+            int below = src[x + src_linesize];                   \
             int cur = src[x];                                    \
             int left = src[x - 1];                               \
             int right = src[x + 1];                              \
                                                                  \
-            if (FFABS(above + bellow - 2 * cur) <= luma2d &&     \
+            if (FFABS(above + below - 2 * cur) <= luma2d &&      \
                 FFABS(left + right - 2 * cur) <= luma2d)         \
                 continue;                                        \
                                                                  \
diff --git a/libavfilter/vf_transpose_npp.c b/libavfilter/vf_transpose_npp.c
index 047c200096..a7a779cc25 100644
--- a/libavfilter/vf_transpose_npp.c
+++ b/libavfilter/vf_transpose_npp.c
@@ -300,7 +300,7 @@ static int npptranspose_rotate(AVFilterContext *ctx, NPPTransposeStageContext *s
 
         // nppRotate uses 0,0 as the rotation point
         // need to shift the image accordingly after rotation
-        // need to substract 1 to get the correct coordinates
+        // need to subtract 1 to get the correct coordinates
         double angle = s->dir == NPP_TRANSPOSE_CLOCK ? -90.0 : s->dir == NPP_TRANSPOSE_CCLOCK ? 90.0 : 180.0;
         int shiftw = (s->dir == NPP_TRANSPOSE_CLOCK  || s->dir == NPP_TRANSPOSE_CLOCK_FLIP) ? ow - 1 : 0;
         int shifth = (s->dir == NPP_TRANSPOSE_CCLOCK || s->dir == NPP_TRANSPOSE_CLOCK_FLIP) ? oh - 1 : 0;
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 96f4a5fbdf..937d18d091 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -1453,7 +1453,7 @@ static int dash_init(AVFormatContext *s)
     }
 
     if (av_cmp_q(c->max_playback_rate, c->min_playback_rate) < 0) {
-        av_log(s, AV_LOG_WARNING, "Minimum playback rate value is higer than the Maximum. Both will be ignored\n");
+        av_log(s, AV_LOG_WARNING, "Minimum playback rate value is higher than the Maximum. Both will be ignored\n");
         c->min_playback_rate = c->max_playback_rate = (AVRational) {1, 1};
     }
 
diff --git a/libavformat/demux.h b/libavformat/demux.h
index 1f57e062f6..d65eb16ff8 100644
--- a/libavformat/demux.h
+++ b/libavformat/demux.h
@@ -169,7 +169,7 @@ void ff_rfps_calculate(AVFormatContext *ic);
  * Useful to simplify the rescaling of the arguments of AVInputFormat::read_seek2()
  *
  * @param[in] tb_in      Timebase of the input `min_ts`, `ts` and `max_ts`
- * @param[in] tb_out     Timebase of the ouput `min_ts`, `ts` and `max_ts`
+ * @param[in] tb_out     Timebase of the output `min_ts`, `ts` and `max_ts`
  * @param[in,out] min_ts Lower bound of the interval
  * @param[in,out] ts     Timestamp
  * @param[in,out] max_ts Upper bound of the interval
diff --git a/libavformat/scd.c b/libavformat/scd.c
index 91b2262ff7..f0048bcc85 100644
--- a/libavformat/scd.c
+++ b/libavformat/scd.c
@@ -187,7 +187,7 @@ static int scd_read_track(AVFormatContext *s, SCDTrackHeader *track, int index)
 
     /* Not sure what to do with these, it seems to be fine to ignore them. */
     if (track->aux_count != 0)
-        av_log(s, AV_LOG_DEBUG, "[%d] Track has %u auxillary chunk(s).\n", index, track->aux_count);
+        av_log(s, AV_LOG_DEBUG, "[%d] Track has %u auxiliary chunk(s).\n", index, track->aux_count);
 
     if ((st = avformat_new_stream(s, NULL)) == NULL)
         return AVERROR(ENOMEM);
diff --git a/libavutil/eval.h b/libavutil/eval.h
index ee8cffb057..0d3eaeb3fb 100644
--- a/libavutil/eval.h
+++ b/libavutil/eval.h
@@ -105,7 +105,7 @@ int av_expr_count_vars(AVExpr *e, unsigned *counter, int size);
  * @param e the AVExpr to track user provided functions in
  * @param counter a zero-initialized array where the count of each function will be stored
  *                if you passed 5 functions with 2 arguments to av_expr_parse()
- *                then for arg=2 this will use upto 5 entries.
+ *                then for arg=2 this will use up to 5 entries.
  * @param size size of array
  * @param arg number of arguments the counted functions have
  * @return 0 on success, a negative value indicates that no expression or array was passed
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index b4130abcde..204b57c011 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -3072,7 +3072,7 @@ static int vulkan_transfer_data_from_cuda(AVHWFramesContext *hwfc,
 
     CHECK_CU(cu->cuCtxPopCurrent(&dummy));
 
-    av_log(hwfc, AV_LOG_VERBOSE, "Transfered CUDA image to Vulkan!\n");
+    av_log(hwfc, AV_LOG_VERBOSE, "Transferred CUDA image to Vulkan!\n");
 
     return err = prepare_frame(hwfc, &fp->upload_exec, dst_f, PREP_MODE_EXTERNAL_IMPORT);
 
@@ -3648,7 +3648,7 @@ static int vulkan_transfer_data_to_cuda(AVHWFramesContext *hwfc, AVFrame *dst,
 
     CHECK_CU(cu->cuCtxPopCurrent(&dummy));
 
-    av_log(hwfc, AV_LOG_VERBOSE, "Transfered Vulkan image to CUDA!\n");
+    av_log(hwfc, AV_LOG_VERBOSE, "Transferred Vulkan image to CUDA!\n");
 
     return prepare_frame(hwfc, &fp->upload_exec, dst_f, PREP_MODE_EXTERNAL_IMPORT);
 
diff --git a/libavutil/tx_template.c b/libavutil/tx_template.c
index a2c27465cb..91cc4ce413 100644
--- a/libavutil/tx_template.c
+++ b/libavutil/tx_template.c
@@ -1029,7 +1029,7 @@ retry:
         break;
     }
 
-    /* If nothing was sucessful, error out */
+    /* If nothing was successful, error out */
     if (ret < 0)
         return ret;
 
diff --git a/tools/enc_recon_frame_test.c b/tools/enc_recon_frame_test.c
index d23accd49d..a8e152bf44 100644
--- a/tools/enc_recon_frame_test.c
+++ b/tools/enc_recon_frame_test.c
@@ -297,7 +297,7 @@ int main(int argc, char **argv)
         return 1;
     }
     if (!(enc->capabilities & AV_CODEC_CAP_ENCODER_RECON_FRAME)) {
-        fprintf(stderr, "Encoder '%s' cannot ouput reconstructed frames\n",
+        fprintf(stderr, "Encoder '%s' cannot output reconstructed frames\n",
                 enc->name);
         return 1;
     }
diff --git a/tools/patcheck b/tools/patcheck
index 76ca408b03..bc9199a6e0 100755
--- a/tools/patcheck
+++ b/tools/patcheck
@@ -66,7 +66,7 @@ $EGREP $OPT '^\+ *(const *|)static' $*| $EGREP --color=always '[^=]= *(0|NULL)[^
 cat $TMP
 hiegrep '# *ifdef * (HAVE|CONFIG)_' 'ifdefs that should be #if' $*
 
-hiegrep '\b(awnser|cant|dont|wont|doesnt|usefull|successfull|occured|teh|alot|wether|skiped|skiping|heigth|informations|colums|loosy|loosing|ouput|seperate|preceed|upto|paket|posible|unkown|inpossible|dimention|acheive|funtions|overriden|outputing|seperation|initalize|compatibilty|bistream|knwon|unknwon|choosen|additonal|gurantee|availble|wich|begining|milisecond|missmatch|threshhold)\b' 'common typos' $*
+hiegrep '\b(awnser|cant|dont|wont|doesnt|usefull|successfull|occured|teh|alot|wether|skiped|skiping|heigth|informations|colums|loosy|loosing|ouput|seperate|preceed|upto|paket|posible|unkown|inpossible|dimention|acheive|funtions|overriden|outputing|seperation|initalize|compatibilty|bistream|knwon|unknwon|choosen|additonal|gurantee|availble|wich|begining|milisecond|missmatch|threshhold|accomodate|processsing|substract|auxillary|coefficents|neccesary|precison|avaliable|sucessful|charactor)\b' 'common typos' $*
 
 hiegrep 'av_log\( *NULL' 'Missing context in av_log' $*
 hiegrep '[^sn]printf' 'Please use av_log' $*
