Libav
Data Structures | Functions | Variables
libgsm.c File Reference

Interface to libgsm for gsm encoding/decoding. More...

#include "config.h"
#include <gsm/gsm.h>
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "avcodec.h"
#include "internal.h"
#include "gsm.h"

Go to the source code of this file.

Data Structures

struct  LibGSMDecodeContext
 

Functions

static av_cold int libgsm_encode_init (AVCodecContext *avctx)
 
static av_cold int libgsm_encode_close (AVCodecContext *avctx)
 
static int libgsm_encode_frame (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
 
static av_cold int libgsm_decode_init (AVCodecContext *avctx)
 
static av_cold int libgsm_decode_close (AVCodecContext *avctx)
 
static int libgsm_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
 
static void libgsm_flush (AVCodecContext *avctx)
 

Variables

AVCodec ff_libgsm_encoder
 
AVCodec ff_libgsm_ms_encoder
 
AVCodec ff_libgsm_decoder
 
AVCodec ff_libgsm_ms_decoder
 

Detailed Description

Interface to libgsm for gsm encoding/decoding.

Definition in file libgsm.c.

Function Documentation

static av_cold int libgsm_encode_init ( AVCodecContext avctx)
static

Definition at line 43 of file libgsm.c.

static av_cold int libgsm_encode_close ( AVCodecContext avctx)
static

Definition at line 83 of file libgsm.c.

static int libgsm_encode_frame ( AVCodecContext avctx,
AVPacket avpkt,
const AVFrame frame,
int *  got_packet_ptr 
)
static

Definition at line 89 of file libgsm.c.

static av_cold int libgsm_decode_init ( AVCodecContext avctx)
static

Definition at line 143 of file libgsm.c.

static av_cold int libgsm_decode_close ( AVCodecContext avctx)
static

Definition at line 169 of file libgsm.c.

static int libgsm_decode_frame ( AVCodecContext avctx,
void data,
int *  got_frame_ptr,
AVPacket avpkt 
)
static

Definition at line 177 of file libgsm.c.

static void libgsm_flush ( AVCodecContext avctx)
static

Definition at line 212 of file libgsm.c.

Variable Documentation

AVCodec ff_libgsm_encoder
Initial value:
= {
.name = "libgsm",
.long_name = NULL_IF_CONFIG_SMALL("libgsm GSM"),
.encode2 = libgsm_encode_frame,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
}
signed 16 bits
Definition: samplefmt.h:52
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:142
static av_cold int libgsm_encode_close(AVCodecContext *avctx)
Definition: libgsm.c:83
AV_SAMPLE_FMT_NONE
Definition: avconv_filter.c:68
static av_cold int libgsm_encode_init(AVCodecContext *avctx)
Definition: libgsm.c:43
static int libgsm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Definition: libgsm.c:89
AVSampleFormat
Audio Sample Formats.
Definition: samplefmt.h:49
as in Berlin toast format
Definition: avcodec.h:386

Definition at line 115 of file libgsm.c.

AVCodec ff_libgsm_ms_encoder
Initial value:
= {
.name = "libgsm_ms",
.long_name = NULL_IF_CONFIG_SMALL("libgsm GSM Microsoft variant"),
.encode2 = libgsm_encode_frame,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
}
signed 16 bits
Definition: samplefmt.h:52
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:142
static av_cold int libgsm_encode_close(AVCodecContext *avctx)
Definition: libgsm.c:83
AV_SAMPLE_FMT_NONE
Definition: avconv_filter.c:68
static av_cold int libgsm_encode_init(AVCodecContext *avctx)
Definition: libgsm.c:43
static int libgsm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Definition: libgsm.c:89
AVSampleFormat
Audio Sample Formats.
Definition: samplefmt.h:49

Definition at line 127 of file libgsm.c.

AVCodec ff_libgsm_decoder
Initial value:
= {
.name = "libgsm",
.long_name = NULL_IF_CONFIG_SMALL("libgsm GSM"),
.priv_data_size = sizeof(LibGSMDecodeContext),
.capabilities = CODEC_CAP_DR1,
}
static int decode(MimicContext *ctx, int quality, int num_coeffs, int is_iframe)
Definition: mimic.c:269
#define CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:711
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:142
static av_cold int libgsm_decode_close(AVCodecContext *avctx)
Definition: libgsm.c:169
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:489
static void libgsm_flush(AVCodecContext *avctx)
Definition: libgsm.c:212
static av_cold void flush(AVCodecContext *avctx)
Flush (reset) the frame ID after seeking.
Definition: alsdec.c:1792
static av_cold int init(AVCodecParserContext *s)
Definition: h264_parser.c:498
static av_cold int libgsm_decode_init(AVCodecContext *avctx)
Definition: libgsm.c:143
static int libgsm_decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
Definition: libgsm.c:177
as in Berlin toast format
Definition: avcodec.h:386

Definition at line 222 of file libgsm.c.

AVCodec ff_libgsm_ms_decoder
Initial value:
= {
.name = "libgsm_ms",
.long_name = NULL_IF_CONFIG_SMALL("libgsm GSM Microsoft variant"),
.priv_data_size = sizeof(LibGSMDecodeContext),
.capabilities = CODEC_CAP_DR1,
}
static int decode(MimicContext *ctx, int quality, int num_coeffs, int is_iframe)
Definition: mimic.c:269
#define CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:711
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:142
static av_cold int libgsm_decode_close(AVCodecContext *avctx)
Definition: libgsm.c:169
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:489
static void libgsm_flush(AVCodecContext *avctx)
Definition: libgsm.c:212
static av_cold void flush(AVCodecContext *avctx)
Flush (reset) the frame ID after seeking.
Definition: alsdec.c:1792
static av_cold int init(AVCodecParserContext *s)
Definition: h264_parser.c:498
static av_cold int libgsm_decode_init(AVCodecContext *avctx)
Definition: libgsm.c:143
static int libgsm_decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
Definition: libgsm.c:177

Definition at line 235 of file libgsm.c.