[FFmpeg-devel] [FFmpeg-soc] [Patch]GSoC 2008 qualification task TS Muxer

zhentan feng spyfeng
Thu Mar 27 15:52:09 CET 2008


2008/3/27, zhentan feng <spyfeng at gmail.com>:
> 2008/3/26, Baptiste Coudurier <baptiste.coudurier at smartjog.com>:
>
> > Hi,
>  >
>  >  zhentan feng wrote:
>  >  > 2008/3/25, Baptiste Coudurier <baptiste.coudurier at smartjog.com>:
>  >  >> Hi,
>  >  >>
>  >  >>
>  >  >>  zhentan feng wrote:
>  >  >>  > 2008/3/25, Michael Niedermayer <michaelni at gmx.at>:
>  >  >>  >> On Tue, Mar 25, 2008 at 11:57:16AM +0800, zhentan feng wrote:
>  >  >>  >>  > 2008/3/25, Michael Niedermayer <michaelni at gmx.at>:
>  >  >>  >>
>  >  >>  >> [...]
>  >  >>  >>
>  >  >>
>  >  >>>>  I assume these are bugfixes for the TS muxer? We certainly do want them but
>  >  >>  >>  they must be in a seperate patch. Not in the patch spliting the common PES
>  >  >>  >>  code out.
>  >  >>  >
>  >  >>  > yes, these are bugfixes.But it was modified by the student last year,not me.
>  >  >>
>  >  >>
>  >  >> Some are, and I fixed pcr computation.
>  >  >>
>  >  >>
>  >  >>  > The situation is that I just download the codes from
>  >  >>  > svn://svn.mplayerhq.hu/soc/dvbmuxer
>  >  >>  > and I got 4 files mpegtsenc.c, mpegenc.c,mpegpesenc.c,mpegpes.h,which
>  >  >>  > are already bug
>  >  >>  > fixed for mpegtsenc.c against the svn-devl codes, and already
>  >  >>  > extracted some common codes.
>  >  >>  >
>  >  >>  > According to  baptiste.coudurie wrote in the early mail,I have just
>  >  >>  > extracted more common codes and do not do any functional changes.
>  >  >>  > As qualification task, I think I will do the next 2 things:
>  >  >>  >
>  >  >>  > 1.Test my codes , confirm it works correctly.
>  >  >>  > 2.Create different patches for different situation:
>  >  >>  >    i) create patches against  svn://svn.mplayerhq.hu/soc/dvbmuxer to
>  >  >>  > show my changes from the last year's students.
>  >  >>
>  >  >>
>  >  >> Yes, current TS muxer in soc is working, however mpegtsenc.c and
>  >  >>  mpegenc.c in soc svn shares too much code, you can see that already.
>  >  >>  Im not sure if code from ffmpeg svn mpegenc.c can be extracted right
>  >  >>  now, since It might not fit soc svn mpegtsenc.c code.
>  >  >>
>  >  >>  First work on soc svn, and adapt mpegenc.c or mpegtsenc.c code if
>  >  >>  needed. See flush_packet for example, it contains much common code. You
>  >  >>  have to decide if it is worth to merge both functions and handle TS and
>  >  >>  PS cases, or just rewrite a very small flush_packet for TS.
>  >  >>  'mpegpesenc.c' in soc svn should contain common functions, it already
>  >  >>  contains ff_pes_get_nb_frames for example, which is used by both muxer
>  >  >>  in soc svn.
>  >  >>
>  >  >
>  >  > hi,
>  >  > I have modified the 4 files and copy them to currently svn-devel codes
>  >  > repo,overwrote mpegtsenc.c and mpegenc.c in /libavformat folder and
>  >  > add mpegpesenc.c ,mpegpes.h.
>  >
>  >
>  > Yes, but please send seperate patches for every function ? This should
>  >  make review easier, commit must be separate.
>
> hi,
>  I just review the codes and split the patch into 5 small patches
>  manually according to their function.
>  They are:
>  1,ff_pes_muxer_inti.patch  to show the common codes in function
>  ff_pes_muxer_inti().
>  2,ff_pes_muxer_end.patch to show the common codes in function
>  ff_pes_muxer_end().
>  3,ff_pes_write_packet.patch to show the common codes in function
>  ff_pes_write_packet().
>  4,ff_pes_cal_header.patch to show the common codes in function
>  ff_pes_cal_header().
>  5,duplication_define_code.patch to show some redefination in mpegpes.h.
>  6,TSMuxer_soc_patch.patch is the integrity patch for checking usage.
>  you can apply each patch every time to the base version,but do not
>  apply two or more, it maybe confilict.
>  I don't find an auoto-generated method to do this,so you add the 5
>  patches may not totally reflect the all changes ,so I attach the
>  integrity patch named "TSMuxer_soc_patch.patch"
>  to check.
>
Today,I have fixed some bugs in mpegpesenc.c.

I attached 3 new  patches as below:
1,ff_pes_muxer_init_new.patch to show the common codes in function
ff_pes_muxer_init().
2,ff_pes_cal_header.patch to show the common codes in funtion
ff_pes_cal_header().
3,TSMuxer_soc_Newpactch.patch to show  all the changes against svn soc
codes repo.

you can just apply the TSMuxer_soc_Newpatch.patch to svn-soc codes get
the current code files.

I run the 4files in svn-devel codes repo and "make full test" and got
the same results with  running the svn-soc files in svn-devel codes
repo.

So, I conservativly think the changes do not break the regressions tests.

Thank you very much to review the patches.

> >
>  >  Can you please attach your patches non base64-encoded ? It will be
>  >  easier for me to review.
>
> I am really sorry for this problem.
>  I just use svn create the patches and send to the maillist by
>  googlemail as attachment,I find all the mail setting optionals and
>  search through the web but can't get how to use non base64-encoded.
>  I will be very grateful,If you tell me what's the problem maybe.
>
>
>  >
>  >
>  >  > Then I do "make"  to complie the changed files and have fixed some errors.
>  >  > Now, all the 4 files can be complie successfully.
>  >  > The patch against svn-soc is attached below.
>  >  >
>  >  > I know the code from svn-soc is bugfixes.
>  >  > So,I want to know how to test my changes are right and do not break
>  >  > the function of the mpegtsenc.c and mpegenc.c against svn-soc?
>  >
>  >
>  > You can know using FFmpeg svn, if new code is breaking regressions tests
>  >  (make fulltest), then it's broken.
>
> About this ,I am still a little confused :(
>  The situation is this:
>  1,In current svn_devel code repo, the mpegtsenc.c is broken, but I
>  type the command "make test", then all is ok.
>  2,But the svn-soc you and your student last year has fixed the bug.
>  So is it also will and *should* be ok,when I use the bugfixed codes to
>  FFmpeg current source codes? i.e, are the regressions tests genarally
>  applicability?
>
>  Best wishes~
>
>
>
>  >
>  >
>  >  > what's the sign of the codes can work correctly?
>  >  > Are there any sample files to play or some tools to judge it?
>  >
>  >
>  > Not many that I know about unfortunately. PS muxer works great though.
>  >
>  >
>  >  --
>  >
>  > Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
>  >  SMARTJOG SAS                                     http://www.smartjog.com
>  >  Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
>  >  Phone: +33 1 49966312
>  >
>
>
>
> --
>  Best wishes~
>
>


-- 
Best wishes~
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ff_pes_muxer_init_new.patch
Type: application/octet-stream
Size: 7829 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080327/6a734ff1/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TSMuxer_soc_Newpactch.patch
Type: application/octet-stream
Size: 29560 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080327/6a734ff1/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ff_pes_cal_header_new.patch
Type: application/octet-stream
Size: 12128 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080327/6a734ff1/attachment-0002.obj>



More information about the ffmpeg-devel mailing list