mirror of https://git.ffmpeg.org/ffmpeg.git
Merge remote-tracking branch 'qatar/master'
* qatar/master: libvorbis: Give consistent names to all functions, structs, and defines Conflicts: libavcodec/libvorbisenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
6e63867771
|
@ -35,11 +35,11 @@
|
||||||
* an output packet will always start at the same point as one of the input
|
* an output packet will always start at the same point as one of the input
|
||||||
* packets.
|
* packets.
|
||||||
*/
|
*/
|
||||||
#define OGGVORBIS_FRAME_SIZE 64
|
#define LIBVORBIS_FRAME_SIZE 64
|
||||||
|
|
||||||
#define BUFFER_SIZE (1024 * 64)
|
#define BUFFER_SIZE (1024 * 64)
|
||||||
|
|
||||||
typedef struct OggVorbisEncContext {
|
typedef struct LibvorbisEncContext {
|
||||||
AVClass *av_class; /**< class for AVOptions */
|
AVClass *av_class; /**< class for AVOptions */
|
||||||
vorbis_info vi; /**< vorbis_info used during init */
|
vorbis_info vi; /**< vorbis_info used during init */
|
||||||
vorbis_dsp_state vd; /**< DSP state used for analysis */
|
vorbis_dsp_state vd; /**< DSP state used for analysis */
|
||||||
|
@ -51,10 +51,10 @@ typedef struct OggVorbisEncContext {
|
||||||
double iblock; /**< impulse block bias option */
|
double iblock; /**< impulse block bias option */
|
||||||
VorbisParseContext vp; /**< parse context to get durations */
|
VorbisParseContext vp; /**< parse context to get durations */
|
||||||
AudioFrameQueue afq; /**< frame queue for timestamps */
|
AudioFrameQueue afq; /**< frame queue for timestamps */
|
||||||
} OggVorbisEncContext;
|
} LibvorbisEncContext;
|
||||||
|
|
||||||
static const AVOption options[] = {
|
static const AVOption options[] = {
|
||||||
{ "iblock", "Sets the impulse block bias", offsetof(OggVorbisEncContext, iblock), AV_OPT_TYPE_DOUBLE, { .dbl = 0 }, -15, 0, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM },
|
{ "iblock", "Sets the impulse block bias", offsetof(LibvorbisEncContext, iblock), AV_OPT_TYPE_DOUBLE, { .dbl = 0 }, -15, 0, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM },
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -80,9 +80,9 @@ static int vorbis_error_to_averror(int ov_err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static av_cold int oggvorbis_encode_init_internal(vorbis_info *vi, AVCodecContext *avctx)
|
static av_cold int libvorbis_setup(vorbis_info *vi, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
OggVorbisEncContext *s = avctx->priv_data;
|
LibvorbisEncContext *s = avctx->priv_data;
|
||||||
double cfreq;
|
double cfreq;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -171,9 +171,9 @@ static int xiph_len(int l)
|
||||||
return 1 + l / 255 + l;
|
return 1 + l / 255 + l;
|
||||||
}
|
}
|
||||||
|
|
||||||
static av_cold int oggvorbis_encode_close(AVCodecContext *avctx)
|
static av_cold int libvorbis_encode_close(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
OggVorbisEncContext *s = avctx->priv_data;
|
LibvorbisEncContext *s = avctx->priv_data;
|
||||||
|
|
||||||
/* notify vorbisenc this is EOF */
|
/* notify vorbisenc this is EOF */
|
||||||
if (s->dsp_initialized)
|
if (s->dsp_initialized)
|
||||||
|
@ -190,16 +190,16 @@ static av_cold int oggvorbis_encode_close(AVCodecContext *avctx)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static av_cold int oggvorbis_encode_init(AVCodecContext *avctx)
|
static av_cold int libvorbis_encode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
OggVorbisEncContext *s = avctx->priv_data;
|
LibvorbisEncContext *s = avctx->priv_data;
|
||||||
ogg_packet header, header_comm, header_code;
|
ogg_packet header, header_comm, header_code;
|
||||||
uint8_t *p;
|
uint8_t *p;
|
||||||
unsigned int offset;
|
unsigned int offset;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
vorbis_info_init(&s->vi);
|
vorbis_info_init(&s->vi);
|
||||||
if ((ret = oggvorbis_encode_init_internal(&s->vi, avctx))) {
|
if ((ret = libvorbis_setup(&s->vi, avctx))) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "encoder setup failed\n");
|
av_log(avctx, AV_LOG_ERROR, "encoder setup failed\n");
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -253,7 +253,7 @@ static av_cold int oggvorbis_encode_init(AVCodecContext *avctx)
|
||||||
|
|
||||||
vorbis_comment_clear(&s->vc);
|
vorbis_comment_clear(&s->vc);
|
||||||
|
|
||||||
avctx->frame_size = OGGVORBIS_FRAME_SIZE;
|
avctx->frame_size = LIBVORBIS_FRAME_SIZE;
|
||||||
ff_af_queue_init(avctx, &s->afq);
|
ff_af_queue_init(avctx, &s->afq);
|
||||||
|
|
||||||
s->pkt_fifo = av_fifo_alloc(BUFFER_SIZE);
|
s->pkt_fifo = av_fifo_alloc(BUFFER_SIZE);
|
||||||
|
@ -264,14 +264,14 @@ static av_cold int oggvorbis_encode_init(AVCodecContext *avctx)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
error:
|
error:
|
||||||
oggvorbis_encode_close(avctx);
|
libvorbis_encode_close(avctx);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int oggvorbis_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
|
static int libvorbis_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
|
||||||
const AVFrame *frame, int *got_packet_ptr)
|
const AVFrame *frame, int *got_packet_ptr)
|
||||||
{
|
{
|
||||||
OggVorbisEncContext *s = avctx->priv_data;
|
LibvorbisEncContext *s = avctx->priv_data;
|
||||||
ogg_packet op;
|
ogg_packet op;
|
||||||
int ret, duration;
|
int ret, duration;
|
||||||
|
|
||||||
|
@ -364,10 +364,10 @@ AVCodec ff_libvorbis_encoder = {
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("libvorbis"),
|
.long_name = NULL_IF_CONFIG_SMALL("libvorbis"),
|
||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
.id = AV_CODEC_ID_VORBIS,
|
.id = AV_CODEC_ID_VORBIS,
|
||||||
.priv_data_size = sizeof(OggVorbisEncContext),
|
.priv_data_size = sizeof(LibvorbisEncContext),
|
||||||
.init = oggvorbis_encode_init,
|
.init = libvorbis_encode_init,
|
||||||
.encode2 = oggvorbis_encode_frame,
|
.encode2 = libvorbis_encode_frame,
|
||||||
.close = oggvorbis_encode_close,
|
.close = libvorbis_encode_close,
|
||||||
.capabilities = CODEC_CAP_DELAY,
|
.capabilities = CODEC_CAP_DELAY,
|
||||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
|
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
|
||||||
AV_SAMPLE_FMT_NONE },
|
AV_SAMPLE_FMT_NONE },
|
||||||
|
|
Loading…
Reference in New Issue