diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c
index 6c8dca1d8587aeeaa0e206df2757101afacc138a..c26650099f5981da02bfeb7544e3c9b5aa919f9f 100644
--- a/libavcodec/bitstream.c
+++ b/libavcodec/bitstream.c
@@ -128,14 +128,6 @@ static int alloc_table(VLC *vlc, int size, int use_static)
     return index;
 }
 
-static av_always_inline uint32_t bitswap_32(uint32_t x)
-{
-    return (uint32_t)ff_reverse[ x        & 0xFF] << 24 |
-           (uint32_t)ff_reverse[(x >> 8)  & 0xFF] << 16 |
-           (uint32_t)ff_reverse[(x >> 16) & 0xFF] << 8  |
-           (uint32_t)ff_reverse[ x >> 24];
-}
-
 typedef struct VLCcode {
     uint8_t bits;
     uint16_t symbol;
diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h
index 5168dc2ce00f4eb8c711a8053b6fd007c50d6151..958132d897de39f7fd704b17a88dab4c72fa4b34 100644
--- a/libavcodec/mathops.h
+++ b/libavcodec/mathops.h
@@ -249,4 +249,12 @@ static inline int8_t ff_u8_to_s8(uint8_t a)
     return b.s8;
 }
 
+static av_always_inline uint32_t bitswap_32(uint32_t x)
+{
+    return (uint32_t)ff_reverse[ x        & 0xFF] << 24 |
+           (uint32_t)ff_reverse[(x >> 8)  & 0xFF] << 16 |
+           (uint32_t)ff_reverse[(x >> 16) & 0xFF] << 8  |
+           (uint32_t)ff_reverse[ x >> 24];
+}
+
 #endif /* AVCODEC_MATHOPS_H */