FFmpeg  4.0
Macros | Functions
bswap.h File Reference

byte swapping routines More...

#include <stdint.h>
#include "libavutil/avconfig.h"
#include "attributes.h"

Go to the source code of this file.

Macros

#define AV_BSWAP16C(x)   (((x) << 8 & 0xff00) | ((x) >> 8 & 0x00ff))
 
#define AV_BSWAP32C(x)   (AV_BSWAP16C(x) << 16 | AV_BSWAP16C((x) >> 16))
 
#define AV_BSWAP64C(x)   (AV_BSWAP32C(x) << 32 | AV_BSWAP32C((x) >> 32))
 
#define AV_BSWAPC(s, x)   AV_BSWAP##s##C(x)
 
#define av_be2ne16(x)   av_bswap16(x)
 
#define av_be2ne32(x)   av_bswap32(x)
 
#define av_be2ne64(x)   av_bswap64(x)
 
#define av_le2ne16(x)   (x)
 
#define av_le2ne32(x)   (x)
 
#define av_le2ne64(x)   (x)
 
#define AV_BE2NEC(s, x)   AV_BSWAPC(s, x)
 
#define AV_LE2NEC(s, x)   (x)
 
#define AV_BE2NE16C(x)   AV_BE2NEC(16, x)
 
#define AV_BE2NE32C(x)   AV_BE2NEC(32, x)
 
#define AV_BE2NE64C(x)   AV_BE2NEC(64, x)
 
#define AV_LE2NE16C(x)   AV_LE2NEC(16, x)
 
#define AV_LE2NE32C(x)   AV_LE2NEC(32, x)
 
#define AV_LE2NE64C(x)   AV_LE2NEC(64, x)
 

Functions

static av_always_inline av_const uint16_t av_bswap16 (uint16_t x)
 
static av_always_inline av_const uint32_t av_bswap32 (uint32_t x)
 
static uint64_t av_const av_bswap64 (uint64_t x)
 

Detailed Description

byte swapping routines

Definition in file bswap.h.

Macro Definition Documentation

◆ AV_BSWAP16C

#define AV_BSWAP16C (   x)    (((x) << 8 & 0xff00) | ((x) >> 8 & 0x00ff))

Definition at line 51 of file bswap.h.

Referenced by ff_spdif_probe(), and ff_spdif_read_packet().

◆ AV_BSWAP32C

#define AV_BSWAP32C (   x)    (AV_BSWAP16C(x) << 16 | AV_BSWAP16C((x) >> 16))

Definition at line 52 of file bswap.h.

Referenced by av_bswap32().

◆ AV_BSWAP64C

#define AV_BSWAP64C (   x)    (AV_BSWAP32C(x) << 32 | AV_BSWAP32C((x) >> 32))

Definition at line 53 of file bswap.h.

◆ AV_BSWAPC

#define AV_BSWAPC (   s,
 
)    AV_BSWAP##s##C(x)

Definition at line 55 of file bswap.h.

◆ av_be2ne16

#define av_be2ne16 (   x)    av_bswap16(x)

Definition at line 92 of file bswap.h.

Referenced by decode_frame(), and pnm_decode_frame().

◆ av_be2ne32

#define av_be2ne32 (   x)    av_bswap32(x)

Definition at line 93 of file bswap.h.

Referenced by av_base64_decode(), decode_bytes(), decode_frame(), and parse_ifo_palette().

◆ av_be2ne64

#define av_be2ne64 (   x)    av_bswap64(x)

Definition at line 94 of file bswap.h.

Referenced by aac_sync(), av_sha512_final(), av_sha_final(), and get_packetheader().

◆ av_le2ne16

#define av_le2ne16 (   x)    (x)

Definition at line 95 of file bswap.h.

Referenced by bmp_decode_frame(), lowpass_line_c_16(), and lowpass_line_complex_c_16().

◆ av_le2ne32

#define av_le2ne32 (   x)    (x)

◆ av_le2ne64

#define av_le2ne64 (   x)    (x)

Definition at line 97 of file bswap.h.

Referenced by av_md5_final(), av_ripemd_final(), and ff_asfcrypt_dec().

◆ AV_BE2NEC

#define AV_BE2NEC (   s,
 
)    AV_BSWAPC(s, x)

Definition at line 98 of file bswap.h.

◆ AV_LE2NEC

#define AV_LE2NEC (   s,
 
)    (x)

Definition at line 99 of file bswap.h.

◆ AV_BE2NE16C

#define AV_BE2NE16C (   x)    AV_BE2NEC(16, x)

Definition at line 102 of file bswap.h.

◆ AV_BE2NE32C

#define AV_BE2NE32C (   x)    AV_BE2NEC(32, x)

Definition at line 103 of file bswap.h.

Referenced by decode_bytes().

◆ AV_BE2NE64C

#define AV_BE2NE64C (   x)    AV_BE2NEC(64, x)

Definition at line 104 of file bswap.h.

◆ AV_LE2NE16C

#define AV_LE2NE16C (   x)    AV_LE2NEC(16, x)

Definition at line 105 of file bswap.h.

◆ AV_LE2NE32C

#define AV_LE2NE32C (   x)    AV_LE2NEC(32, x)

Definition at line 106 of file bswap.h.

◆ AV_LE2NE64C

#define AV_LE2NE64C (   x)    AV_LE2NEC(64, x)

Definition at line 107 of file bswap.h.

Function Documentation

◆ av_bswap16()

static av_always_inline av_const uint16_t av_bswap16 ( uint16_t  x)
static

Definition at line 58 of file bswap.h.

◆ av_bswap32()

static av_always_inline av_const uint32_t av_bswap32 ( uint32_t  x)
static

Definition at line 66 of file bswap.h.

Referenced by av_bswap64().

◆ av_bswap64()

static uint64_t av_const av_bswap64 ( uint64_t  x)
inlinestatic

Definition at line 73 of file bswap.h.