FFmpeg
Loading...
Searching...
No Matches
pcm_rechunk.c File Reference

Go to the source code of this file.

Data Structures

struct  PCMContext
 

Macros

#define OFFSET(x)
 
#define FLAGS   (AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_BSF_PARAM)
 

Functions

static int init (AVBSFContext *ctx)
 
static void uninit (AVBSFContext *ctx)
 
static void flush (AVBSFContext *ctx)
 
static int send_packet (PCMContext *s, int nb_samples, AVPacket *pkt)
 
static void drain_packet (AVPacket *pkt, int drain_data, int drain_samples)
 
static int get_next_nb_samples (AVBSFContext *ctx)
 
static void set_silence (AVCodecParameters *par, uint8_t *buf, size_t size)
 
static int rechunk_filter (AVBSFContext *ctx, AVPacket *pkt)
 

Variables

static const AVOption options []
 
static const AVClass pcm_rechunk_class
 
static enum AVCodecID codec_ids []
 
const FFBitStreamFilter ff_pcm_rechunk_bsf
 

Macro Definition Documentation

◆ OFFSET

#define OFFSET ( x)
Value:
offsetof(PCMContext, x)

Definition at line 188 of file pcm_rechunk.c.

◆ FLAGS

Definition at line 189 of file pcm_rechunk.c.

Function Documentation

◆ init()

static int init ( AVBSFContext * ctx)
static

Definition at line 39 of file pcm_rechunk.c.

◆ uninit()

static void uninit ( AVBSFContext * ctx)
static

Definition at line 68 of file pcm_rechunk.c.

◆ flush()

static void flush ( AVBSFContext * ctx)
static

Definition at line 75 of file pcm_rechunk.c.

◆ send_packet()

static int send_packet ( PCMContext * s,
int nb_samples,
AVPacket * pkt )
static

Definition at line 83 of file pcm_rechunk.c.

Referenced by rechunk_filter().

◆ drain_packet()

static void drain_packet ( AVPacket * pkt,
int drain_data,
int drain_samples )
static

Definition at line 90 of file pcm_rechunk.c.

Referenced by rechunk_filter().

◆ get_next_nb_samples()

static int get_next_nb_samples ( AVBSFContext * ctx)
static

Definition at line 100 of file pcm_rechunk.c.

Referenced by rechunk_filter().

◆ set_silence()

static void set_silence ( AVCodecParameters * par,
uint8_t * buf,
size_t size )
static

Definition at line 111 of file pcm_rechunk.c.

Referenced by rechunk_filter().

◆ rechunk_filter()

static int rechunk_filter ( AVBSFContext * ctx,
AVPacket * pkt )
static

Definition at line 123 of file pcm_rechunk.c.

Variable Documentation

◆ options

const AVOption options[]
static
Initial value:
= {
{ "nb_out_samples", "set the number of per-packet output samples", OFFSET(nb_out_samples), AV_OPT_TYPE_INT, {.i64=1024}, 1, INT_MAX, FLAGS },
{ "n", "set the number of per-packet output samples", OFFSET(nb_out_samples), AV_OPT_TYPE_INT, {.i64=1024}, 1, INT_MAX, FLAGS },
{ "pad", "pad last packet with zeros", OFFSET(pad), AV_OPT_TYPE_BOOL, {.i64=1} , 0, 1, FLAGS },
{ "p", "pad last packet with zeros", OFFSET(pad), AV_OPT_TYPE_BOOL, {.i64=1} , 0, 1, FLAGS },
{ "frame_rate", "set number of packets per second", OFFSET(frame_rate), AV_OPT_TYPE_RATIONAL, {.dbl=0}, 0, INT_MAX, FLAGS },
{ "r", "set number of packets per second", OFFSET(frame_rate), AV_OPT_TYPE_RATIONAL, {.dbl=0}, 0, INT_MAX, FLAGS },
{ NULL },
}
#define FLAGS
Definition cmdutils.c:598
#define NULL
Definition coverity.c:32
#define OFFSET(x)
@ AV_OPT_TYPE_RATIONAL
Underlying C type is AVRational.
Definition opt.h:279
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition opt.h:258
@ AV_OPT_TYPE_BOOL
Underlying C type is int.
Definition opt.h:326

Definition at line 190 of file pcm_rechunk.c.

◆ pcm_rechunk_class

const AVClass pcm_rechunk_class
static
Initial value:
= {
.class_name = "pcm_rechunk_bsf",
.item_name = av_default_item_name,
.option = options,
}
const char * av_default_item_name(void *ptr)
Return the context name.
Definition log.c:241
#define LIBAVUTIL_VERSION_INT
Definition version.h:85

Definition at line 200 of file pcm_rechunk.c.

◆ codec_ids

enum AVCodecID codec_ids[]
static
Initial value:
= {
}
@ AV_CODEC_ID_PCM_F24LE
Definition codec_id.h:364
@ AV_CODEC_ID_PCM_F32LE
Definition codec_id.h:351
@ AV_CODEC_ID_PCM_S24BE
Definition codec_id.h:343
@ AV_CODEC_ID_PCM_S64BE
Definition codec_id.h:362
@ AV_CODEC_ID_PCM_U8
Definition codec_id.h:335
@ AV_CODEC_ID_PCM_S16LE
Definition codec_id.h:330
@ AV_CODEC_ID_PCM_F16LE
Definition codec_id.h:363
@ AV_CODEC_ID_PCM_F32BE
Definition codec_id.h:350
@ AV_CODEC_ID_NONE
Definition codec_id.h:48
@ AV_CODEC_ID_PCM_S16BE
Definition codec_id.h:331
@ AV_CODEC_ID_PCM_S24LE
Definition codec_id.h:342
@ AV_CODEC_ID_PCM_S24DAUD
Definition codec_id.h:346
@ AV_CODEC_ID_PCM_S32LE
Definition codec_id.h:338
@ AV_CODEC_ID_PCM_S8
Definition codec_id.h:334
@ AV_CODEC_ID_PCM_VIDC
Definition codec_id.h:365
@ AV_CODEC_ID_PCM_ALAW
Definition codec_id.h:337
@ AV_CODEC_ID_PCM_F64LE
Definition codec_id.h:353
@ AV_CODEC_ID_PCM_SGA
Definition codec_id.h:366
@ AV_CODEC_ID_PCM_S64LE
Definition codec_id.h:361
@ AV_CODEC_ID_PCM_F64BE
Definition codec_id.h:352
@ AV_CODEC_ID_PCM_S32BE
Definition codec_id.h:339
@ AV_CODEC_ID_PCM_MULAW
Definition codec_id.h:336

Definition at line 207 of file pcm_rechunk.c.

◆ ff_pcm_rechunk_bsf

const FFBitStreamFilter ff_pcm_rechunk_bsf
Initial value:
= {
.p.name = "pcm_rechunk",
.p.codec_ids = codec_ids,
.p.priv_class = &pcm_rechunk_class,
.priv_data_size = sizeof(PCMContext),
.init = init,
}
static enum AVCodecID codec_ids[]
static av_cold void close(AVCodecParserContext *s)
Definition apv_parser.c:197
void(* flush)(AVBSFContext *ctx)
Definition dts2pts.c:610
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
static av_cold void uninit(AVBitStreamFilterContext *ctx)
static int rechunk_filter(AVBSFContext *ctx, AVPacket *pkt)
static const AVClass pcm_rechunk_class
void(* filter)(uint8_t *src, ptrdiff_t stride, int qscale)
Definition h263dsp.c:29

Definition at line 232 of file pcm_rechunk.c.