| Branch: | Revision:

ffmpeg / libavutil / intreadwrite.h @ 5ce6934e

History | View | Annotate | Download (11.6 KB)

# Date Author Comment
d691da95 08/17/2009 12:15 AM Måns Rullgård

AVR32: optimisations for intreadwrite.h

Originally committed as revision 19665 to svn://

4a051891 08/16/2009 06:06 PM Måns Rullgård

cosmetics: reformat intreadwrite.h

Originally committed as revision 19659 to svn://

63826ceb 08/16/2009 03:51 PM Måns Rullgård

intreadwrite: ensure arch-specific versions are always used if defined

The per-arch headers can define any combination of B/L/N variants.
This ensures that whatever is defined in an arch header gets used
for all equivalents not defined there. E.g. on a little-endian...

57c36bdc 08/16/2009 03:51 PM Måns Rullgård

intreadwrite: allow arch-specific 24-bit access macros

Originally committed as revision 19657 to svn://

63613fe6 07/26/2009 12:20 PM Måns Rullgård


Originally committed as revision 19508 to svn://

e7ea5e3d 07/17/2009 08:21 AM Måns Rullgård

Check for attribute((packed)) support

Not all compilers claiming to be gcc support this attribute.

Originally committed as revision 19453 to svn://

530456bf 05/28/2009 11:19 PM Måns Rullgård

MIPS: inline asm for intreadwrite.h

Originally committed as revision 18980 to svn://

9f5ff83f 04/18/2009 12:00 AM Måns Rullgård

PPC asm for AV_RL*()

PPC is normally big endian but has special little endian load/store
instructions. Using these avoids a separate byteswap. This makes the
vorbis decoder about 5% faster. Not much else uses little-endian
read/write extensively.

GCC generates horrible PPC code for the default AV_[RW]B64 (which uses...

3c55ce03 04/18/2009 12:00 AM Måns Rullgård

ARM asm for AV_RN*()

ARMv6 and later support unaligned loads and stores for single
word/halfword but not double/multiple. GCC is ignorant of this and
will always use bytewise accesses for unaligned data. Casting to an
int32_t pointer is dangerous since a load/store double or multiple...

a6783b89 04/18/2009 12:00 AM Måns Rullgård

Reorganise intreadwrite.h

This changes intreadwrite.h to support per-arch implementations of the
various macros allowing us to take advantage of special instructions
or other properties the compiler does not know about.

Originally committed as revision 18600 to svn://

b250f9c6 01/13/2009 11:44 PM Aurelien Jacobs

Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://

98790382 08/31/2008 07:39 AM Stefano Sabatini

Globally rename the header inclusion guard names.

Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.' to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_"....

b7b38fb2 07/18/2008 01:18 AM Måns Rullgård

intreadwrite: support DEC compiler __unaligned type qualifier

Originally committed as revision 14275 to svn://

fbbea48e 07/17/2008 06:42 PM Måns Rullgård

Rearrange AV_[RW][BL]*() macros

Originally committed as revision 14265 to svn://

a087028a 03/13/2008 06:04 PM Diego Biurrun

Add #include "config.h" to headers that need it.

Originally committed as revision 12431 to svn://

ff794171 02/01/2008 03:14 AM Michael Niedermayer

Do not cast const away.

Originally committed as revision 11707 to svn://

5b21bdab 10/17/2007 09:37 AM Diego Biurrun

Add FFMPEG_ prefix to all multiple inclusion guards.

Originally committed as revision 10765 to svn://

905694d9 08/09/2007 05:01 PM Roman Shaposhnik
  • renaming (ST|LD)(16|32|64) -> AV_(R|W)N(16|32|64)

Originally committed as revision 10023 to svn://

c08be350 06/24/2007 02:29 PM Reimar Döffinger

intreadwrite.h needs bswap.h if HAVE_FAST_UNALIGNED is set, so include it.

Originally committed as revision 9414 to svn://

99545457 06/16/2007 10:59 PM Måns Rullgård

include all prerequisites in header files

Originally committed as revision 9344 to svn://

803ca89c 05/10/2007 06:28 PM Jindřich Makovička

Proper fix for r8963
Patch by Jindrich Makovicka, makovick at gmail dot com
Reference thread:
Subject: Re: [PATCH] make libavcodec use bytestream functions
Date: Thu, 10 May 2007 07:49:43 +0200

Originally committed as revision 8982 to svn://

9e010b41 05/07/2007 01:12 PM Ivo van Poorten

add AV_[RW][BL]64 support

Originally committed as revision 8924 to svn://

7b829d2a 04/25/2007 08:47 AM Ramiro Polla

"fast unaligned" bytestream functions
patch by Ramiro Polla ramiro lisha ufsc br
original thread:
date: 03/11/2007 03:06 AM
subject: [Ffmpeg-devel] [PATCH] Machine endian bytestream functions

Originally committed as revision 8803 to svn://

85b1a722 04/24/2007 07:16 AM Diego Biurrun

cosmetics: Reorder endianness macros by bit depth, alignment prettyprinting.

Originally committed as revision 8796 to svn://

15862387 03/06/2007 01:04 PM Alex Beregszaszi

add little endian 24bit read/write

Originally committed as revision 8269 to svn://

626b7c0f 03/04/2007 02:48 AM Baptiste Coudurier

add R/WB24 functions

Originally committed as revision 8216 to svn://

f5a90186 02/27/2007 04:05 PM Diego Biurrun

Add missing license headers.

Originally committed as revision 8149 to svn://

7d4495da 02/06/2007 07:10 PM Michael Niedermayer

simplify and remove useless index in AV_W*

Originally committed as revision 7852 to svn://

a3550abd 01/19/2007 10:26 PM Alex Beregszaszi

add AV_WB/WL for lswriting, similar to AV_RB/RL (also increment version)

Originally committed as revision 7588 to svn://

fead30d4 01/19/2007 10:12 PM Alex Beregszaszi

rename BE/LE_8/16/32 to AV_RL/B_8/16/32

Originally committed as revision 7587 to svn://

cf1e119b 12/03/2006 04:35 PM Reimar Döffinger

Move BE_*/LE_*/ST*/LD* macros to a common place. Some further
optimization/cleanup would be desirable (e.g. LE_* and LD*
should be the same on x86).

Originally committed as revision 7218 to svn://