@@ -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.
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@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(+)