Re: I'm going on Hiatus

"Allan N. Snider" <[email protected]> Sat, 06 Feb 2010 13:56:49 -0500
Newsgroups gmane.comp.video.transcode.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------000906010309000904030809
Content-Type: multipart/alternative;
	boundary="------------000700070209000303090804"


--------------000700070209000303090804
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Francesco:
    Yes, I was a little distraught when I read that.  I thought you had
to die to get out of maintainer roles?  Wasn't that a life time
contract? ;-)  It would be a shame if transcode dies.  Of all the
encoding tools, I use transcode about 95% of the time.  For anyone who
wants a nice playground for experimenting with video/audio filters,
transcode is the way to go.  On the other hand, transcode lags a bit
(IMHO) when it comes to recent codec improvements.  Like the ffmpeg.cfg
H264 headache.  But I digress...

    I have a yait patch update for v1.1.5.  Patches attached.  Forcing
the frame rates and hard frame dropping within the filter was a bad
idea.  Let the user specify what he wants on the command line.  It turns
out that the yait filter does a much better job when using soft frame
dropping anyway because of the large tolerance and window for missing or
extra frame duplicates.  (Far less forced frame keeps and drops,
producing a smoother video).  The tcyait tool patch adds an option to
drop a fixed frame within a telecined group.  (This was useful when 3:2
pulldown wasn't used but simply an extra (interpolated) frame was added
for each group of five).

    I suppose I really need to write a Wiki on this if I expect people
to try it out.  I'll do that eventually.  For variable fps NTCS
telecined video I still get the best results using yait.  I've encoded
over 500 films using it and in the majority of cases was able to
reproduce the 24 fps original progressive frames for the entire film,
(with no frame blending).  However, it always involves tweaking the
parameters of the analysis tool, so I'm still hesitant to incorporate it
into the filter itself as opposed to a stand alone tool.  (Separate
discussion topic).  Eventually I would want to see some kind of yait
interface within DVD::Rip.

    I've attached the nextsub filter patch again.  I sent this quite
some time ago pending review for inclusion but it's still not in. 
Again, this was an enhancement to the extsub filter allowing zooming,
aliasing, opacity, forced subtitles, and better color and positioning
control.  I think it was mostly NMS compliant, but really was just a
copy of the old extsub code and hacked.  (There is still a very old
DVD::Rip thread to be pursued here).

    The patches should apply cleanly to v1.1.5 (as built by gentoo). 
Let me know if they don't.

    When you have the time...  Cheers.
                                                                        
                           Allan



Francesco Romani wrote:
> On Fri, 2010-02-05 at 10:27 +0100, Georg Martius wrote:
>
>   
>> It would be great if you can stay available for consulting purposes for 
>> further developments. 
>>     
>
> I'll definitely do that ;)
> For starters, I'll gladly answer to any question about current and
> (formerly) planned design and changes of transcode.
>
> Moreover, There are still some ideas floating in the back of my head,
> expect some patches by me from time to time.
>
>   
>> I am in fear that transcode is slowly going to die.
>>     
>
> I'm afraid that's quite likely.
> IMHO, a project of the size, with the characteristics and complexity of
> transcode needs at least 3-5 active developers to stay healthy and to be
> competitive.
>
>   
>> How many "active" developers are there at the moment?
>>     
>
> It depends on what you count as "active" :).
> You and Allan Snider (et. al. ?) contributed some interesting new
> filters. Some people (mostly package maintainers) from time to time
> sends bug-fix patches.
>
> But the vast majority of the development since 2006 circa was provided
> by me and Andrew.
>
> HG log has of course better memory, but I'm quite confident that its
> answer will not be so different from mine.
>
>   
>> How long would you thing it takes to get familiar with the code for a new maintainer?
>>     
>
> Less than we took for me, that's for sure. ;)
> Just compare the shape of 1.0.x and the last HG head snapshot and tell
> me if I'm wrong (and why!) :^)
>
> We dedicated countless hours and huge efforts to improve the shape of
> our codebase, and that work it is just starting to be fruitful.
>
> Transcode has now a much saner and easily understandable structure, less
> code duplication, much more documentation (mostly API but some design
> sketches as well).
>
> Transcode has much better supporting libraries (libtcutil et. al.).
> Writing a module/plugin is definitively easier.
> Changing the core is easier as well, even there are of course much more
> things to grasp properly before.
>
> But there are still some scary parts. Most of them are lurking into the
> import layer, which is the less changed so far (improvents are been
> planned for 1.3.0 and beyond...).
>
> Some parts of the code are still hard to test (tcrequant) or even to
> grok. There is still some (IMO) bad design choices fixing them will take
> a lot of effort. Example: transcode opens the input too much: one time
> for tcprobe'ing it, one time for import thread. No good at all for
> streaming source.
>
> And so forth.
>
> My very wild, little-grounded guess if that any decent C/*nix programmer
> with at least a clue to multimedia programming will get up to speed
> in about three months, expending roughly the same amount of time I
> did...
>
>   
>> And a last question: How much time did you roughly spend on the project?
>>     
>
> In the ol' good, funny, days, about 8-10 hours per week.
>
> Bests,
>
>
>   

--------------000700070209000303090804
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by fries.zyn.de id o16JVepx031595

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content=3D"text/html;charset=3DUTF-8" http-equiv=3D"Content-Type"=
>
</head>
<body bgcolor=3D"#ffffff" text=3D"#000000">
<font size=3D"+1">Francesco:<br>
=C2=A0=C2=A0=C2=A0 Yes, I was a little distraught when I read that.=C2=A0=
 I thought you had
to die to get out of maintainer roles?=C2=A0 Wasn't that a life time
contract? ;-)=C2=A0 It would be a shame if transcode dies.=C2=A0 Of all t=
he
encoding tools, I use transcode about 95% of the time.=C2=A0 For anyone w=
ho
wants a nice playground for experimenting with video/audio filters,
transcode is the way to go.=C2=A0 On the other hand, transcode lags a bit
(IMHO) when it comes to recent codec improvements.=C2=A0 Like the ffmpeg.=
cfg
H264 headache.=C2=A0 But I digress...<br>
<br>
=C2=A0=C2=A0=C2=A0 I have a yait patch update for v1.1.5.=C2=A0 Patches a=
ttached.=C2=A0 Forcing
the frame rates and hard frame dropping within the filter was a bad
idea.=C2=A0 Let the user specify what he wants on the command line.=C2=A0=
 It
turns out that the yait filter does a much better job when using soft
frame dropping anyway because of the large tolerance and window for
missing or extra frame duplicates.=C2=A0 (Far less forced frame keeps and
drops, producing a smoother video).=C2=A0 The tcyait tool patch adds an
option to drop a fixed frame within a telecined group.=C2=A0 (This was
useful when 3:2 pulldown wasn't used but simply an extra (interpolated)
frame was added for each group of five).<br>
<br>
=C2=A0=C2=A0=C2=A0 I suppose I really need to write a Wiki on this if I e=
xpect people
to try it out.=C2=A0 I'll do that eventually.=C2=A0 For variable fps NTCS
telecined video I still get the best results using yait.=C2=A0 I've encod=
ed
over 500 films using it and in the majority of cases was able to
reproduce the 24 fps original progressive frames for the entire film,
(with no frame blending).=C2=A0 However, it always involves tweaking the
parameters of the analysis tool, so I'm still hesitant to incorporate
it into the filter itself as opposed to a stand alone tool.=C2=A0 (Separa=
te
discussion topic).=C2=A0 Eventually I would want to see some kind of yait
interface within DVD::Rip.<br>
<br>
=C2=A0=C2=A0=C2=A0 I've attached the nextsub filter patch again.=C2=A0 I =
sent this quite
some time ago pending review for inclusion but it's still not in.=C2=A0
Again, this was an enhancement to the extsub filter allowing zooming,
aliasing, opacity, forced subtitles, and better color and positioning
control.=C2=A0 I think it was mostly NMS compliant, but really was just a
copy of the old extsub code and hacked.=C2=A0 (There is still a very old
DVD::Rip thread to be pursued here).<br>
<br>
=C2=A0=C2=A0=C2=A0 The patches should apply cleanly to v1.1.5 (as built b=
y gentoo).=C2=A0
Let me know if they don't.<br>
<br>
</font><big>=C2=A0=C2=A0=C2=A0 When you have the time...=C2=A0 Cheers.<br=
>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=
=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0=
 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=
=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=
=C2=A0
=C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=
=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0 Allan</big><br>
<br>
<br>
<br>
Francesco Romani wrote:
<blockquote cite=3D"mid:[email protected]"
 type=3D"cite">
  <pre wrap=3D"">On Fri, 2010-02-05 at 10:27 +0100, Georg Martius wrote:

  </pre>
  <blockquote type=3D"cite">
    <pre wrap=3D"">It would be great if you can stay available for consul=
ting purposes for=20
further developments.=20
    </pre>
  </blockquote>
  <pre wrap=3D""><!---->
I'll definitely do that ;)
For starters, I'll gladly answer to any question about current and
(formerly) planned design and changes of transcode.

Moreover, There are still some ideas floating in the back of my head,
expect some patches by me from time to time.

  </pre>
  <blockquote type=3D"cite">
    <pre wrap=3D"">I am in fear that transcode is slowly going to die.
    </pre>
  </blockquote>
  <pre wrap=3D""><!---->
I'm afraid that's quite likely.
IMHO, a project of the size, with the characteristics and complexity of
transcode needs at least 3-5 active developers to stay healthy and to be
competitive.

  </pre>
  <blockquote type=3D"cite">
    <pre wrap=3D"">How many "active" developers are there at the moment?
    </pre>
  </blockquote>
  <pre wrap=3D""><!---->
It depends on what you count as "active" :).
You and Allan Snider (et. al. ?) contributed some interesting new
filters. Some people (mostly package maintainers) from time to time
sends bug-fix patches.

But the vast majority of the development since 2006 circa was provided
by me and Andrew.

HG log has of course better memory, but I'm quite confident that its
answer will not be so different from mine.

  </pre>
  <blockquote type=3D"cite">
    <pre wrap=3D"">How long would you thing it takes to get familiar with=
 the code for a new maintainer?
    </pre>
  </blockquote>
  <pre wrap=3D""><!---->
Less than we took for me, that's for sure. ;)
Just compare the shape of 1.0.x and the last HG head snapshot and tell
me if I'm wrong (and why!) :^)

We dedicated countless hours and huge efforts to improve the shape of
our codebase, and that work it is just starting to be fruitful.

Transcode has now a much saner and easily understandable structure, less
code duplication, much more documentation (mostly API but some design
sketches as well).

Transcode has much better supporting libraries (libtcutil et. al.).
Writing a module/plugin is definitively easier.
Changing the core is easier as well, even there are of course much more
things to grasp properly before.

But there are still some scary parts. Most of them are lurking into the
import layer, which is the less changed so far (improvents are been
planned for 1.3.0 and beyond...).

Some parts of the code are still hard to test (tcrequant) or even to
grok. There is still some (IMO) bad design choices fixing them will take
a lot of effort. Example: transcode opens the input too much: one time
for tcprobe'ing it, one time for import thread. No good at all for
streaming source.

And so forth.

My very wild, little-grounded guess if that any decent C/*nix programmer
with at least a clue to multimedia programming will get up to speed
in about three months, expending roughly the same amount of time I
did...

  </pre>
  <blockquote type=3D"cite">
    <pre wrap=3D"">And a last question: How much time did you roughly spe=
nd on the project?
    </pre>
  </blockquote>
  <pre wrap=3D""><!---->
In the ol' good, funny, days, about 8-10 hours per week.

Bests,


  </pre>
</blockquote>
</body>
</html>

--------------000700070209000303090804--

--------------000906010309000904030809
Content-Type: application/gzip;
 name="filter_yait_v2.patch.gz"
Content-Disposition: inline;
 filename="filter_yait_v2.patch.gz"
Content-Transfer-Encoding: base64

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
++WIKRYAAA==
--------------000906010309000904030809
Content-Type: application/gzip;
 name="tcyait_fixeddrop.patch.gz"
Content-Disposition: inline;
 filename="tcyait_fixeddrop.patch.gz"
Content-Transfer-Encoding: base64

H4sICO4zVksAA3RjeWFpdF9maXhlZGRyb3AucGF0Y2gAnVVtT+M4EP4cfsUcEtA2DcR9p104
tGqrrW5pV9DTao8iFBqnWKR25bhlud397ze2kxBadu90+RDF43nGz0yeGYcsisCT6zGIODxR
QsTJiZo/B0wdz4HTpy3Tnud5b3g6Nd8/9fyaVyNAWl2fdJvtYz97wPObvr/nuu4bERFKfM8n
HjkF0u7WW13i70AvLsBrNKotcPHdhouLPYCK4zjeANSDpMmDM9hQDqtAKSq5sT0gS7ixu7eZ
+yRzn4Thv3uPgQuWUGfJOFuul7iSyyBmf9MQQhqroAo0TijMBU9YSCWajf+ea+F94I4ziiAS
cq4hUqyqsEZAxL7iOpLBkkKJCwV4gI1YrkKJeM2yZmBZvH/GnShYx6oKkgZhAvumbrFY7EPA
MQspwvWcZnaxSvaPDVzXjDSILhpp1NKqMa6gT+/XiyHrIceTCoTr5QqPQFPKiPFIQOXE+o5F
H2knqa/JBJ093KIyDnBBN1Q+Pz1g9joVDptIlgvoPyjN0X3Bj1Qa4xHt9rwESkEci6cEgpMN
JM98jpVikTJRXB1lqMulaaRxhoXy8fXynkodtFjmxDDYg+Ho4wAqH8VimGGxbFj+mBoHuz1Z
Jfm2hmbbun61dkfXr9bxqx1TP2es/zCcwZe78WR0PeihqU+R5aUIrbk/GI2nd5eTvt1DNp/x
75qdq8mnz6Px3fXoL9xznbQ6uOfrZZ6mNSB9x/MCuZjrOJ8kEj+DCq43rtsz5OqNpiZXb5xW
CbHs9FOkEyjBSlBxXY2Dci91uUclPeojXL2aB5jRUf+oa5eO1tHd/OExmJfgUBPQQLtV5LgT
2y3Gdu1RqXa76cEm9DoJFrS0TcZk1G6bjDqtKqmlGe1AfhjeLCq9CAPegQ/fvxcM59CEsmb0
Tb9WEkuCgP0R32ADh68kpAWT6ShZ0TmLGO6VDsLy8YzP+H61ENZm+ZqSqynpdDWl3wZTM0Pw
cKSaLc7AfvQyr0nuZSZbzTejrd5Mu/SF8EzlI26mdmZcYsfWweL22BD9cjf9cDW4/mD/dDHI
JA+yPfn+e4x0HM7U5a/nofF6FdG0ii1eMSAOyJmaqf83IuFGRJE5YZtpakEb/cpUCYhemmnY
bNZ0q7ik2epU8b4xtdYjJpJViMJeumK2Na5VoO6iULeb/r1LmTamswyzr0jbuPkK068dbb7I
cBjcAHfzHY/ArXce2m6aXv1phoIjqVpLXpAV1qYE7Iz3gL3jbhMOD/FjHHkEDXijGqF90y+j
LJZqijQ7p6gml7RIHcVle+mHqYqmUVrKc6vB8u+R7CL7bSpeMX+wUBu5067jNHRJ5xTbtL4j
WKPSaaasLhwsjAryxtiSldbjrvfkJ97vY4p3ntrxt/ZthdlhLQPFhBZQ7m3t27HN33piPBRP
kKCq0T007tkQL+uqFAHFi3CJE9ciLCafwtukfoL6JWa4c/HmoPSGfiP3rKsKd20BZe+enYNM
3xkhFC/YHLc1Ct9qutym9ZN032hQNRUqiLOZK6IdcpFG/AOmED/VmgoAAA==
--------------000906010309000904030809
Content-Type: application/gzip;
 name="filter_nextsub.patch.gz"
Content-Disposition: inline;
 filename="filter_nextsub.patch.gz"
Content-Transfer-Encoding: base64

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
AaYAAA==
--------------000906010309000904030809--