[FFmpeg-devel] [Ffmpeg-devel][PATCH] WMV 3 encoding support (intra main profile)

Diego Biurrun diego
Tue May 1 18:07:44 CEST 2007


On Tue, May 01, 2007 at 05:55:44PM +0200, Denis Fortin wrote:
> On mar, 2007-05-01 at 17:44 +0200, Diego Biurrun wrote:
> > On Tue, May 01, 2007 at 05:16:16PM +0200, Denis Fortin wrote:
> > > 
> > > I am working on WMV3/VC-1 encoding support.
> > > I was holding out a patch until i get at least P frames, but i have been
> > > out of sync from svn for too long and i still have some bugs in mc ; so
> > > i guess it's time to get some feedback about intra frame main profile
> > > VC1 support.
> > > I tried to reuse as much code as possible from ffmpeg, ratecontrol,
> > > motion estimation ...
> > > 
> > > Summary : 
> > > -modify some msmpeg4.c functions to handle vc1
> > > -rl.h: switch table_vlc from uint16_t to uint32_t for new vlc tables
> > > -vc1.h: move some definitions from vc1.c to this new filw
> > > -vc1enc.c: new functions (this file is included in msmpeg4.c, like
> > > wmv2.c is)
> > 
> > Is that necessary?  I find the inclusion of C files ugly.
> > 
> > > Comments? 
> > 
> > Quick comments below to spare Michael some reviewing trouble:
> > You have tabs and trailing whitespace in your patch, this needs to go.
> Ok i'll clean up.
> 
> > > --- libavcodec/msmpeg4data.h	(r??vision 8855)
> > > +++ libavcodec/msmpeg4data.h	(copie de travail)
> > > @@ -586,11 +586,182 @@
> > >   29, 30, 31, 32, 33, 34, 35, 36,
> > >  };
> > >  
> > > -extern const uint16_t inter_vlc[103][2];
> > > +/*shamefull copy paste from vc1acdata.h*/
> > > +static const uint32_t vc1_high_rate_intra_vlc[163][2] = {
> > 
> > Michael will refuse this if it's duplicated.
> One can argue that there's already table duplication between vc1acdata.h and msmpeg4data.h
> vc1_ac_tables[0] == table0_vlc
> vc1_ac_tables[1] == table4_vlc 
> ...

Time to refactor that part of the code then I would say :)

If this means that you can split your patch into multiple small parts -
all the better.

> > > @@ -606,10 +777,11 @@
> > >  
> > >  static RLTable rl_table[NB_RL_TABLES] = {
> > >      /* intra luminance tables */
> > > +    /* low motion  */
> > >      {
> > >          132,
> > >          85,
> > 
> > All of these could go in a separate patch, same for the others.
> I need to remove these comments ?

No, send them in as a separate patch, it's likely to get committed right
away.

> Thanks for the quick review,

You are welcome.

Diego




More information about the ffmpeg-devel mailing list