[FFmpeg-devel] [PATCH] avutil/intreadwrite: Always provide AV_[RW]N(24|48)
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Tue Sep 13 08:07:08 EEST 2022
Currently, only the AVR32-arch provides some of these (namely
the 24 bit variants), but this should not depend on the arch.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
When I started writing this patch, I believed that whether intreadwrite.h
provided AV_[RW]N24 depended upon the arch, namely AVR32; but later
I noticed that this issue actually only exists for internal users,
as an API user never got AV_[RW]24, because the AVR32-specific
header is not public. So I am no longer sure about this patch.
libavutil/intreadwrite.h | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/libavutil/intreadwrite.h b/libavutil/intreadwrite.h
index 4c8413a536..8a18233f55 100644
--- a/libavutil/intreadwrite.h
+++ b/libavutil/intreadwrite.h
@@ -510,6 +510,34 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
} while(0)
#endif
+#if AV_HAVE_BIGENDIAN
+# ifndef AV_WN24
+# define AV_WN24(p, v) AV_WB24(p, v)
+# endif
+# ifndef AV_RN24
+# define AV_RN24(p) AV_RB24(p)
+# endif
+# ifndef AV_WN48
+# define AV_WN48(p, v) AV_WB48(p, v)
+# endif
+# ifndef AV_RN48
+# define AV_RN48(p) AV_RB48(p)
+# endif
+#else
+# ifndef AV_WN24
+# define AV_WN24(p, v) AV_WL24(p, v)
+# endif
+# ifndef AV_RN24
+# define AV_RN24(p) AV_RL24(p)
+# endif
+# ifndef AV_WN48
+# define AV_WN48(p, v) AV_WL48(p, v)
+# endif
+# ifndef AV_RN48
+# define AV_RN48(p) AV_RL48(p)
+# endif
+#endif
+
/*
* The AV_[RW]NA macros access naturally aligned data
* in a type-safe way.
--
2.34.1
More information about the ffmpeg-devel
mailing list