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

zhentan feng spyfeng
Wed Mar 26 19:04:18 CET 2008


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.
>
>  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~
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ff_pes_muxer_end.patch
Type: application/octet-stream
Size: 3424 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080327/65cbc976/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ff_pes_muxer_init.patch
Type: application/octet-stream
Size: 7684 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080327/65cbc976/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ff_pes_write_packet.patch
Type: application/octet-stream
Size: 4717 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080327/65cbc976/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ff_pes_cal_header.patch
Type: application/octet-stream
Size: 12117 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080327/65cbc976/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: duplication_define_code.patch
Type: application/octet-stream
Size: 803 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080327/65cbc976/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TSMuxer_soc_pactch.patch
Type: application/octet-stream
Size: 29565 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080327/65cbc976/attachment-0005.obj>



More information about the ffmpeg-devel mailing list