<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF
[
<!ENTITY % HTMLlat1 PUBLIC
 "-//W3C//ENTITIES Latin 1 for XHTML//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
]>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:admin="http://webns.net/mvcb/">
<channel rdf:about="http://fromani.exit1.org/mpeglib">
<title>MPEGlib forge</title>
<link>http://fromani.exit1.org/mpeglib</link>
<description>mpeglib development journal</description>
<dc:language>en-us</dc:language>
<dc:creator>Francesco Romani</dc:creator>
<dc:date>2006-01-01T14:26:35+01:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://fromani.exit1.org/mpeglib/archives/2006/01/index.html#e2006-01-01T14_18_33.txt" />
<rdf:li rdf:resource="http://fromani.exit1.org/mpeglib/archives/2005/11/index.html#e2005-11-22T20_15_46.txt" />
<rdf:li rdf:resource="http://fromani.exit1.org/mpeglib/archives/2005/11/index.html#e2005-11-16T07_39_19.txt" />
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://fromani.exit1.org/mpeglib/archives/2006/01/index.html#e2006-01-01T14_18_33.txt">
<link>http://fromani.exit1.org/mpeglib/archives/2006/01/index.html#e2006-01-01T14_18_33.txt</link>
<title>bump</title>
<dc:date>2006-01-01T14:18:33+01:00</dc:date>
<dc:creator>Francesco Romani</dc:creator>
<dc:subject>plans</dc:subject>
<description>
<![CDATA[Happy new year ;)
<br /><br />
I've got a .ts sample to work on, but I'm looking for a few more,
and I've finally established the new design for mpeglib 0.3.x
(aka ng branch). As announced before, the new trunk will have two
layers: a bitstream-to-PES-packets layer, and a stream layer on top
of the former, that will take care of packing packets into frames,
probe streams, gather metadata, and so on.
I plan to start a new repository on <a href="http://cvs.exit1.org">http://cvs.exit1.org</a> when I got
something useful to show, ant this means at least a packet(-izer)
layer capable to read data.
Sadly, at time of writing almost all my hacking time is dedicated to
the new export layer of transcode, so don't hold your breath for new
mpeglib. And since I've still some other business to do
(<a href="http://www.ing.unipi.it">http://www.ing.unipi.it</a>), hacking time will not grew up fast.]]>
</description>
</item>
<item rdf:about="http://fromani.exit1.org/mpeglib/archives/2005/11/index.html#e2005-11-22T20_15_46.txt">
<link>http://fromani.exit1.org/mpeglib/archives/2005/11/index.html#e2005-11-22T20_15_46.txt</link>
<title>development continues</title>
<dc:date>2005-11-22T20:15:46+01:00</dc:date>
<dc:creator>Francesco Romani</dc:creator>
<dc:subject>plans</dc:subject>
<description>
<![CDATA[mpeglib development continues, even at slow rate ;)
I'm currently summarizing all known pros and cons of actual code, and
I'm rethinking the internals, the purpose, the running environment of
mpeglib, it's preconditions (what kind of file mpeglib should expect?)
and so on. In just one word, "everything". ;)
<br /><br />
I'm not say that future mpeglib will be rewritten from scratch. I'm quite
satisfied of some substantial parts of code (say: probing support, data
structures, support code); I'm simply trying to make clearer what
mpeglib should really do in greater detail. I've some ideas defined, but
some details are still missing; later I'll write a full spec, and then
coding crazyness can restart. :)
<br /><br />
The main, fundamental, purpose (as for 0.3.0) of mpeglib is to offer to upper 
code a stream of separated packets containing all encoded data, ready for
feeding decoder. mpeglib should also decode all interesting header informations,
give a way to achieve optimal A/V sync (using, of course, informations
found in streams), and offer a limited probe support for understanded formats.
In short, mpeglib aims to be a generic mpeg system stream demuxer.
<br /><br />
This is clear and will not change (will be just improved :) ).
<br /><br />
Some sparse ideas so far (in approximate order of increasing crazyness :) :
<br /><br />
<ul>
<li> planned feature set for upcoming 0.3.0 (0.1.x and 0.2.x are rispectively
  test and preview code):
  full read support for PS, TS, ES and VOB stream.
  no write support except for ES (it's trivial, given data will be writted
  verbatim :) ).
  probing support for all stream format which can be packed in above formats.
  (MPEG1/2 video, MPEG/AC3/LPCM audio).</li>
  
<li> It should be a good idea to introduce a packet cache to reduce malloc() 
  pressure; mpeglib should provide a way to use a static client-provided buffer 
  for new packet, but I have'nt still found a good & clean idea to do so.</li>
  
<li> actual code depend *really too much* from single generic (but not generic
  enough!) pes reading code. So, TS streams will not be handled gracefully</li>
  
<li> I/O model is still a bit messy, it need to be made clear. I'm almost convinced
  to go with a pipe-like concept. In short, except for probing (which always
  need to seek stream, we simply can't do in a different way), mpeglib
  should assume that source stream isn't seek()able. But source stream
  should be avalaible identical multiple times; so, raw unneeded data will
  not be keeped mandatory. Now. This can change before to get back on the code.
  So, mpeglib will not use seek(), but it's possible that only a single stream
  for instance will be avalaible. THis issue really deserve a more careful
  study.</li>
</ul>]]>
</description>
</item>
<item rdf:about="http://fromani.exit1.org/mpeglib/archives/2005/11/index.html#e2005-11-16T07_39_19.txt">
<link>http://fromani.exit1.org/mpeglib/archives/2005/11/index.html#e2005-11-16T07_39_19.txt</link>
<title>welcome, transcoders!</title>
<dc:date>2005-11-16T07:39:19+01:00</dc:date>
<dc:creator>Francesco Romani</dc:creator>
<dc:subject>other</dc:subject>
<description>
<![CDATA[Hello everyone and welcome on mpeglib page!
<br /><br />
This page will hold all information related to MPEGlib development,
organized like a blog, thanks to the nice nanoblogger 
(<a href="http://nanoblogger.sf.net">http://nanoblogger.sf.net</a>).
<br /><br />
Why? Because nanoblogger is fast and easy to use, and produce 
reasonnable (X)HTML, letting me to focus on the code, documentation
and other production issues ;)
<br /><br />
What is MPEGlib? MPEGlib aims to be a complete MPEG muxing/demuxing
library, designed to integrate well with transcode while remaining 
an independent project. In short, MPEGlib aims to be for MPEGs what 
avilib is for AVIs. Grab the transcode sources to get the avilib 
code.
<br /><br />
Who am I? I am the MPEGlib author of course ;)
A few notes on me: <a href="http://www.transcoding.org/cgi-bin/transcode?Fromani">http://www.transcoding.org/cgi-bin/transcode?Fromani</a>
<br /><br />
At the time of writing, MPEGlib hasn't yet it's public CVS repository.
I will upload here on this page(s) snapshots of the code when a milestone 
is reached, and  of course when a new release pops out.
<br /><br />
Nanoblogger is lean and fast, but doesn't support comments. 
So, for any communication (including complains about my english ;) )
feel free to contact me using email (fromaniatgmaildotcom).
<br /><br />
Stay tuned for more MPEGlib news! :)]]>
</description>
</item>
</rdf:RDF>

