[FFmpeg-cvslog] r25258 - trunk/libavcodec/libvorbis.c
Michael Niedermayer
michaelni
Wed Sep 29 19:18:33 CEST 2010
On Wed, Sep 29, 2010 at 06:05:47PM +0200, Stefano Sabatini wrote:
> On date Wednesday 2010-09-29 17:09:39 +0200, michael wrote:
> > Author: michael
> > Date: Wed Sep 29 17:09:38 2010
> > New Revision: 25258
> >
> > Log:
> > Allow setting the impulse block bias for libvorbis through a private codec parameter.
> > First example and test of private codec parameters.
> >
> > Modified:
> > trunk/libavcodec/libvorbis.c
> >
> > Modified: trunk/libavcodec/libvorbis.c
> > ==============================================================================
> > --- trunk/libavcodec/libvorbis.c Wed Sep 29 17:05:47 2010 (r25257)
> > +++ trunk/libavcodec/libvorbis.c Wed Sep 29 17:09:38 2010 (r25258)
> > @@ -26,6 +26,7 @@
> >
> > #include <vorbis/vorbisenc.h>
> >
> > +#include "libavutil/opt.h"
> > #include "avcodec.h"
> > #include "bytestream.h"
> > #include "vorbis.h"
> > @@ -38,6 +39,7 @@
> > #define BUFFER_SIZE (1024*64)
> >
> > typedef struct OggVorbisContext {
> > + AVClass *av_class;
> > vorbis_info vi ;
> > vorbis_dsp_state vd ;
> > vorbis_block vb ;
> > @@ -48,10 +50,18 @@ typedef struct OggVorbisContext {
> > /* decoder */
> > vorbis_comment vc ;
> > ogg_packet op;
> > +
> > + double iblock;
> > } OggVorbisContext ;
> >
> > +static const AVOption options[]={
> > +{"iblock", "Sets the impulse block bias", offsetof(OggVorbisContext, iblock), FF_OPT_TYPE_DOUBLE, 0, -15, 0, AV_OPT_FLAG_ENCODING_PARAM},
> > +{NULL}
> > +};
> > +static const AVClass class = { "libvorbis", NULL, options, LIBAVUTIL_VERSION_INT };
>
> That's cool, now we should also try to document it. Some volunteer to
> create and fill a doc/codecs.texi?
if noone else does it remind me in a week or 2 and i see what i can do
>
> > static av_cold int oggvorbis_init_encoder(vorbis_info *vi, AVCodecContext *avccontext) {
> > + OggVorbisContext *context = avccontext->priv_data ;
>
> for avoiding horrible confusion I suggest to call the private context
> something along the lines of the private context itself, e.g. it may
> be vorbis in this case, that's similiar to what it's done in lavfi
> filters.
its called context in the whole file, i just tried to be consistent.
That said i agree that vorbis or v or c would be better
>
> > double cfreq;
> >
> > if(avccontext->flags & CODEC_FLAG_QSCALE) {
> > @@ -82,6 +92,10 @@ static av_cold int oggvorbis_init_encode
> > return -1;
> > }
> >
> > + if(context->iblock){
> > + vorbis_encode_ctl(vi, OV_ECTL_IBLOCK_SET, &context->iblock);
> > + }
>
> Please avoid if(...){ in favor of if_(...)_{ for karma bonus.
i have better things to do than learning and applying indent -kr to the last
whitespace
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20100929/d672f5c9/attachment.pgp>
More information about the ffmpeg-cvslog
mailing list