FFmpeg
Classes | Macros | Typedefs | Enumerations | Variables
alsdec.c File Reference

MPEG-4 ALS decoder. More...

#include <inttypes.h>
#include "avcodec.h"
#include "get_bits.h"
#include "unary.h"
#include "mpeg4audio.h"
#include "bgmc.h"
#include "bswapdsp.h"
#include "internal.h"
#include "mlz.h"
#include "libavutil/samplefmt.h"
#include "libavutil/crc.h"
#include "libavutil/softfloat_ieee754.h"
#include "libavutil/intfloat.h"
#include "libavutil/intreadwrite.h"
#include <stdint.h>

Classes

struct  ALSSpecificConfig
 
struct  ALSChannelData
 
struct  ALSDecContext
 
struct  ALSBlockData
 

Macros

#define MISSING_ERR(cond, str, errval)
 
#define INTERLEAVE_OUTPUT(bps)
 

Typedefs

typedef struct ALSSpecificConfig ALSSpecificConfig
 
typedef struct ALSChannelData ALSChannelData
 
typedef struct ALSDecContext ALSDecContext
 
typedef struct ALSBlockData ALSBlockData
 

Enumerations

enum  RA_Flag { RA_FLAG_NONE, RA_FLAG_FRAMES, RA_FLAG_HEADER }
 

Variables

AVCodec ff_als_decoder
 

Detailed Description

MPEG-4 ALS decoder.

Author
Thilo Borgmann <thilo.borgmann at mail.de>

Macro Definition Documentation

§ INTERLEAVE_OUTPUT

#define INTERLEAVE_OUTPUT (   bps)
Value:
{ \
int##bps##_t *dest = (int##bps##_t*)frame->data[0]; \
shift = bps - ctx->avctx->bits_per_raw_sample; \
if (!ctx->cs_switch) { \
for (sample = 0; sample < ctx->cur_frame_length; sample++) \
for (c = 0; c < avctx->channels; c++) \
*dest++ = ctx->raw_samples[c][sample] << shift; \
} else { \
for (sample = 0; sample < ctx->cur_frame_length; sample++) \
for (c = 0; c < avctx->channels; c++) \
*dest++ = ctx->raw_samples[sconf->chan_pos[c]][sample] << shift; \
} \
}

§ MISSING_ERR

#define MISSING_ERR (   cond,
  str,
  errval 
)
Value:
{ \
if (cond) { \
avpriv_report_missing_feature(ctx->avctx, \
str); \
error = errval; \
} \
}

Variable Documentation

§ ff_als_decoder

AVCodec ff_als_decoder
Initial value:
= {
.name = "als",
.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 Audio Lossless Coding (ALS)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_MP4ALS,
.priv_data_size = sizeof(ALSDecContext),
.init = decode_init,
.close = decode_end,
.decode = decode_frame,
.flush = flush,
}
Definition: alsdec.c:194
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
#define AV_CODEC_CAP_SUBFRAMES
Codec can output multiple frames per AVPacket Normally demuxers return one frame at a time...
Definition: avcodec.h:1002
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:959