[FFmpeg-devel] [PATCH v2 1/2] avutil: move bswapdsp from avcodec to avutil
mindmark at gmail.com
mindmark at gmail.com
Tue Dec 6 00:16:40 EET 2022
From: Mark Reid <mindmark at gmail.com>
Also renamed bswap_buf to bswap32_buf
---
configure | 56 ++++++++-----------
libavcodec/4xm.c | 14 ++---
libavcodec/Makefile | 1 -
libavcodec/ac3dec.c | 4 +-
libavcodec/ac3dec.h | 4 +-
libavcodec/alsdec.c | 12 ++--
libavcodec/apedec.c | 10 ++--
libavcodec/asv.c | 4 +-
libavcodec/asv.h | 4 +-
libavcodec/asvdec.c | 4 +-
libavcodec/asvenc.c | 4 +-
libavcodec/cllc.c | 6 +-
libavcodec/eamad.c | 6 +-
libavcodec/eatqi.c | 10 ++--
libavcodec/exr.c | 6 +-
libavcodec/flacenc.c | 6 +-
libavcodec/fraps.c | 10 ++--
libavcodec/hevcdec.c | 4 +-
libavcodec/hevcdec.h | 4 +-
libavcodec/huffyuvdec.c | 14 ++---
libavcodec/huffyuvenc.c | 8 +--
libavcodec/imc.c | 6 +-
libavcodec/imm4.c | 12 ++--
libavcodec/mdec.c | 6 +-
libavcodec/mimic.c | 12 ++--
libavcodec/mobiclip.c | 6 +-
libavcodec/motionpixels.c | 10 ++--
libavcodec/mpc.h | 4 +-
libavcodec/mpc7.c | 8 +--
libavcodec/rawdec.c | 8 +--
libavcodec/riscv/Makefile | 3 -
libavcodec/shorten.c | 7 ++-
libavcodec/truemotion2.c | 11 ++--
libavcodec/truespeech.c | 8 +--
libavcodec/utvideo.h | 4 +-
libavcodec/utvideodec.c | 16 +++---
libavcodec/utvideoenc.c | 10 ++--
libavcodec/x86/Makefile | 2 -
libavcodec/ylc.c | 18 +++---
libavutil/Makefile | 2 +
{libavcodec => libavutil}/bswapdsp.c | 17 +++---
{libavcodec => libavutil}/bswapdsp.h | 16 +++---
libavutil/riscv/Makefile | 7 ++-
.../riscv/bswapdsp_init.c | 9 +--
.../riscv/bswapdsp_rvb.S | 0
.../riscv/bswapdsp_rvv.S | 0
libavutil/version.h | 2 +-
libavutil/x86/Makefile | 8 ++-
{libavcodec => libavutil}/x86/bswapdsp.asm | 4 +-
{libavcodec => libavutil}/x86/bswapdsp_init.c | 17 +++---
tests/checkasm/Makefile | 2 +-
tests/checkasm/bswapdsp.c | 8 +--
tests/checkasm/checkasm.c | 4 +-
53 files changed, 216 insertions(+), 222 deletions(-)
rename {libavcodec => libavutil}/bswapdsp.c (80%)
rename {libavcodec => libavutil}/bswapdsp.h (71%)
rename {libavcodec => libavutil}/riscv/bswapdsp_init.c (85%)
rename {libavcodec => libavutil}/riscv/bswapdsp_rvb.S (100%)
rename {libavcodec => libavutil}/riscv/bswapdsp_rvv.S (100%)
rename {libavcodec => libavutil}/x86/bswapdsp.asm (97%)
rename {libavcodec => libavutil}/x86/bswapdsp_init.c (80%)
diff --git a/configure b/configure
index f4eedfc207..03b502ea37 100755
--- a/configure
+++ b/configure
@@ -2421,7 +2421,6 @@ CONFIG_EXTRA="
audio_frame_queue
audiodsp
blockdsp
- bswapdsp
cabac
cbs
cbs_av1
@@ -2749,8 +2748,8 @@ aac_decoder_select="adts_header mpeg4audio sinewin"
aac_fixed_decoder_select="adts_header mpeg4audio"
aac_encoder_select="audio_frame_queue iirfilter lpc sinewin"
aac_latm_decoder_select="aac_decoder aac_latm_parser"
-ac3_decoder_select="ac3_parser ac3dsp bswapdsp fmtconvert"
-ac3_fixed_decoder_select="ac3_parser ac3dsp bswapdsp"
+ac3_decoder_select="ac3_parser ac3dsp fmtconvert"
+ac3_fixed_decoder_select="ac3_parser ac3dsp"
ac3_encoder_select="ac3dsp audiodsp me_cmp"
ac3_fixed_encoder_select="ac3dsp audiodsp me_cmp"
acelp_kelvin_decoder_select="audiodsp"
@@ -2759,20 +2758,20 @@ adpcm_g722_encoder_select="g722dsp"
agm_decoder_select="idctdsp"
aic_decoder_select="golomb idctdsp"
alac_encoder_select="lpc"
-als_decoder_select="bswapdsp mpeg4audio"
+als_decoder_select="mpeg4audio"
amrnb_decoder_select="lsp"
amrwb_decoder_select="lsp"
amv_decoder_select="sp5x_decoder exif"
amv_encoder_select="jpegtables mpegvideoenc"
-ape_decoder_select="bswapdsp llauddsp"
+ape_decoder_select="llauddsp"
apng_decoder_select="inflate_wrapper"
apng_encoder_select="deflate_wrapper llvidencdsp"
aptx_encoder_select="audio_frame_queue"
aptx_hd_encoder_select="audio_frame_queue"
-asv1_decoder_select="blockdsp bswapdsp idctdsp"
-asv1_encoder_select="aandcttables bswapdsp fdctdsp pixblockdsp"
-asv2_decoder_select="blockdsp bswapdsp idctdsp"
-asv2_encoder_select="aandcttables bswapdsp fdctdsp pixblockdsp"
+asv1_decoder_select="idctdsp"
+asv1_encoder_select="aandcttables fdctdsp pixblockdsp"
+asv2_decoder_select="idctdsp"
+asv2_encoder_select="aandcttables fdctdsp pixblockdsp"
atrac1_decoder_select="sinewin"
av1_decoder_select="av1_frame_split_bsf cbs_av1"
bink_decoder_select="blockdsp hpeldsp"
@@ -2780,7 +2779,6 @@ binkaudio_dct_decoder_select="wma_freqs"
binkaudio_rdft_decoder_select="wma_freqs"
cavs_decoder_select="blockdsp golomb h264chroma idctdsp qpeldsp videodsp"
clearvideo_decoder_select="idctdsp"
-cllc_decoder_select="bswapdsp"
comfortnoise_encoder_select="lpc"
cook_decoder_select="audiodsp sinewin"
cri_decoder_select="mjpeg_decoder"
@@ -2795,9 +2793,9 @@ dxa_decoder_deps="zlib"
dxv_decoder_select="lzf texturedsp"
eac3_decoder_select="ac3_decoder"
eac3_encoder_select="ac3_encoder"
-eamad_decoder_select="aandcttables blockdsp bswapdsp"
+eamad_decoder_select="aandcttables blockdsp"
eatgq_decoder_select="aandcttables"
-eatqi_decoder_select="aandcttables blockdsp bswapdsp"
+eatqi_decoder_select="aandcttables blockdsp"
exr_decoder_deps="zlib"
exr_encoder_deps="zlib"
ffv1_decoder_select="rangecoder"
@@ -2805,15 +2803,15 @@ ffv1_encoder_select="rangecoder"
ffvhuff_decoder_select="huffyuv_decoder"
ffvhuff_encoder_select="huffyuv_encoder"
fic_decoder_select="golomb"
-flac_encoder_select="bswapdsp lpc"
+flac_encoder_select="lpc"
flashsv2_decoder_select="inflate_wrapper"
flashsv2_encoder_select="deflate_wrapper"
flashsv_decoder_select="inflate_wrapper"
flashsv_encoder_deps="zlib"
flv_decoder_select="h263_decoder"
flv_encoder_select="h263_encoder"
-fourxm_decoder_select="blockdsp bswapdsp"
-fraps_decoder_select="bswapdsp huffman"
+fourxm_decoder_select="blockdsp"
+fraps_decoder_select="huffman"
g2m_decoder_deps="zlib"
g2m_decoder_select="blockdsp idctdsp jpegtables"
g729_decoder_select="audiodsp"
@@ -2829,13 +2827,13 @@ h264_decoder_suggest="error_resilience"
hap_decoder_select="snappy texturedsp"
hap_encoder_deps="libsnappy"
hap_encoder_select="texturedspenc"
-hevc_decoder_select="bswapdsp cabac dovi_rpu golomb hevcparse hevc_sei videodsp"
-huffyuv_decoder_select="bswapdsp huffyuvdsp llviddsp"
-huffyuv_encoder_select="bswapdsp huffman huffyuvencdsp llvidencdsp"
+hevc_decoder_select="cabac dovi_rpu golomb hevcparse hevc_sei videodsp"
+huffyuv_decoder_select="huffyuvdsp llviddsp"
+huffyuv_encoder_select="huffman huffyuvencdsp llvidencdsp"
hymt_decoder_select="huffyuv_decoder"
iac_decoder_select="imc_decoder"
-imc_decoder_select="bswapdsp sinewin"
-imm4_decoder_select="bswapdsp idctdsp"
+imc_decoder_select="sinewin"
+imm4_decoder_select="idctdsp"
imm5_decoder_select="h264_decoder hevc_decoder"
indeo3_decoder_select="hpeldsp"
indeo4_decoder_select="ividsp"
@@ -2849,16 +2847,15 @@ ljpeg_encoder_select="jpegtables"
lscr_decoder_select="inflate_wrapper"
magicyuv_decoder_select="llviddsp"
magicyuv_encoder_select="llvidencdsp"
-mdec_decoder_select="blockdsp bswapdsp idctdsp"
+mdec_decoder_select="blockdsp idctdsp"
metasound_decoder_select="lsp sinewin"
-mimic_decoder_select="blockdsp bswapdsp hpeldsp idctdsp"
+mimic_decoder_select="blockdsp hpeldsp idctdsp"
mjpeg_decoder_select="blockdsp hpeldsp exif idctdsp jpegtables"
mjpeg_encoder_select="jpegtables mpegvideoenc"
mjpegb_decoder_select="mjpeg_decoder"
mlp_decoder_select="mlp_parser"
mlp_encoder_select="lpc audio_frame_queue"
-mobiclip_decoder_select="bswapdsp golomb"
-motionpixels_decoder_select="bswapdsp"
+mobiclip_decoder_select="golomb"
mp1_decoder_select="mpegaudio"
mp1float_decoder_select="mpegaudio"
mp2_decoder_select="mpegaudio"
@@ -2869,7 +2866,7 @@ mp3adufloat_decoder_select="mpegaudio"
mp3float_decoder_select="mpegaudio"
mp3on4_decoder_select="mpegaudio mpeg4audio"
mp3on4float_decoder_select="mpegaudio mpeg4audio"
-mpc7_decoder_select="bswapdsp mpegaudiodsp"
+mpc7_decoder_select="mpegaudiodsp"
mpc8_decoder_select="mpegaudiodsp"
mpegvideo_decoder_select="mpegvideodec"
mpeg1video_decoder_select="mpegvideodec"
@@ -2909,7 +2906,6 @@ ra_144_decoder_select="audiodsp"
ra_144_encoder_select="audio_frame_queue lpc audiodsp"
ralf_decoder_select="golomb"
rasc_decoder_select="inflate_wrapper"
-rawvideo_decoder_select="bswapdsp"
rscc_decoder_deps="zlib"
rv10_decoder_select="h263_decoder"
rv10_encoder_select="h263_encoder"
@@ -2918,7 +2914,6 @@ rv20_encoder_select="h263_encoder"
rv30_decoder_select="golomb h264pred h264qpel mpegvideodec rv34dsp"
rv40_decoder_select="golomb h264pred h264qpel mpegvideodec rv34dsp"
screenpresso_decoder_deps="zlib"
-shorten_decoder_select="bswapdsp"
sipr_decoder_select="lsp"
smvjpeg_decoder_select="mjpeg_decoder"
snow_decoder_select="dwt h264qpel hpeldsp rangecoder videodsp"
@@ -2944,13 +2939,11 @@ tiff_decoder_suggest="zlib lzma"
tiff_encoder_suggest="zlib"
truehd_decoder_select="mlp_parser"
truehd_encoder_select="lpc audio_frame_queue"
-truemotion2_decoder_select="bswapdsp"
-truespeech_decoder_select="bswapdsp"
tscc_decoder_select="inflate_wrapper"
twinvq_decoder_select="lsp sinewin"
txd_decoder_select="texturedsp"
-utvideo_decoder_select="bswapdsp llviddsp"
-utvideo_encoder_select="bswapdsp huffman llvidencdsp"
+utvideo_decoder_select="llviddsp"
+utvideo_encoder_select="huffman llvidencdsp"
vble_decoder_select="llviddsp"
vbn_decoder_select="texturedsp"
vbn_encoder_select="texturedspenc"
@@ -2983,7 +2976,6 @@ wmv3_decoder_select="vc1_decoder"
wmv3image_decoder_select="wmv3_decoder"
xma1_decoder_select="wmapro_decoder"
xma2_decoder_select="wmapro_decoder"
-ylc_decoder_select="bswapdsp"
zerocodec_decoder_select="inflate_wrapper"
zlib_decoder_select="inflate_wrapper"
zlib_encoder_select="deflate_wrapper"
diff --git a/libavcodec/4xm.c b/libavcodec/4xm.c
index 5636fdef2d..b99f8be172 100644
--- a/libavcodec/4xm.c
+++ b/libavcodec/4xm.c
@@ -27,6 +27,7 @@
#include <inttypes.h>
#include "libavutil/avassert.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/frame.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
@@ -34,7 +35,6 @@
#include "libavutil/thread.h"
#include "avcodec.h"
#include "blockdsp.h"
-#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
@@ -138,7 +138,7 @@ typedef struct CFrameBuffer {
typedef struct FourXContext {
AVCodecContext *avctx;
BlockDSPContext bdsp;
- BswapDSPContext bbdsp;
+ AVBSwapDSPContext bbdsp;
uint16_t *frame_buffer;
uint16_t *last_frame_buffer;
GetBitContext pre_gb; ///< ac/dc prefix
@@ -469,8 +469,8 @@ static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length)
bitstream_size);
if (!f->bitstream_buffer)
return AVERROR(ENOMEM);
- f->bbdsp.bswap_buf(f->bitstream_buffer, (const uint32_t *) (buf + extra),
- bitstream_size / 4);
+ f->bbdsp.bswap32_buf(f->bitstream_buffer, (const uint32_t *) (buf + extra),
+ bitstream_size / 4);
init_get_bits(&f->gb, f->bitstream_buffer, 8 * bitstream_size);
wordstream_offset = extra + bitstream_size;
@@ -813,8 +813,8 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
prestream_size);
if (!f->bitstream_buffer)
return AVERROR(ENOMEM);
- f->bbdsp.bswap_buf(f->bitstream_buffer, (const uint32_t *) prestream,
- prestream_size / 4);
+ f->bbdsp.bswap32_buf(f->bitstream_buffer, (const uint32_t *) prestream,
+ prestream_size / 4);
init_get_bits(&f->pre_gb, f->bitstream_buffer, 8 * prestream_size);
f->last_dc = 0 * 128 * 8 * 8;
@@ -1013,7 +1013,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
f->version = AV_RL32(avctx->extradata) >> 16;
ff_blockdsp_init(&f->bdsp);
- ff_bswapdsp_init(&f->bbdsp);
+ av_bswapdsp_init(&f->bbdsp);
f->avctx = avctx;
if (f->version > 2)
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 98841ed07c..6b9b7a48dd 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -70,7 +70,6 @@ OBJS-$(CONFIG_AUDIO_FRAME_QUEUE) += audio_frame_queue.o
OBJS-$(CONFIG_ATSC_A53) += atsc_a53.o
OBJS-$(CONFIG_AUDIODSP) += audiodsp.o
OBJS-$(CONFIG_BLOCKDSP) += blockdsp.o
-OBJS-$(CONFIG_BSWAPDSP) += bswapdsp.o
OBJS-$(CONFIG_CABAC) += cabac.o
OBJS-$(CONFIG_CBS) += cbs.o cbs_bsf.o
OBJS-$(CONFIG_CBS_AV1) += cbs_av1.o
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index 1f2949dcfd..218f4e96d2 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -31,13 +31,13 @@
#include <math.h>
#include <string.h>
+#include "libavutil/bswapdsp.h"
#include "libavutil/channel_layout.h"
#include "libavutil/crc.h"
#include "libavutil/downmix_info.h"
#include "libavutil/intmath.h"
#include "libavutil/opt.h"
#include "libavutil/thread.h"
-#include "bswapdsp.h"
#include "aac_ac3_parser.h"
#include "ac3_parser_internal.h"
#include "ac3dec.h"
@@ -229,7 +229,7 @@ static av_cold int ac3_decode_init(AVCodecContext *avctx)
return ret;
AC3_RENAME(ff_kbd_window_init)(s->window, 5.0, 256);
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
#if (USE_FIXED)
s->fdsp = avpriv_alloc_fixed_dsp(avctx->flags & AV_CODEC_FLAG_BITEXACT);
diff --git a/libavcodec/ac3dec.h b/libavcodec/ac3dec.h
index 138b462abb..8cd6d83e9a 100644
--- a/libavcodec/ac3dec.h
+++ b/libavcodec/ac3dec.h
@@ -51,6 +51,7 @@
#define AVCODEC_AC3DEC_H
#include "libavutil/tx.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/float_dsp.h"
#include "libavutil/fixed_dsp.h"
#include "libavutil/lfg.h"
@@ -59,7 +60,6 @@
#include "ac3.h"
#include "ac3dsp.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "get_bits.h"
#include "fmtconvert.h"
@@ -228,7 +228,7 @@ typedef struct AC3DecodeContext {
///@}
///@name Optimization
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
#if USE_FIXED
AVFixedDSPContext *fdsp;
#else
diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index 4605b2248f..af41eda49f 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -32,12 +32,12 @@
#include "unary.h"
#include "mpeg4audio.h"
#include "bgmc.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "internal.h"
#include "mlz.h"
#include "libavutil/samplefmt.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/crc.h"
#include "libavutil/softfloat_ieee754.h"
#include "libavutil/intfloat.h"
@@ -197,7 +197,7 @@ typedef struct ALSDecContext {
AVCodecContext *avctx;
ALSSpecificConfig sconf;
GetBitContext gb;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
const AVCRC *crc_table;
uint32_t crc_org; ///< CRC value of the original input data
uint32_t crc; ///< CRC value calculated from decoded data
@@ -1899,9 +1899,9 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
sample++)
*dest++ = av_bswap16(src[sample]);
} else {
- ctx->bdsp.bswap_buf((uint32_t *) ctx->crc_buffer,
- (uint32_t *) frame->data[0],
- ctx->cur_frame_length * channels);
+ ctx->bdsp.bswap32_buf((uint32_t *) ctx->crc_buffer,
+ (uint32_t *) frame->data[0],
+ ctx->cur_frame_length * channels);
}
crc_source = ctx->crc_buffer;
} else {
@@ -2164,7 +2164,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
}
}
- ff_bswapdsp_init(&ctx->bdsp);
+ av_bswapdsp_init(&ctx->bdsp);
return 0;
}
diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c
index c08d13d6c2..7b9fa74416 100644
--- a/libavcodec/apedec.c
+++ b/libavcodec/apedec.c
@@ -23,12 +23,12 @@
#include <inttypes.h>
#include "libavutil/avassert.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/channel_layout.h"
#include "libavutil/crc.h"
#include "libavutil/opt.h"
#include "lossless_audiodsp.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
@@ -153,7 +153,7 @@ typedef struct APEPredictor64 {
typedef struct APEContext {
AVClass *class; ///< class for AVOptions
AVCodecContext *avctx;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
LLAudDSPContext adsp;
int channels;
int samples; ///< samples left to decode in current frame
@@ -313,7 +313,7 @@ static av_cold int ape_decode_init(AVCodecContext *avctx)
s->predictor_decode_stereo = predictor_decode_stereo_3950;
}
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
ff_llauddsp_init(&s->adsp);
av_channel_layout_uninit(&avctx->ch_layout);
avctx->ch_layout = (channels == 2) ? (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO
@@ -1499,8 +1499,8 @@ static int ape_decode_frame(AVCodecContext *avctx, AVFrame *frame,
av_fast_padded_malloc(&s->data, &s->data_size, buf_size);
if (!s->data)
return AVERROR(ENOMEM);
- s->bdsp.bswap_buf((uint32_t *) s->data, (const uint32_t *) buf,
- buf_size >> 2);
+ s->bdsp.bswap32_buf((uint32_t *) s->data, (const uint32_t *) buf,
+ buf_size >> 2);
memset(s->data + (buf_size & ~3), 0, buf_size & 3);
s->ptr = s->data;
s->data_end = s->data + buf_size;
diff --git a/libavcodec/asv.c b/libavcodec/asv.c
index 3aa08c30c0..bfe669d25e 100644
--- a/libavcodec/asv.c
+++ b/libavcodec/asv.c
@@ -26,10 +26,10 @@
#include <stdint.h>
#include "libavutil/attributes.h"
+#include "libavutil/bswapdsp.h"
#include "asv.h"
#include "avcodec.h"
-#include "bswapdsp.h"
const uint8_t ff_asv_scantab[64] = {
0x00, 0x08, 0x01, 0x09, 0x10, 0x18, 0x11, 0x19,
@@ -92,7 +92,7 @@ av_cold void ff_asv_common_init(AVCodecContext *avctx)
{
ASVCommonContext *const a = avctx->priv_data;
- ff_bswapdsp_init(&a->bbdsp);
+ av_bswapdsp_init(&a->bbdsp);
a->mb_width = (avctx->width + 15) / 16;
a->mb_height = (avctx->height + 15) / 16;
diff --git a/libavcodec/asv.h b/libavcodec/asv.h
index 7c0983a497..f7e00d8ef2 100644
--- a/libavcodec/asv.h
+++ b/libavcodec/asv.h
@@ -29,11 +29,11 @@
#include <stdint.h>
#include "avcodec.h"
-#include "bswapdsp.h"
+#include "libavutil/bswapdsp.h"
typedef struct ASVCommonContext {
AVCodecContext *avctx;
- BswapDSPContext bbdsp;
+ AVBSwapDSPContext bbdsp;
int mb_width;
int mb_height;
int mb_width2;
diff --git a/libavcodec/asvdec.c b/libavcodec/asvdec.c
index 699aab9f8f..25dab7473f 100644
--- a/libavcodec/asvdec.c
+++ b/libavcodec/asvdec.c
@@ -253,8 +253,8 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p,
if (!a->bitstream_buffer)
return AVERROR(ENOMEM);
- c->bbdsp.bswap_buf((uint32_t *) a->bitstream_buffer,
- (const uint32_t *) buf, buf_size / 4);
+ c->bbdsp.bswap32_buf((uint32_t *) a->bitstream_buffer,
+ (const uint32_t *) buf, buf_size / 4);
ret = init_get_bits8(&a->gb, a->bitstream_buffer, buf_size);
} else {
ret = init_get_bits8_le(&a->gb, buf, buf_size);
diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c
index 9da7cbb986..2bf67d686c 100644
--- a/libavcodec/asvenc.c
+++ b/libavcodec/asvenc.c
@@ -309,8 +309,8 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
size = (put_bytes_output(&a->pb) + 3) / 4;
if (avctx->codec_id == AV_CODEC_ID_ASV1) {
- c->bbdsp.bswap_buf((uint32_t *) pkt->data,
- (uint32_t *) pkt->data, size);
+ c->bbdsp.bswap32_buf((uint32_t *) pkt->data,
+ (uint32_t *) pkt->data, size);
}
pkt->size = size * 4;
diff --git a/libavcodec/cllc.c b/libavcodec/cllc.c
index 911717b68d..dede8591c5 100644
--- a/libavcodec/cllc.c
+++ b/libavcodec/cllc.c
@@ -22,8 +22,8 @@
#include <inttypes.h>
+#include "libavutil/bswapdsp.h"
#include "libavutil/intreadwrite.h"
-#include "bswapdsp.h"
#include "canopus.h"
#include "get_bits.h"
#include "avcodec.h"
@@ -36,7 +36,7 @@
typedef struct CLLCContext {
AVCodecContext *avctx;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
uint8_t *swapped_buf;
int swapped_buf_size;
@@ -486,7 +486,7 @@ static av_cold int cllc_decode_init(AVCodecContext *avctx)
ctx->swapped_buf = NULL;
ctx->swapped_buf_size = 0;
- ff_bswapdsp_init(&ctx->bdsp);
+ av_bswapdsp_init(&ctx->bdsp);
return 0;
}
diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c
index 45012c62b8..0ffcd14105 100644
--- a/libavcodec/eamad.c
+++ b/libavcodec/eamad.c
@@ -28,12 +28,12 @@
* http://wiki.multimedia.cx/index.php?title=Electronic_Arts_MAD
*/
+#include "libavutil/bswapdsp.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "blockdsp.h"
#include "bytestream.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
@@ -50,7 +50,7 @@
typedef struct MadContext {
AVCodecContext *avctx;
BlockDSPContext bdsp;
- BswapDSPContext bbdsp;
+ AVBSwapDSPContext bbdsp;
AVFrame *last_frame;
GetBitContext gb;
void *bitstream_buf;
@@ -67,7 +67,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
s->avctx = avctx;
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
ff_blockdsp_init(&s->bdsp);
- ff_bswapdsp_init(&s->bbdsp);
+ av_bswapdsp_init(&s->bbdsp);
ff_mpeg12_init_vlcs();
s->last_frame = av_frame_alloc();
diff --git a/libavcodec/eatqi.c b/libavcodec/eatqi.c
index e4f12b3db2..b1475b16c4 100644
--- a/libavcodec/eatqi.c
+++ b/libavcodec/eatqi.c
@@ -26,11 +26,11 @@
* @see http://wiki.multimedia.cx/index.php?title=Electronic_Arts_TQI
*/
+#include "libavutil/bswapdsp.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "blockdsp.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
@@ -43,7 +43,7 @@ typedef struct TqiContext {
AVCodecContext *avctx;
GetBitContext gb;
BlockDSPContext bdsp;
- BswapDSPContext bsdsp;
+ AVBSwapDSPContext bsdsp;
void *bitstream_buf;
unsigned int bitstream_buf_size;
@@ -60,7 +60,7 @@ static av_cold int tqi_decode_init(AVCodecContext *avctx)
TqiContext *t = avctx->priv_data;
ff_blockdsp_init(&t->bdsp);
- ff_bswapdsp_init(&t->bsdsp);
+ av_bswapdsp_init(&t->bsdsp);
avctx->framerate = (AVRational){ 15, 1 };
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
@@ -148,8 +148,8 @@ static int tqi_decode_frame(AVCodecContext *avctx, AVFrame *frame,
buf_end - buf);
if (!t->bitstream_buf)
return AVERROR(ENOMEM);
- t->bsdsp.bswap_buf(t->bitstream_buf, (const uint32_t *) buf,
- (buf_end - buf) / 4);
+ t->bsdsp.bswap32_buf(t->bitstream_buf, (const uint32_t *) buf,
+ (buf_end - buf) / 4);
init_get_bits(&t->gb, t->bitstream_buf, 8 * (buf_end - buf));
t->last_dc[0] =
diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index 6a0af96ce4..e22045a1a9 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -47,7 +47,7 @@
#include "bytestream.h"
#if HAVE_BIGENDIAN
-#include "bswapdsp.h"
+#include "libavutil/bswapdsp.h"
#endif
#include "codec_internal.h"
@@ -150,7 +150,7 @@ typedef struct EXRContext {
ExrDSPContext dsp;
#if HAVE_BIGENDIAN
- BswapDSPContext bbdsp;
+ AVBSwapDSPContext bbdsp;
#endif
enum ExrCompr compression;
@@ -2224,7 +2224,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
ff_exrdsp_init(&s->dsp);
#if HAVE_BIGENDIAN
- ff_bswapdsp_init(&s->bbdsp);
+ av_bswapdsp_init(&s->bbdsp);
#endif
trc_func = avpriv_get_trc_function_from_trc(s->apply_trc_type);
diff --git a/libavcodec/flacenc.c b/libavcodec/flacenc.c
index bca71b3780..1082910974 100644
--- a/libavcodec/flacenc.c
+++ b/libavcodec/flacenc.c
@@ -20,6 +20,7 @@
*/
#include "libavutil/avassert.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/channel_layout.h"
#include "libavutil/crc.h"
#include "libavutil/intmath.h"
@@ -27,7 +28,6 @@
#include "libavutil/opt.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "encode.h"
#include "put_bits.h"
@@ -123,7 +123,7 @@ typedef struct FlacEncodeContext {
struct AVMD5 *md5ctx;
uint8_t *md5_buffer;
unsigned int md5_buffer_size;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
FLACEncDSPContext flac_dsp;
int flushed;
@@ -454,7 +454,7 @@ static av_cold int flac_encode_init(AVCodecContext *avctx)
ret = ff_lpc_init(&s->lpc_ctx, avctx->frame_size,
s->options.max_prediction_order, FF_LPC_TYPE_LEVINSON);
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
ff_flacencdsp_init(&s->flac_dsp);
dprint_compression_options(s);
diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c
index 4c4c46b602..33e24a5bfb 100644
--- a/libavcodec/fraps.c
+++ b/libavcodec/fraps.c
@@ -35,11 +35,11 @@
#define CACHED_BITSTREAM_READER HAVE_FAST_64BIT
#define UNCHECKED_BITSTREAM_READER 1
+#include "libavutil/bswapdsp.h"
#include "avcodec.h"
#include "get_bits.h"
#include "huffman.h"
#include "bytestream.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "thread.h"
@@ -51,7 +51,7 @@
*/
typedef struct FrapsContext {
AVCodecContext *avctx;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
uint8_t *tmpbuf;
int tmpbuf_size;
} FrapsContext;
@@ -69,7 +69,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
s->avctx = avctx;
s->tmpbuf = NULL;
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
return 0;
}
@@ -106,8 +106,8 @@ static int fraps2_decode_plane(FrapsContext *s, uint8_t *dst, int stride, int w,
/* we have built Huffman table and are ready to decode plane */
/* convert bits so they may be used by standard bitreader */
- s->bdsp.bswap_buf((uint32_t *) s->tmpbuf,
- (const uint32_t *) src, size >> 2);
+ s->bdsp.bswap32_buf((uint32_t *) s->tmpbuf,
+ (const uint32_t *) src, size >> 2);
if ((ret = init_get_bits8(&gb, s->tmpbuf, size)) < 0)
return ret;
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index 567e8d81d4..e9cef539b2 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -27,6 +27,7 @@
#include "libavutil/attributes.h"
#include "libavutil/avstring.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/common.h"
#include "libavutil/display.h"
#include "libavutil/film_grain_params.h"
@@ -37,7 +38,6 @@
#include "libavutil/pixdesc.h"
#include "libavutil/timecode.h"
-#include "bswapdsp.h"
#include "bytestream.h"
#include "cabac_functions.h"
#include "codec_internal.h"
@@ -3527,7 +3527,7 @@ static av_cold int hevc_init_context(AVCodecContext *avctx)
if (!s->md5_ctx)
return AVERROR(ENOMEM);
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
s->dovi_ctx.logctx = avctx;
s->eos = 0;
diff --git a/libavcodec/hevcdec.h b/libavcodec/hevcdec.h
index 9d3f4adbb3..f73ff352d1 100644
--- a/libavcodec/hevcdec.h
+++ b/libavcodec/hevcdec.h
@@ -25,11 +25,11 @@
#include <stdatomic.h>
+#include "libavutil/bswapdsp.h"
#include "libavutil/buffer.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "cabac.h"
#include "dovi_rpu.h"
#include "get_bits.h"
@@ -541,7 +541,7 @@ typedef struct HEVCContext {
HEVCPredContext hpc;
HEVCDSPContext hevcdsp;
VideoDSPContext vdsp;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
H274FilmGrainDatabase h274db;
int8_t *qp_y_tab;
uint8_t *horizontal_bs;
diff --git a/libavcodec/huffyuvdec.c b/libavcodec/huffyuvdec.c
index 7d3515cc88..5d3c7a3828 100644
--- a/libavcodec/huffyuvdec.c
+++ b/libavcodec/huffyuvdec.c
@@ -35,13 +35,13 @@
#include "config_components.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "get_bits.h"
#include "huffyuv.h"
#include "huffyuvdsp.h"
#include "lossless_videodsp.h"
#include "thread.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/imgutils.h"
#include "libavutil/pixdesc.h"
@@ -76,7 +76,7 @@ typedef struct HYuvDecContext {
VLC vlc[8]; //Y,U,V,A,YY,YU,YV,AA
uint8_t *bitstream_buffer;
unsigned int bitstream_buffer_size;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
HuffYUVDSPContext hdsp;
LLVidDSPContext llviddsp;
} HYuvDecContext;
@@ -340,7 +340,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
s->flags = avctx->flags;
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
ff_huffyuvdsp_init(&s->hdsp, avctx->pix_fmt);
ff_llviddsp_init(&s->llviddsp);
memset(s->vlc, 0, 4 * sizeof(VLC));
@@ -1239,8 +1239,8 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p,
if (!s->bitstream_buffer)
return AVERROR(ENOMEM);
- s->bdsp.bswap_buf((uint32_t *) s->bitstream_buffer,
- (const uint32_t *) buf, buf_size / 4);
+ s->bdsp.bswap32_buf((uint32_t *) s->bitstream_buffer,
+ (const uint32_t *) buf, buf_size / 4);
if ((ret = ff_thread_get_buffer(avctx, p, 0)) < 0)
return ret;
@@ -1282,8 +1282,8 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p,
return AVERROR_INVALIDDATA;
y_offset = height - (slice + 1) * slice_height;
- s->bdsp.bswap_buf((uint32_t *)s->bitstream_buffer,
- (const uint32_t *)(buf + slice_offset), slice_size / 4);
+ s->bdsp.bswap32_buf((uint32_t *)s->bitstream_buffer,
+ (const uint32_t *)(buf + slice_offset), slice_size / 4);
} else {
y_offset = 0;
slice_offset = 0;
diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c
index db274e37ad..6230e107a3 100644
--- a/libavcodec/huffyuvenc.c
+++ b/libavcodec/huffyuvenc.c
@@ -31,7 +31,6 @@
#include "config_components.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "encode.h"
#include "huffyuv.h"
@@ -39,6 +38,7 @@
#include "huffyuvencdsp.h"
#include "lossless_videoencdsp.h"
#include "put_bits.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
@@ -68,7 +68,7 @@ typedef struct HYuvEncContext {
uint64_t stats[4][MAX_VLC_N];
uint8_t len[4][MAX_VLC_N];
uint32_t bits[4][MAX_VLC_N];
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
HuffYUVEncDSPContext hencdsp;
LLVidEncDSPContext llvidencdsp;
int non_determ; // non-deterministic, multi-threaded encoder allowed
@@ -247,7 +247,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
s->avctx = avctx;
s->flags = avctx->flags;
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
ff_huffyuvencdsp_init(&s->hencdsp, avctx->pix_fmt);
ff_llvidencdsp_init(&s->llvidencdsp);
@@ -1018,7 +1018,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
avctx->stats_out[0] = '\0';
if (!(s->avctx->flags2 & AV_CODEC_FLAG2_NO_OUTPUT)) {
flush_put_bits(&s->pb);
- s->bdsp.bswap_buf((uint32_t *) pkt->data, (uint32_t *) pkt->data, size);
+ s->bdsp.bswap32_buf((uint32_t *) pkt->data, (uint32_t *) pkt->data, size);
}
s->picture_number++;
diff --git a/libavcodec/imc.c b/libavcodec/imc.c
index 174332de4d..185da01323 100644
--- a/libavcodec/imc.c
+++ b/libavcodec/imc.c
@@ -34,6 +34,7 @@
#include <math.h>
#include <stddef.h>
+#include "libavutil/bswapdsp.h"
#include "libavutil/channel_layout.h"
#include "libavutil/ffmath.h"
#include "libavutil/float_dsp.h"
@@ -43,7 +44,6 @@
#include "libavutil/tx.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
@@ -92,7 +92,7 @@ typedef struct IMCContext {
GetBitContext gb;
AVFloatDSPContext *fdsp;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
AVTXContext *mdct;
av_tx_fn mdct_fn;
float *out_samples;
@@ -243,7 +243,7 @@ static av_cold int imc_decode_init(AVCodecContext *avctx)
if (ret < 0)
return ret;
- ff_bswapdsp_init(&q->bdsp);
+ av_bswapdsp_init(&q->bdsp);
avctx->sample_fmt = AV_SAMPLE_FMT_FLTP;
diff --git a/libavcodec/imm4.c b/libavcodec/imm4.c
index ccec5dff43..ae391b343b 100644
--- a/libavcodec/imm4.c
+++ b/libavcodec/imm4.c
@@ -23,11 +23,11 @@
#include <stddef.h>
#include <string.h>
+#include "libavutil/bswapdsp.h"
#include "libavutil/mem_internal.h"
#include "libavutil/thread.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "copy_block.h"
@@ -40,7 +40,7 @@
#define BLOCK_VLC_BITS 12
typedef struct IMM4Context {
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
GetBitContext gb;
AVFrame *prev_frame;
@@ -368,9 +368,9 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
if (!s->bitstream)
return AVERROR(ENOMEM);
- s->bdsp.bswap_buf((uint32_t *)s->bitstream,
- (uint32_t *)avpkt->data,
- (avpkt->size + 3) >> 2);
+ s->bdsp.bswap32_buf((uint32_t *)s->bitstream,
+ (uint32_t *)avpkt->data,
+ (avpkt->size + 3) >> 2);
if ((ret = init_get_bits8(gb, s->bitstream, FFALIGN(avpkt->size, 4))) < 0)
return ret;
@@ -495,7 +495,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
static AVOnce init_static_once = AV_ONCE_INIT;
IMM4Context *s = avctx->priv_data;
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
ff_idctdsp_init(&s->idsp, avctx);
s->prev_frame = av_frame_alloc();
diff --git a/libavcodec/mdec.c b/libavcodec/mdec.c
index 640b671a0f..269a3afdfe 100644
--- a/libavcodec/mdec.c
+++ b/libavcodec/mdec.c
@@ -27,11 +27,11 @@
* This is very similar to intra-only MPEG-1.
*/
+#include "libavutil/bswapdsp.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "blockdsp.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "idctdsp.h"
#include "mpeg12data.h"
@@ -41,7 +41,7 @@
typedef struct MDECContext {
AVCodecContext *avctx;
BlockDSPContext bdsp;
- BswapDSPContext bbdsp;
+ AVBSwapDSPContext bbdsp;
IDCTDSPContext idsp;
GetBitContext gb;
uint8_t permutated_scantable[64];
@@ -219,7 +219,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
a->avctx = avctx;
ff_blockdsp_init(&a->bdsp);
- ff_bswapdsp_init(&a->bbdsp);
+ av_bswapdsp_init(&a->bbdsp);
ff_idctdsp_init(&a->idsp, avctx);
ff_mpeg12_init_vlcs();
ff_permute_scantable(a->permutated_scantable, ff_zigzag_direct,
diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c
index 891471b30e..333085f8f3 100644
--- a/libavcodec/mimic.c
+++ b/libavcodec/mimic.c
@@ -21,6 +21,7 @@
#include <stdint.h>
+#include "libavutil/bswapdsp.h"
#include "libavutil/mem_internal.h"
#include "libavutil/thread.h"
@@ -30,7 +31,6 @@
#include "decode.h"
#include "get_bits.h"
#include "bytestream.h"
-#include "bswapdsp.h"
#include "hpeldsp.h"
#include "idctdsp.h"
#include "thread.h"
@@ -58,7 +58,7 @@ typedef struct MimicContext {
GetBitContext gb;
uint8_t permutated_scantable[64];
BlockDSPContext bdsp;
- BswapDSPContext bbdsp;
+ AVBSwapDSPContext bbdsp;
HpelDSPContext hdsp;
IDCTDSPContext idsp;
@@ -134,7 +134,7 @@ static av_cold int mimic_decode_init(AVCodecContext *avctx)
ctx->cur_index = 15;
ff_blockdsp_init(&ctx->bdsp);
- ff_bswapdsp_init(&ctx->bbdsp);
+ av_bswapdsp_init(&ctx->bbdsp);
ff_hpeldsp_init(&ctx->hdsp, avctx->flags);
ff_idctdsp_init(&ctx->idsp, avctx);
ff_permute_scantable(ctx->permutated_scantable, col_zag, ctx->idsp.idct_permutation);
@@ -411,9 +411,9 @@ static int mimic_decode_frame(AVCodecContext *avctx, AVFrame *rframe,
if (!ctx->swap_buf)
return AVERROR(ENOMEM);
- ctx->bbdsp.bswap_buf(ctx->swap_buf,
- (const uint32_t *) (buf + MIMIC_HEADER_SIZE),
- swap_buf_size >> 2);
+ ctx->bbdsp.bswap32_buf(ctx->swap_buf,
+ (const uint32_t *) (buf + MIMIC_HEADER_SIZE),
+ swap_buf_size >> 2);
init_get_bits(&ctx->gb, ctx->swap_buf, swap_buf_size << 3);
res = decode(ctx, quality, num_coeffs, !is_pframe);
diff --git a/libavcodec/mobiclip.c b/libavcodec/mobiclip.c
index c3b2383dbc..79c6953ee4 100644
--- a/libavcodec/mobiclip.c
+++ b/libavcodec/mobiclip.c
@@ -24,10 +24,10 @@
#include <inttypes.h>
#include "libavutil/avassert.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/thread.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
@@ -271,7 +271,7 @@ typedef struct MobiClipContext {
MotionXY *motion;
int motion_size;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
} MobiClipContext;
static VLC rl_vlc[2];
@@ -310,7 +310,7 @@ static av_cold int mobiclip_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
diff --git a/libavcodec/motionpixels.c b/libavcodec/motionpixels.c
index 4141c5a495..04a56a379c 100644
--- a/libavcodec/motionpixels.c
+++ b/libavcodec/motionpixels.c
@@ -19,13 +19,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/bswapdsp.h"
#include "libavutil/thread.h"
#include "config.h"
#include "avcodec.h"
#include "get_bits.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
@@ -41,7 +41,7 @@ typedef struct HuffCode {
typedef struct MotionPixelsContext {
AVCodecContext *avctx;
AVFrame *frame;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
uint8_t *changes_map;
int offset_bits_len;
int codes_count, current_codes_count;
@@ -80,7 +80,7 @@ static av_cold int mp_decode_init(AVCodecContext *avctx)
}
mp->avctx = avctx;
- ff_bswapdsp_init(&mp->bdsp);
+ av_bswapdsp_init(&mp->bdsp);
mp->changes_map = av_calloc(avctx->width, h4);
mp->offset_bits_len = av_log2(avctx->width * avctx->height) + 1;
mp->vpt = av_calloc(avctx->height, sizeof(*mp->vpt));
@@ -294,8 +294,8 @@ static int mp_decode_frame(AVCodecContext *avctx, AVFrame *rframe,
av_fast_padded_malloc(&mp->bswapbuf, &mp->bswapbuf_size, buf_size);
if (!mp->bswapbuf)
return AVERROR(ENOMEM);
- mp->bdsp.bswap_buf((uint32_t *) mp->bswapbuf, (const uint32_t *) buf,
- buf_size / 4);
+ mp->bdsp.bswap32_buf((uint32_t *) mp->bswapbuf, (const uint32_t *) buf,
+ buf_size / 4);
if (buf_size & 3)
memcpy(mp->bswapbuf + (buf_size & ~3), buf + (buf_size & ~3), buf_size & 3);
init_get_bits(&gb, mp->bswapbuf, buf_size * 8);
diff --git a/libavcodec/mpc.h b/libavcodec/mpc.h
index cef8db4899..c736a84088 100644
--- a/libavcodec/mpc.h
+++ b/libavcodec/mpc.h
@@ -31,10 +31,10 @@
#include <stdint.h>
+#include "libavutil/bswapdsp.h"
#include "libavutil/lfg.h"
#include "libavutil/mem_internal.h"
-#include "bswapdsp.h"
#include "mpegaudio.h"
#include "mpegaudiodsp.h"
@@ -52,7 +52,7 @@ typedef struct Band {
}Band;
typedef struct MPCContext {
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
MPADSPContext mpadsp;
int IS, MSS, gapless;
int lastframelen;
diff --git a/libavcodec/mpc7.c b/libavcodec/mpc7.c
index d2745366c2..9b7af9a01f 100644
--- a/libavcodec/mpc7.c
+++ b/libavcodec/mpc7.c
@@ -91,9 +91,9 @@ static av_cold int mpc7_decode_init(AVCodecContext * avctx)
}
memset(c->oldDSCF, 0, sizeof(c->oldDSCF));
av_lfg_init(&c->rnd, 0xDEADBEEF);
- ff_bswapdsp_init(&c->bdsp);
+ av_bswapdsp_init(&c->bdsp);
ff_mpadsp_init(&c->mpadsp);
- c->bdsp.bswap_buf((uint32_t *) buf, (const uint32_t *) avctx->extradata, 4);
+ c->bdsp.bswap32_buf((uint32_t *) buf, (const uint32_t *) avctx->extradata, 4);
init_get_bits(&gb, buf, 128);
c->IS = get_bits1(&gb);
@@ -211,8 +211,8 @@ static int mpc7_decode_frame(AVCodecContext *avctx, AVFrame *frame,
av_fast_padded_malloc(&c->bits, &c->buf_size, buf_size);
if (!c->bits)
return AVERROR(ENOMEM);
- c->bdsp.bswap_buf((uint32_t *) c->bits, (const uint32_t *) buf,
- buf_size >> 2);
+ c->bdsp.bswap32_buf((uint32_t *) c->bits, (const uint32_t *) buf,
+ buf_size >> 2);
if ((ret = init_get_bits8(&gb, c->bits, buf_size)) < 0)
return ret;
skip_bits_long(&gb, skip);
diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
index 72cdd13916..0fc25cac04 100644
--- a/libavcodec/rawdec.c
+++ b/libavcodec/rawdec.c
@@ -25,13 +25,13 @@
*/
#include "avcodec.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
#include "internal.h"
#include "raw.h"
#include "libavutil/avassert.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/buffer.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
@@ -52,7 +52,7 @@ typedef struct RawVideoContext {
int is_lt_16bpp; // 16bpp pixfmt and bits_per_coded_sample < 16
int tff;
- BswapDSPContext bbdsp;
+ AVBSwapDSPContext bbdsp;
void *bitstream_buf;
unsigned int bitstream_buf_size;
} RawVideoContext;
@@ -73,7 +73,7 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx)
RawVideoContext *context = avctx->priv_data;
const AVPixFmtDescriptor *desc;
- ff_bswapdsp_init(&context->bbdsp);
+ av_bswapdsp_init(&context->bbdsp);
if ( avctx->codec_tag == MKTAG('r','a','w',' ')
|| avctx->codec_tag == MKTAG('N','O','1','6'))
@@ -324,7 +324,7 @@ static int raw_decode(AVCodecContext *avctx, AVFrame *frame,
if (swap == 16)
context->bbdsp.bswap16_buf(context->bitstream_buf, (const uint16_t*)buf, buf_size / 2);
else if (swap == 32)
- context->bbdsp.bswap_buf(context->bitstream_buf, (const uint32_t*)buf, buf_size / 4);
+ context->bbdsp.bswap32_buf(context->bitstream_buf, (const uint32_t*)buf, buf_size / 4);
else
return AVERROR_INVALIDDATA;
buf = context->bitstream_buf;
diff --git a/libavcodec/riscv/Makefile b/libavcodec/riscv/Makefile
index 965942f4df..212ab3dc13 100644
--- a/libavcodec/riscv/Makefile
+++ b/libavcodec/riscv/Makefile
@@ -5,9 +5,6 @@ RVV-OBJS-$(CONFIG_ALAC_DECODER) += riscv/alacdsp_rvv.o
OBJS-$(CONFIG_AUDIODSP) += riscv/audiodsp_init.o \
riscv/audiodsp_rvf.o
RVV-OBJS-$(CONFIG_AUDIODSP) += riscv/audiodsp_rvv.o
-OBJS-$(CONFIG_BSWAPDSP) += riscv/bswapdsp_init.o \
- riscv/bswapdsp_rvb.o
-RVV-OBJS-$(CONFIG_BSWAPDSP) += riscv/bswapdsp_rvv.o
OBJS-$(CONFIG_FMTCONVERT) += riscv/fmtconvert_init.o
RVV-OBJS-$(CONFIG_FMTCONVERT) += riscv/fmtconvert_rvv.o
OBJS-$(CONFIG_IDCTDSP) += riscv/idctdsp_init.o
diff --git a/libavcodec/shorten.c b/libavcodec/shorten.c
index 1b2abd76b1..6385821ca1 100644
--- a/libavcodec/shorten.c
+++ b/libavcodec/shorten.c
@@ -25,9 +25,10 @@
* @author Jeff Muizelaar
*/
+#include "libavutil/bswapdsp.h"
+
#include <limits.h>
#include "avcodec.h"
-#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
@@ -112,7 +113,7 @@ typedef struct ShortenContext {
int got_header;
int got_quit_command;
int swap;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
} ShortenContext;
static av_cold int shorten_decode_init(AVCodecContext *avctx)
@@ -120,7 +121,7 @@ static av_cold int shorten_decode_init(AVCodecContext *avctx)
ShortenContext *s = avctx->priv_data;
s->avctx = avctx;
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
return 0;
}
diff --git a/libavcodec/truemotion2.c b/libavcodec/truemotion2.c
index b168b9cda1..7b6db4d9d5 100644
--- a/libavcodec/truemotion2.c
+++ b/libavcodec/truemotion2.c
@@ -26,8 +26,9 @@
#include <inttypes.h>
+#include "libavutil/bswapdsp.h"
+
#include "avcodec.h"
-#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
@@ -65,7 +66,7 @@ typedef struct TM2Context {
GetBitContext gb;
int error;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
uint8_t *buffer;
int buffer_size;
@@ -907,8 +908,8 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe,
if ((ret = ff_reget_buffer(avctx, p, 0)) < 0)
return ret;
- l->bdsp.bswap_buf((uint32_t *) l->buffer, (const uint32_t *) buf,
- buf_size >> 2);
+ l->bdsp.bswap32_buf((uint32_t *) l->buffer, (const uint32_t *) buf,
+ buf_size >> 2);
if ((ret = tm2_read_header(l, l->buffer)) < 0) {
return ret;
@@ -960,7 +961,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
if (!l->pic)
return AVERROR(ENOMEM);
- ff_bswapdsp_init(&l->bdsp);
+ av_bswapdsp_init(&l->bdsp);
l->last = av_malloc_array(w, 2 * sizeof(*l->last));
if (!l->last)
diff --git a/libavcodec/truespeech.c b/libavcodec/truespeech.c
index 454121cc75..06a76fe0db 100644
--- a/libavcodec/truespeech.c
+++ b/libavcodec/truespeech.c
@@ -19,11 +19,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/bswapdsp.h"
#include "libavutil/channel_layout.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
@@ -38,7 +38,7 @@
* TrueSpeech decoder context
*/
typedef struct TSContext {
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
/* input data */
DECLARE_ALIGNED(16, uint8_t, buffer)[32];
int16_t vector[8]; ///< input vector: 5/5/4/4/4/3/3/3
@@ -73,7 +73,7 @@ static av_cold int truespeech_decode_init(AVCodecContext * avctx)
avctx->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_MONO;
avctx->sample_fmt = AV_SAMPLE_FMT_S16;
- ff_bswapdsp_init(&c->bdsp);
+ av_bswapdsp_init(&c->bdsp);
return 0;
}
@@ -82,7 +82,7 @@ static void truespeech_read_frame(TSContext *dec, const uint8_t *input)
{
GetBitContext gb;
- dec->bdsp.bswap_buf((uint32_t *) dec->buffer, (const uint32_t *) input, 8);
+ dec->bdsp.bswap32_buf((uint32_t *) dec->buffer, (const uint32_t *) input, 8);
init_get_bits(&gb, dec->buffer, 32 * 8);
dec->vector[7] = ts_codebook[7][get_bits(&gb, 3)];
diff --git a/libavcodec/utvideo.h b/libavcodec/utvideo.h
index 9da9329ff3..2ccd088c47 100644
--- a/libavcodec/utvideo.h
+++ b/libavcodec/utvideo.h
@@ -27,9 +27,9 @@
* Common Ut Video header
*/
+#include "libavutil/bswapdsp.h"
#include "libavutil/common.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "utvideodsp.h"
#include "lossless_videodsp.h"
#include "lossless_videoencdsp.h"
@@ -65,7 +65,7 @@ typedef struct UtvideoContext {
const AVClass *class;
AVCodecContext *avctx;
UTVideoDSPContext utdsp;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
LLVidDSPContext llviddsp;
LLVidEncDSPContext llvidencdsp;
diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c
index 83120d1b22..dcf09b56c6 100644
--- a/libavcodec/utvideodec.c
+++ b/libavcodec/utvideodec.c
@@ -30,10 +30,10 @@
#define CACHED_BITSTREAM_READER !ARCH_X86_32
#define UNCHECKED_BITSTREAM_READER 1
+#include "libavutil/bswapdsp.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/pixdesc.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "get_bits.h"
@@ -150,9 +150,9 @@ static int decode_plane10(UtvideoContext *c, int plane_no,
}
memset(c->slice_bits + slice_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
- c->bdsp.bswap_buf((uint32_t *) c->slice_bits,
- (uint32_t *)(src + slice_data_start + c->slices * 4),
- (slice_data_end - slice_data_start + 3) >> 2);
+ c->bdsp.bswap32_buf((uint32_t *) c->slice_bits,
+ (uint32_t *)(src + slice_data_start + c->slices * 4),
+ (slice_data_end - slice_data_start + 3) >> 2);
init_get_bits(&gb, c->slice_bits, slice_size * 8);
prev = 0x200;
@@ -311,9 +311,9 @@ static int decode_plane(UtvideoContext *c, int plane_no,
}
memset(c->slice_bits + slice_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
- c->bdsp.bswap_buf((uint32_t *) c->slice_bits,
- (uint32_t *)(src + slice_data_start + c->slices * 4),
- (slice_data_end - slice_data_start + 3) >> 2);
+ c->bdsp.bswap32_buf((uint32_t *) c->slice_bits,
+ (uint32_t *)(src + slice_data_start + c->slices * 4),
+ (slice_data_end - slice_data_start + 3) >> 2);
init_get_bits(&gb, c->slice_bits, slice_size * 8);
prev = 0x80;
@@ -887,7 +887,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
c->avctx = avctx;
ff_utvideodsp_init(&c->utdsp);
- ff_bswapdsp_init(&c->bdsp);
+ av_bswapdsp_init(&c->bdsp);
ff_llviddsp_init(&c->llviddsp);
c->slice_bits_size = 0;
diff --git a/libavcodec/utvideoenc.c b/libavcodec/utvideoenc.c
index d4388da8ba..de9ea8c135 100644
--- a/libavcodec/utvideoenc.c
+++ b/libavcodec/utvideoenc.c
@@ -24,6 +24,7 @@
* Ut Video encoder
*/
+#include "libavutil/bswapdsp.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/opt.h"
@@ -31,7 +32,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
-#include "bswapdsp.h"
#include "bytestream.h"
#include "put_bits.h"
#include "mathops.h"
@@ -132,7 +132,7 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
- ff_bswapdsp_init(&c->bdsp);
+ av_bswapdsp_init(&c->bdsp);
ff_llvidencdsp_init(&c->llvidencdsp);
if (c->frame_pred == PRED_GRADIENT) {
@@ -490,9 +490,9 @@ static int encode_plane(AVCodecContext *avctx, const uint8_t *src,
slice_len = offset - slice_len;
/* Byteswap the written huffman codes */
- c->bdsp.bswap_buf((uint32_t *) c->slice_bits,
- (uint32_t *) c->slice_bits,
- slice_len >> 2);
+ c->bdsp.bswap32_buf((uint32_t *) c->slice_bits,
+ (uint32_t *) c->slice_bits,
+ slice_len >> 2);
/* Write the offset to the stream */
bytestream2_put_le32(pb, offset);
diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile
index 6f62878081..ad0f54be3c 100644
--- a/libavcodec/x86/Makefile
+++ b/libavcodec/x86/Makefile
@@ -4,7 +4,6 @@ OBJS += x86/constants.o \
OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp_init.o
OBJS-$(CONFIG_AUDIODSP) += x86/audiodsp_init.o
OBJS-$(CONFIG_BLOCKDSP) += x86/blockdsp_init.o
-OBJS-$(CONFIG_BSWAPDSP) += x86/bswapdsp_init.o
OBJS-$(CONFIG_DCT) += x86/dct_init.o
OBJS-$(CONFIG_DIRAC_DECODER) += x86/diracdsp_init.o \
x86/dirac_dwt_init.o
@@ -98,7 +97,6 @@ X86ASM-OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp.o \
x86/ac3dsp_downmix.o
X86ASM-OBJS-$(CONFIG_AUDIODSP) += x86/audiodsp.o
X86ASM-OBJS-$(CONFIG_BLOCKDSP) += x86/blockdsp.o
-X86ASM-OBJS-$(CONFIG_BSWAPDSP) += x86/bswapdsp.o
X86ASM-OBJS-$(CONFIG_DCT) += x86/dct32.o
X86ASM-OBJS-$(CONFIG_FFT) += x86/fft.o
X86ASM-OBJS-$(CONFIG_FMTCONVERT) += x86/fmtconvert.o
diff --git a/libavcodec/ylc.c b/libavcodec/ylc.c
index 29c10f05da..7a90e2e5f1 100644
--- a/libavcodec/ylc.c
+++ b/libavcodec/ylc.c
@@ -22,11 +22,11 @@
#define YLC_VLC_BITS 10
+#include "libavutil/bswapdsp.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem.h"
#include "libavutil/pixfmt.h"
#include "avcodec.h"
-#include "bswapdsp.h"
#include "codec_internal.h"
#include "get_bits.h"
#include "thread.h"
@@ -37,7 +37,7 @@ typedef struct YLCContext {
uint32_t table[256];
uint8_t *buffer;
int buffer_size;
- BswapDSPContext bdsp;
+ AVBSwapDSPContext bdsp;
} YLCContext;
static av_cold int decode_init(AVCodecContext *avctx)
@@ -45,7 +45,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
YLCContext *s = avctx->priv_data;
avctx->pix_fmt = AV_PIX_FMT_YUYV422;
- ff_bswapdsp_init(&s->bdsp);
+ av_bswapdsp_init(&s->bdsp);
return 0;
}
@@ -311,9 +311,9 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p,
memcpy(s->buffer, avpkt->data + toffset, boffset - toffset);
memset(s->buffer + boffset - toffset, 0, AV_INPUT_BUFFER_PADDING_SIZE);
- s->bdsp.bswap_buf((uint32_t *) s->buffer,
- (uint32_t *) s->buffer,
- (boffset - toffset + 3) >> 2);
+ s->bdsp.bswap32_buf((uint32_t *) s->buffer,
+ (uint32_t *) s->buffer,
+ (boffset - toffset + 3) >> 2);
if ((ret = init_get_bits8(&gb, s->buffer, boffset - toffset)) < 0)
return ret;
@@ -332,9 +332,9 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p,
memcpy(s->buffer, avpkt->data + boffset, avpkt->size - boffset);
memset(s->buffer + avpkt->size - boffset, 0, AV_INPUT_BUFFER_PADDING_SIZE);
- s->bdsp.bswap_buf((uint32_t *) s->buffer,
- (uint32_t *) s->buffer,
- (avpkt->size - boffset) >> 2);
+ s->bdsp.bswap32_buf((uint32_t *) s->buffer,
+ (uint32_t *) s->buffer,
+ (avpkt->size - boffset) >> 2);
if ((ret = init_get_bits8(&gb, s->buffer, avpkt->size - boffset)) < 0)
return ret;
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 3d9c07aea8..bff5dbc7d9 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -13,6 +13,7 @@ HEADERS = adler32.h \
blowfish.h \
bprint.h \
bswap.h \
+ bswapdsp.h \
buffer.h \
cast5.h \
camellia.h \
@@ -108,6 +109,7 @@ OBJS = adler32.o \
base64.o \
blowfish.o \
bprint.o \
+ bswapdsp.o \
buffer.o \
cast5.o \
camellia.o \
diff --git a/libavcodec/bswapdsp.c b/libavutil/bswapdsp.c
similarity index 80%
rename from libavcodec/bswapdsp.c
rename to libavutil/bswapdsp.c
index f0ea2b55c5..e85cdfe5d7 100644
--- a/libavcodec/bswapdsp.c
+++ b/libavutil/bswapdsp.c
@@ -18,15 +18,18 @@
#include <stdint.h>
-#include "libavutil/attributes.h"
-#include "libavutil/bswap.h"
+#include "attributes.h"
+#include "bswap.h"
#include "bswapdsp.h"
-static void bswap_buf(uint32_t *dst, const uint32_t *src, int w)
+void ff_bswapdsp_init_riscv(AVBSwapDSPContext *c);
+void ff_bswapdsp_init_x86(AVBSwapDSPContext *c);
+
+static void bswap32_buf(uint32_t *dst, const uint32_t *src, int len)
{
int i;
- for (i = 0; i + 8 <= w; i += 8) {
+ for (i = 0; i + 8 <= len; i += 8) {
dst[i + 0] = av_bswap32(src[i + 0]);
dst[i + 1] = av_bswap32(src[i + 1]);
dst[i + 2] = av_bswap32(src[i + 2]);
@@ -36,7 +39,7 @@ static void bswap_buf(uint32_t *dst, const uint32_t *src, int w)
dst[i + 6] = av_bswap32(src[i + 6]);
dst[i + 7] = av_bswap32(src[i + 7]);
}
- for (; i < w; i++)
+ for (; i < len; i++)
dst[i + 0] = av_bswap32(src[i + 0]);
}
@@ -46,9 +49,9 @@ static void bswap16_buf(uint16_t *dst, const uint16_t *src, int len)
*dst++ = av_bswap16(*src++);
}
-av_cold void ff_bswapdsp_init(BswapDSPContext *c)
+av_cold void av_bswapdsp_init(AVBSwapDSPContext *c)
{
- c->bswap_buf = bswap_buf;
+ c->bswap32_buf = bswap32_buf;
c->bswap16_buf = bswap16_buf;
#if ARCH_RISCV
diff --git a/libavcodec/bswapdsp.h b/libavutil/bswapdsp.h
similarity index 71%
rename from libavcodec/bswapdsp.h
rename to libavutil/bswapdsp.h
index 6f4db66115..b540560d6a 100644
--- a/libavcodec/bswapdsp.h
+++ b/libavutil/bswapdsp.h
@@ -16,18 +16,16 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef AVCODEC_BSWAPDSP_H
-#define AVCODEC_BSWAPDSP_H
+#ifndef AVUTIL_BSWAPDSP_H
+#define AVUTIL_BSWAPDSP_H
#include <stdint.h>
-typedef struct BswapDSPContext {
- void (*bswap_buf)(uint32_t *dst, const uint32_t *src, int w);
+typedef struct AVBSwapDSPContext {
+ void (*bswap32_buf)(uint32_t *dst, const uint32_t *src, int len);
void (*bswap16_buf)(uint16_t *dst, const uint16_t *src, int len);
-} BswapDSPContext;
+} AVBSwapDSPContext;
-void ff_bswapdsp_init(BswapDSPContext *c);
-void ff_bswapdsp_init_riscv(BswapDSPContext *c);
-void ff_bswapdsp_init_x86(BswapDSPContext *c);
+void av_bswapdsp_init(AVBSwapDSPContext *c);
-#endif /* AVCODEC_BSWAPDSP_H */
+#endif /* AVUTIL_BSWAPDSP_H */
diff --git a/libavutil/riscv/Makefile b/libavutil/riscv/Makefile
index 1597154ba5..525538f6b6 100644
--- a/libavutil/riscv/Makefile
+++ b/libavutil/riscv/Makefile
@@ -1,5 +1,8 @@
-OBJS += riscv/float_dsp_init.o \
+OBJS += riscv/bswapdsp_init.o \
+ riscv/bswapdsp_rvb.o \
+ riscv/float_dsp_init.o \
riscv/fixed_dsp_init.o \
riscv/cpu.o
-RVV-OBJS += riscv/float_dsp_rvv.o \
+RVV-OBJS += riscv/bswapdsp_rvv.o \
+ riscv/float_dsp_rvv.o \
riscv/fixed_dsp_rvv.o
diff --git a/libavcodec/riscv/bswapdsp_init.c b/libavutil/riscv/bswapdsp_init.c
similarity index 85%
rename from libavcodec/riscv/bswapdsp_init.c
rename to libavutil/riscv/bswapdsp_init.c
index abe84ec1f7..362d574a27 100644
--- a/libavcodec/riscv/bswapdsp_init.c
+++ b/libavutil/riscv/bswapdsp_init.c
@@ -22,24 +22,25 @@
#include "config.h"
#include "libavutil/attributes.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/cpu.h"
-#include "libavcodec/bswapdsp.h"
void ff_bswap32_buf_rvb(uint32_t *dst, const uint32_t *src, int len);
void ff_bswap32_buf_rvv(uint32_t *dst, const uint32_t *src, int len);
void ff_bswap16_buf_rvv(uint16_t *dst, const uint16_t *src, int len);
+void ff_bswapdsp_init_riscv(AVBSwapDSPContext *c);
-av_cold void ff_bswapdsp_init_riscv(BswapDSPContext *c)
+av_cold void ff_bswapdsp_init_riscv(AVBSwapDSPContext *c)
{
int cpu_flags = av_get_cpu_flags();
#if (__riscv_xlen >= 64)
if (cpu_flags & AV_CPU_FLAG_RVB_BASIC)
- c->bswap_buf = ff_bswap32_buf_rvb;
+ c->bswap32_buf = ff_bswap32_buf_rvb;
#endif
#if HAVE_RVV
if (cpu_flags & AV_CPU_FLAG_RVV_I32) {
- c->bswap_buf = ff_bswap32_buf_rvv;
+ c->bswap32_buf = ff_bswap32_buf_rvv;
c->bswap16_buf = ff_bswap16_buf_rvv;
}
#endif
diff --git a/libavcodec/riscv/bswapdsp_rvb.S b/libavutil/riscv/bswapdsp_rvb.S
similarity index 100%
rename from libavcodec/riscv/bswapdsp_rvb.S
rename to libavutil/riscv/bswapdsp_rvb.S
diff --git a/libavcodec/riscv/bswapdsp_rvv.S b/libavutil/riscv/bswapdsp_rvv.S
similarity index 100%
rename from libavcodec/riscv/bswapdsp_rvv.S
rename to libavutil/riscv/bswapdsp_rvv.S
diff --git a/libavutil/version.h b/libavutil/version.h
index 3b616ea489..60f96af5df 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 57
-#define LIBAVUTIL_VERSION_MINOR 43
+#define LIBAVUTIL_VERSION_MINOR 44
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
diff --git a/libavutil/x86/Makefile b/libavutil/x86/Makefile
index d66839e35d..40bac784d1 100644
--- a/libavutil/x86/Makefile
+++ b/libavutil/x86/Makefile
@@ -4,14 +4,16 @@ OBJS += x86/cpu.o \
x86/imgutils_init.o \
x86/lls_init.o \
-OBJS-$(HAVE_X86ASM) += x86/tx_float_init.o \
+OBJS-$(HAVE_X86ASM) += x86/bswapdsp_init.o \
+ x86/tx_float_init.o
OBJS-$(CONFIG_PIXELUTILS) += x86/pixelutils_init.o \
EMMS_OBJS_$(HAVE_MMX_INLINE)_$(HAVE_MMX_EXTERNAL)_$(HAVE_MM_EMPTY) = x86/emms.o
-X86ASM-OBJS += x86/cpuid.o \
- $(EMMS_OBJS__yes_) \
+X86ASM-OBJS += x86/bswapdsp.o \
+ x86/cpuid.o \
+ $(EMMS_OBJS__yes_) \
x86/fixed_dsp.o \
x86/float_dsp.o \
x86/imgutils.o \
diff --git a/libavcodec/x86/bswapdsp.asm b/libavutil/x86/bswapdsp.asm
similarity index 97%
rename from libavcodec/x86/bswapdsp.asm
rename to libavutil/x86/bswapdsp.asm
index 31c6c48a21..c3bb90c2be 100644
--- a/libavcodec/x86/bswapdsp.asm
+++ b/libavutil/x86/bswapdsp.asm
@@ -26,8 +26,6 @@
SECTION_RODATA
pb_bswap32: db 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12
-cextern pb_80
-
SECTION .text
; %1 = aligned/unaligned
@@ -99,7 +97,7 @@ SECTION .text
add r0, 16
%endmacro
-; void ff_bswap_buf(uint32_t *dst, const uint32_t *src, int w);
+; void ff_bswap32_buf(uint32_t *dst, const uint32_t *src, int len);
%macro BSWAP32_BUF 0
%if cpuflag(ssse3)||cpuflag(avx2)
cglobal bswap32_buf, 3,4,3
diff --git a/libavcodec/x86/bswapdsp_init.c b/libavutil/x86/bswapdsp_init.c
similarity index 80%
rename from libavcodec/x86/bswapdsp_init.c
rename to libavutil/x86/bswapdsp_init.c
index 877bab1a2c..3694e9208c 100644
--- a/libavcodec/x86/bswapdsp_init.c
+++ b/libavutil/x86/bswapdsp_init.c
@@ -19,22 +19,23 @@
#include <stdint.h>
#include "libavutil/attributes.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/cpu.h"
-#include "libavcodec/bswapdsp.h"
-void ff_bswap32_buf_sse2(uint32_t *dst, const uint32_t *src, int w);
-void ff_bswap32_buf_ssse3(uint32_t *dst, const uint32_t *src, int w);
-void ff_bswap32_buf_avx2(uint32_t *dst, const uint32_t *src, int w);
+void ff_bswap32_buf_sse2(uint32_t *dst, const uint32_t *src, int len);
+void ff_bswap32_buf_ssse3(uint32_t *dst, const uint32_t *src, int len);
+void ff_bswap32_buf_avx2(uint32_t *dst, const uint32_t *src, int len);
+void ff_bswapdsp_init_x86(AVBSwapDSPContext *c);
-av_cold void ff_bswapdsp_init_x86(BswapDSPContext *c)
+av_cold void ff_bswapdsp_init_x86(AVBSwapDSPContext *c)
{
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags))
- c->bswap_buf = ff_bswap32_buf_sse2;
+ c->bswap32_buf = ff_bswap32_buf_sse2;
if (EXTERNAL_SSSE3(cpu_flags))
- c->bswap_buf = ff_bswap32_buf_ssse3;
+ c->bswap32_buf = ff_bswap32_buf_ssse3;
if (EXTERNAL_AVX2_FAST(cpu_flags))
- c->bswap_buf = ff_bswap32_buf_avx2;
+ c->bswap32_buf = ff_bswap32_buf_avx2;
}
diff --git a/tests/checkasm/Makefile b/tests/checkasm/Makefile
index a6f06c7007..1bfaea0e9b 100644
--- a/tests/checkasm/Makefile
+++ b/tests/checkasm/Makefile
@@ -2,7 +2,6 @@
# subsystems
AVCODECOBJS-$(CONFIG_AUDIODSP) += audiodsp.o
AVCODECOBJS-$(CONFIG_BLOCKDSP) += blockdsp.o
-AVCODECOBJS-$(CONFIG_BSWAPDSP) += bswapdsp.o
AVCODECOBJS-$(CONFIG_FMTCONVERT) += fmtconvert.o
AVCODECOBJS-$(CONFIG_G722DSP) += g722dsp.o
AVCODECOBJS-$(CONFIG_H264DSP) += h264dsp.o
@@ -59,6 +58,7 @@ CHECKASMOBJS-$(CONFIG_SWSCALE) += $(SWSCALEOBJS)
AVUTILOBJS += av_tx.o
AVUTILOBJS += fixed_dsp.o
AVUTILOBJS += float_dsp.o
+AVUTILOBJS += bswapdsp.o
CHECKASMOBJS-$(CONFIG_AVUTIL) += $(AVUTILOBJS)
diff --git a/tests/checkasm/bswapdsp.c b/tests/checkasm/bswapdsp.c
index d789e90de3..f8dc50be33 100644
--- a/tests/checkasm/bswapdsp.c
+++ b/tests/checkasm/bswapdsp.c
@@ -20,7 +20,7 @@
#include <string.h>
#include "checkasm.h"
-#include "libavcodec/bswapdsp.h"
+#include "libavutil/bswapdsp.h"
#include "libavutil/common.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
@@ -63,11 +63,11 @@ void checkasm_check_bswapdsp(void)
LOCAL_ALIGNED_16(uint8_t, src1, [BUF_SIZE]);
LOCAL_ALIGNED_16(uint8_t, dst0, [BUF_SIZE]);
LOCAL_ALIGNED_16(uint8_t, dst1, [BUF_SIZE]);
- BswapDSPContext h;
+ AVBSwapDSPContext h;
- ff_bswapdsp_init(&h);
+ av_bswapdsp_init(&h);
- if (check_func(h.bswap_buf, "bswap_buf"))
+ if (check_func(h.bswap32_buf, "bswap32_buf"))
check_bswap(uint32_t);
if (check_func(h.bswap16_buf, "bswap16_buf"))
diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
index e96d84a7da..32657b6c2d 100644
--- a/tests/checkasm/checkasm.c
+++ b/tests/checkasm/checkasm.c
@@ -87,9 +87,6 @@ static const struct {
#if CONFIG_BLOCKDSP
{ "blockdsp", checkasm_check_blockdsp },
#endif
- #if CONFIG_BSWAPDSP
- { "bswapdsp", checkasm_check_bswapdsp },
- #endif
#if CONFIG_DCA_DECODER
{ "synth_filter", checkasm_check_synth_filter },
#endif
@@ -207,6 +204,7 @@ static const struct {
{ "sw_scale", checkasm_check_sw_scale },
#endif
#if CONFIG_AVUTIL
+ { "bswapdsp", checkasm_check_bswapdsp },
{ "fixed_dsp", checkasm_check_fixed_dsp },
{ "float_dsp", checkasm_check_float_dsp },
{ "av_tx", checkasm_check_av_tx },
--
2.31.1.windows.1
More information about the ffmpeg-devel
mailing list