[vlc-devel] google summer code

salavuddin ghousemohideen ghouse1508 at gmail.com
Fri Apr 3 20:00:46 CEST 2009


Name               :S.Ghouse  Mohideen

Date of Birth   :15th August 1989

Age                 :19 years

University       :National  Institute of Technology ,Trichy

Roll number    :106106018

Year                :presently 3rd year(6th sem)

Bio/overview   :enclosed



*Coding Skills:*

What language are you familiar with?                :C,C++



What platform are you developing on?               :GNU-Linux,Windows



Show past projects and code examples of your own.



               1.Solved 0-1 Knapsack problem.



                               Code and snippet of project: attachment



               2.BrainFuck Language compiler.

                               Code :

                                    #include <stdio.h>



int  p, r, q;

char a[5000], f[5000], b, o, *s=f;



void interpret(char *c)

{

      char *d;



      r++;

      while( *c ) {



            switch(o=1,*c++) {

            case '<': p--;        break;

            case '>': p++;        break;

            case '+': a[p]++;     break;

            case '-': a[p]--;     break;

            case '.': putchar(a[p]); fflush(stdout); break;

            case ',': a[p]=getchar();fflush(stdout); break;

            case '[':

                  for( b=1,d=c; b && *c; c++ )

                        b+=*c=='[', b-=*c==']';

                  if(!b) {

                        c[-1]=0;

                        while( a[p] )

                              interpret(d);

                        c[-1]=']';

                        break;

                  }

            case ']':

                  puts("UNBALANCED BRACKETS"), exit(0);

            case '#':

                  if(q>2)

                        printf("%2d %2d %2d %2d %2d %2d %2d %2d %2d
%2d\n%*s\n",


*a,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],3*p+2,"^");

                  break;

            default: o=0;

            }

            if( p<0 || p>100)

                  puts("RANGE ERROR"), exit(0);

      }

      r--;

      chkabort();

}



main(int argc,char *argv[])

{

      FILE *z;



      q=argc;



      if(z=fopen(argv[1],"r")) {

            while( (b=getc(z))>0 )

                  *s++=b;

            *s=0;

            interpret(f);

      }

}



3.spoj rank 860

        Handle ghouse1508



*VideoLAN and you               *



1.Have you used VideoLAN software by the past?

I am using it in both Ubuntu and Windows





2.Why do you want to code for VideoLAN?

It’s a good media player and mainly it is used here to stream video in
a network. I want to enhance its features as a good media player and
some of its network shortcomings.





*Project*

I choose this work given in your mini project area

*Performant VLC streaming server *

There are many bottlenecks currently limiting the performance and
scalability of VLC as a streaming server:

   - The I/O blocks are linear, which implies lots of avoidable memory
   copying and dynamic memory allocations (particularly in the streaming
   output).
   - mdate() (the timestamping function) is invoked in too many places to
   count them; but it is not a cheap operation on modern systems and should be
   avoided on the fast path. Ideally, a single thread would only need to call
   mdate() at most once per wake-up. In some case, mdate() is only used for
   debugging purpose which is really inefficient.
   - The HTTP/RTSP core is single-threaded. This prevents scaling to SMP
   systems (which are the norm on server-side nowadays) properly. This also
   implies not very scalable I/O event polling. Finally, this gets problematic
   if one HTTP/RTSP client triggers a computationally intensive operation (such
   as establishing a TLS context if HTTP/SSL is used).
   - There are many dynamic memory allocations that could be avoided. Video
   filters and codecs are very careful about this, but the stream output
   plugins are not. In many case, a stack-based buffer can be used (stack
   buffer, has constant time fast lock-less allocation, and needs not be freed
   explicitly) instead.
   - The messaging subsystems might be adding more locking (needs checking);
   this should be avoided particularly if the message is anyway ignord (e.g.
   debug message in non-debug mode).



I chose this project because I am a bit in networking and this problem
is pretty attractive to me.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20090403/0ddfde80/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: resume.doc
Type: application/msword
Size: 63488 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20090403/0ddfde80/attachment.doc>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Combinatorial.doc
Type: application/msword
Size: 78848 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20090403/0ddfde80/attachment-0001.doc>


More information about the vlc-devel mailing list