<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.video.transcode.devel">
    <title>gmane.comp.video.transcode.devel</title>
    <link>http://blog.gmane.org/gmane.comp.video.transcode.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5028"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5025"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5023"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5022"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5018"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5016"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5009"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5008"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5006"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5005"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5004"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/5001"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/4991"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/4990"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/4989"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/4983"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/4982"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/4978"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/4968"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.transcode.devel/4967"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5028">
    <title>hg head: undefined symbol: tc_libavcodec_mutex</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5028</link>
    <description>&lt;pre&gt;Hi,

I tried to compile the head of the hg repository. It compiles but when I
try to transcode something using -x ffmpeg I get:

[transcode] warning: XXXX/transcode/import_ffmpeg.so: undefined symbol:
tc_libavcodec_mutex
This is clearly in libtcext but I don't understand why it does not seem to
be linked correctly.

Any hints?
  Georg


&lt;/pre&gt;</description>
    <dc:creator>Georg Martius</dc:creator>
    <dc:date>2010-10-27T13:42:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5025">
    <title>Mercurial repo on exit1.org</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5025</link>
    <description>&lt;pre&gt;
Hiho,

the exit1.org server (resp. its services) will move to a new machine in
the near future. This is an opportunity to clean up some services which
are not needed anymore.

Is the transcode Mercurial repository still in use or was it replaced by
the repository at berlios?

Regards,

Jörn

&lt;/pre&gt;</description>
    <dc:creator>Jörn Reder </dc:creator>
    <dc:date>2010-10-02T09:35:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5023">
    <title>Filter frame lookahead</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5023</link>
    <description>&lt;pre&gt;Transcoders:
    Just wanted to pop this question out there before I do a code dive. 
Somebody might have a quick answer.  The yait filter (inverse telecine)
occasionally has to force a keep frame (ie. duplicate) to maintain a/v
sync.  Sometimes it needs to do this excessively, which causes stuttered
playback.  Instead of simply duplicating a frame, it would be nice to
generate an interpolated frame between the last and next frame.  As far
as I know, the next frame isn't available yet to the filter.  My
question is this: does the filter API provide any kind of forward
lookahead, ie. maintain a small window of frames as it makes filter
calls?  If not, then I'm going to have force two pass encoding, cache
and index raw rgb frames for each interpolation request by the filter,
then do the interpolation on the second pass.  Could eat a lot of ram. 
For a 2 hour clip, the worst I've seen is around 1200 forced keeps. 
Assuming around 1Mb per frame (720x480x3), that's over a GB of ram.  I
can handle that, but some might not.

    As for the interpolation, I was just going to do a straight forward
pixel averaging between the frames.  Unless there are better ways of
doing that.

    I know transcode development is pretty much halted now, but it's
still the ideal infrastructure for playing with video filters, so I'm
not letting it go yet.
                                                                       
                                            Allan


&lt;/pre&gt;</description>
    <dc:creator>Allan N. Snider</dc:creator>
    <dc:date>2010-07-26T16:39:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5022">
    <title>Update for Wiki</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5022</link>
    <description>&lt;pre&gt;Hi,

 

Just a quick update related to the import PVN module at
http://www.transcoding.org/transcode?Import_Modules/Import_Pvn 

 

The PVN file format does not support Audio.  It was designed for scientific
use and is an uncompressed video only format supporting floating point #'s,
signed, and unsigned integers.

 

Example usage (from our internal docs):

Example shellscript to convert a whole directory of PVN's to uncompressed
AVI's
(flipping vertically, may need to swap B/R channels for colour: add -k):

for i in *.pvn;  
 do 
  PREFIX=`echo $i|sed -e 's/\.pvn//g'`;  
  transcode -i $PREFIX.pvn -o $PREFIX.avi -x pvn,null -y raw,null -z -V
rgb24
done 

 

 

&lt;/pre&gt;</description>
    <dc:creator>Jacob (Jack) Gryn</dc:creator>
    <dc:date>2010-07-22T19:04:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5018">
    <title>[PATCH] ffmpeg preset support</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5018</link>
    <description>&lt;pre&gt;&lt;/pre&gt;</description>
    <dc:creator>Dennis Schridde</dc:creator>
    <dc:date>2010-06-06T15:23:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5016">
    <title>tcdemux segfaults on any -A option</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5016</link>
    <description>&lt;pre&gt;I'm happy to try and reproduce against CVS, but CVS doesn't seem to be there?
In transcode 1.1.5 I'm getting a segfault if I try and run tcdemux with any -A 
option. (-A and nothing else gets a help message, but -A and then any string 
appears to trigger the segfault) Obviously this happens when giving it a file 
and so forth, but it happens even with no other options given:

md401&amp;lt; at &amp;gt;arcueid ~ $ gdb -q tcdemux
Reading symbols from /usr/bin/tcdemux...Reading symbols from 
/usr/lib64/debug/usr/bin/tcdemux.debug...done.
done.
(gdb) run -A 0x80 -q 2
Starting program: /usr/bin/tcdemux -A 0x80 -q 2
warning: no loadable sections found in added symbol-file 
/usr/lib64/debug/lib64/ld-2.11.so.debug
warning: no loadable sections found in added symbol-file 
/usr/lib64/debug/usr/lib64/libdv.so.4.0.3.debug
warning: no loadable sections found in added symbol-file 
/usr/lib64/debug/usr/lib64/libdvdread.so.4.1.2.debug
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff71b9dc2 in ____strtoll_l_internal () from /lib/libc.so.6
(gdb) where
#0  0x00007ffff71b9dc2 in ____strtoll_l_internal () from /lib/libc.so.6
#1  0x0000000000402e01 in main (argc=5, argv=0x7fffffffd638) at tcdemux.c:218
(gdb) bt full
#0  0x00007ffff71b9dc2 in ____strtoll_l_internal () from /lib/libc.so.6
No symbol table info available.
#1  0x0000000000402e01 in main (argc=5, argv=0x7fffffffd638) at tcdemux.c:218
        ipipe = {fd_in = 0, fd_out = 0, magic = 0, track = 0, stype = 0, codec 
= 0, verbose = 0, dvd_title = 0, dvd_chapter = 0, dvd_angle = 0, vob_offset = 
0, ps_unit = 0, ps_seq1 = 0, 
          ps_seq2 = 0, ts_pid = 0, seek_allowed = 0, demux = 0, select = 0, 
subid = 0, keep_seq = 0, fps = 0, fd_log = 0, name = 0x0, nav_seek_file = 0x0, 
probe = 0, factor = 0, 
          probe_info = 0x0, quality = 0, error = 0, frame_limit = {0, 0, 0}, 
hard_fps_flag = 0}
        ch = 65
        n = -10976
        user = 0
        demux_mode = 1
        npass = 0
        pass = 0x0
        new_pass = 0x0
        keep_initial_seq = 0
        hard_fps_flag = 0
        pack_sl = -1
        unit_seek = 0
        resync_seq1 = 0
        resync_seq2 = 2147483647
        a_track = 0
        v_track = 0
        subid = 128
        fps = 25
        stream_stype = 0
        stream_codec = 0
        stream_magic = 0
        x = 4200563
        magic = 0x4384dc ""
        codec = 0x0
        name = 0x0
        logfile = 0x4384dd "sync.log"
        str = 0x0
        end = 0x0
(gdb) disass $pc-32 $pc+32
A syntax error in expression, near `$pc+32'.

Many thanks for any help,

Michael


&lt;/pre&gt;</description>
    <dc:creator>Michael Donaghy</dc:creator>
    <dc:date>2010-04-09T06:32:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5009">
    <title>I'm going on Hiatus</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5009</link>
    <description>&lt;pre&gt;Hi,


Due to that and some other important factors, most notably a constant,
intense job workload *and* a serious (but quite unrelate to the former!)
reduction of my spare time, I've to officially and significantly reduce
my commitment to transcode.

Of course I'm still reachable via email for any reason, and
if anyone trusted and well known wants to access the berlios' tcforge
project data, just drop me a note privately I'll add as administrator to
the berlios ASAP.

I'd like to take this chance to thank here (once again) and openly all
the great people and great developers I -virtually- met, exchanged
thoughts with and read code from. 

This isn't a shutdown, however. 
I'm not withdrawing my interest nor my contribution to the project.
I still enjoying writing code for transcode, (and yes, even debugging it
and even documenting it!) so I'm definitely planning to keep going
sending contributions from time to time.

Bests,


&lt;/pre&gt;</description>
    <dc:creator>Francesco Romani</dc:creator>
    <dc:date>2010-01-31T17:17:05</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5008">
    <title>[patch] crash in ogg encoder when onlytranscoding audio</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5008</link>
    <description>&lt;pre&gt;&lt;/pre&gt;</description>
    <dc:creator>David Juran</dc:creator>
    <dc:date>2010-01-30T17:27:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5006">
    <title>The berlios incident</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5006</link>
    <description>&lt;pre&gt;
Looks like berlios.de had some serious problems:

http://lwn.net/Articles/369633/

I'm still gathering informations, but so far I don't like how the issue
was managed.

As far as I know the transcode repository (which is on hg) should'nt be
affected by this intrusion.

Bests,

&lt;/pre&gt;</description>
    <dc:creator>Francesco Romani</dc:creator>
    <dc:date>2010-01-14T21:12:31</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5005">
    <title>Hello  transcode-devel&lt; at &gt;m.gmane.org !</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5005</link>
    <description>&lt;pre&gt;&lt;/pre&gt;</description>
    <dc:creator>transcode-devel&lt; at &gt;m.gmane.org</dc:creator>
    <dc:date>2010-01-12T02:38:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5004">
    <title>Releasing 1.2.0: we're on the way.</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5004</link>
    <description>&lt;pre&gt;Hi there,

I think it's time to start the 1.2.0 release process.
This essentially means that I'm now focusing on bugfixing, documentation
and polishing only.

The 1.2.0 is a big step forward for the project. A lot of new code was
added, so a lot of bugs are lurking in the dark ready to bite.
And a lot of things needs refinement, too.

However, thanks to the recently-added versioned installation feature,
anyone can have any 1.0.x/1.1.x *and* 1.2.x version on the same machine
at the same time, and that should hopefully quicken the testing and the
adoption.

The first 1.2.0 alpha is due for the end of this month (January 2010).
Like the 1.1.0 cycle, I'm expecting a quite high number of alphas/betas
before the official final release.
The 1.1.x maintanance releases will of course be done as well.

Bests,

&lt;/pre&gt;</description>
    <dc:creator>Francesco Romani</dc:creator>
    <dc:date>2010-01-07T09:26:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/5001">
    <title>tcdemux crash.</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/5001</link>
    <description>&lt;pre&gt;Hi,

Somebody can see this bug report and the fix ?

The problem : 'tcdemux -A' crash.

Christian

,----
| Christian Marillat wrote:
| &amp;gt; Arno Schuring &amp;lt;aelschuring&amp;lt; at &amp;gt;hotmail.com&amp;gt; writes:
| &amp;gt; 
| &amp;gt; [...]
| &amp;gt; 
| &amp;gt;&amp;gt; ok, wrong example. Sorry, I should have been more explicit. This       
happens
| &amp;gt;&amp;gt; with /any/ input file, not just with /dev/null. But I figured it would
| &amp;gt;&amp;gt; be better to supply a minimal testcase.
| &amp;gt; 
| &amp;gt; Forwarded to the  transcode user mailing list.
| &amp;gt; 
| 
| Thanks. I still haven't been able to compile my own, but this is the
| backtrace without debug symbols:
| 
| #0  0xb7e12a8b in ?? () from /lib/i686/cmov/libc.so.6
| #1  0xb7e127f0 in strtol () from /lib/i686/cmov/libc.so.6
| #2  0x0804a1b8 in ?? ()
| #3  0xb7df8b55 in __libc_start_main () from /lib/i686/cmov/libc.so.6
| #4  0x08049501 in ?? ()
| 
| Since it's such a short backtrace, I decided to look into the source
| code; I'm not really sure, but I believe the bug is caused by line 218
| of tcdemux.c (see
| http://hg.berlios.de/repos/tcforge/file/0070a9c4a4c4/import/tcdemux.c ).
| The str variable is initialized at NULL but is never assigned until
| *after* the call to strtol.
| 
| I believe the fix would be to insert the line
| 
| str = optarg;
| 
| before the while(1).
`----


&lt;/pre&gt;</description>
    <dc:creator>Christian Marillat</dc:creator>
    <dc:date>2009-12-08T12:35:24</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/4991">
    <title>[HEADS UP][RFC] Changes to the trascode 1.2.0+installed tree (2/2)</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/4991</link>
    <description>&lt;pre&gt;Hi all,

I'm going to implement a couple of changes which I'm rumbling about from
a while and I 'd like to share some thoughts.

* Short summary (and quick rationale)
-------------------------------------

1) Add an option (enabled by default) to install versioned files,
enabling parallel installation, (e.g. like gstreamer et. al does).
See below for an example.
2) Get rid at least partially of our static linking mess and ship
some of our internal libraries as shared but private.
See below for an example.

NEITHER OF THE ABOVE WILL AFFECT THE avi* TOOLS!
Because they changes much more slowly and because I wanto to avoid (as
much as is possible) hurting the people who already need only them
(think the transcode-tools package).

* Discussion
------------

* 2. Libraries linking sanitization
-----------------------------------

* 2.1. Linking overload
-----------------------

I've to say that's mostly a fault of mine, but why has the _transcode main binary_
to be linked with, say, libX11, when it is import_x11.so to use it?

I'll do a deep review and sanitization of all the above, but my gut feeling suggest
it's kinda of intermangled with the point 2 below.

* 2.2. Excessive static linking considered harmful
--------------------------------------------------

That's most a developer thing. I'm pretty sick and tired of the oddities of
our current linking model.
My impression (no numbers, so I'm likely wrong) is that doesn't save us from
the bloat, and for sure it's clumsy and has a fair number of rough edges.

For the best that I can remember, and as far as I know, such model never come
out from a precise design, but it has some good points on his side.

The key bonus of our current model is that is pointless to ship on the system 
dirs librararies  that noone else uses. There is little or no advantage in having, say,
/usr/lib/libtc.so.1
since only the tc* stuff will use it.

On the other hand, since more than on program use such library, there is room
for having it shared. Having the libtc* stuff shared and the tc* programs link to them
will save a fair number of headaches and annoyances (at least to me).
How to match those two aspects?


* 2.3. Proposed solution
------------------------

The solution of the dilemma: 
- ship most of internal libraries as shared
- install them on /usr/lib/transcode-1.2.
- ship the binaries on /usr/libexec/transcode-1.2, linked to the above
- ship an helper program into /usr/bin, which will basically do something like

%%%
#!/bin/bash
# tclaunch

EXE="$0"
if  [ "$EXE" == "tclaunch" ]; then
EXE="$1"
shift
fi
EXE=$( basename $EXE )

LD_LIBRARY_PATH="/usr/lib/transcode-$VER:$LD_LIBRARY_PATH"

exec /usr/libexec/transcode-$VER/$EXE $*
%%%

- ship all the (hard)links needed, e.g.

tcdecode-1.2 -&amp;gt; tclaunch-1.2
transcode-1.2 -&amp;gt; tclaunch-1.2


I know there are better and more elegant solution involvingthe ELF header and the RPATH/RUNPATH field,
but I think tha above is the most portable and debuggable, since AFAIK we got a fair MacOsX userbase
and since I had no reliable access to any OSX box (neither I'll have into the foreseeable future)
I don't want to harm them unless it becomes absolutely unavoidable.

Why I said "most of the internal libraries"?
In my opinion, the above will not apply to all libraries. aclib comes to mind as the prominent
(and maybe only) example of a library which will be still used as static only, as it is speed critical.

The avi* tools will still link only static libraries as said above.


For point #1 of the above, see the previous email.

Comments and discussion always welcome.

&lt;/pre&gt;</description>
    <dc:creator>Francesco Romani</dc:creator>
    <dc:date>2009-12-05T10:40:11</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/4990">
    <title>[HEADS UP][RFC] Changes to the trascode 1.2.0+installed tree (1/2)</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/4990</link>
    <description>&lt;pre&gt;Hi all,

I'm going to implement a couple of changes which I'm rumbling about from
a while and I 'd like to share some thoughts.

* Short summary (and quick rationale)
-------------------------------------

1) Add an option (enabled by default) to install versioned files,
enabling parallel installation, (e.g. like gstreamer et. al does).
See below for an example.
2) Get rid at least partially of our static linking mess and ship
some of our internal libraries as shared but private.
See below for an example.

NEITHER OF THE ABOVE WILL AFFECT THE avi* TOOLS!
Because they changes much more slowly and because I wanto to avoid (as
much as is possible) hurting the people who already need only them
(think the transcode-tools package).

* Discussion
------------

* 1. versioned installation
---------------------------

In order to foster and/or make easier the 1.2.0 spread, and also to fix
of some major annoyances when installing more than one transcode (e.g.
for development), the idea is to install executables, plugin dir and
documentation with the version number embedded.

Example of the new proposed installation tree

${TRANSCODE_PREFIX}
|-- bin
|   |-- avi*
|   |-- tccat-1.2
|   |-- tcdecode-1.2
|   |-- tcmodinfo-1.2
|   |-- ...
|   `-- transcode-1.2
|-- lib
|   `-- transcode-1.2
|       `-- *.so
`-- share
    |-- doc
    |   `-- transcode-1.2
    |-- man
    |   `-- man1
    |       |-- avi*
    |       |-- tccat-1.2.1
    |       |-- tcdecode1.2.1
    |       |-- transcode-1.2.1
    |       |-- ...
    |       `-- transcode_import-1.2.1
    `-- transcode-1.2
        |-- modules.cfg
        `-- profiles
            |-- dvd-ntsc.cfg
            |-- dvd-pal.cfg
            |-- svcd-ntsc.cfg
            |-- svcd-pal.cfg
            |-- vcd-ntsc.cfg
            |-- vcd-pal.cfg
            |-- xvcd-ntsc.cfg
            `-- xvcd-pal.cfg

I've to figure out some details about the manpages, but that's the core
idea. I think given the fact that an option is provided to use the old
unversioned scheme, this change should be much more worth than
trouble :)

Of course modules (e.g. import_mpeg2) will use the versioned name if
avalaible.

For point #2 of the above, see the next email.

Comments and discussion always welcome.

&lt;/pre&gt;</description>
    <dc:creator>Francesco Romani</dc:creator>
    <dc:date>2009-12-05T10:13:51</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/4989">
    <title>plans for 1.2.0 and beyond</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/4989</link>
    <description>&lt;pre&gt;Hi there,

I'd like to outline and of course discuss my plans for the near future
of the project.

Before to start I'd like to spend some words about the recent lack of
updates about development. The explanation is pretty simple: real life
job :) which is, unfortunately for the project, completely unrelated to
opensource multimedia processing. 


That's all. Back to transcode.

Executive Summary
==================

Back to transcode. The last status report is here:
http://tcforge.berlios.de/archives/2009/07/29/1_2_0_status_report_200907/index.html
(And I'll hopefully update the website soon with a new status report).

The good news is the development for the 1.2.0 is pretty much done as we
now have into HG all the planned features plus some goodies (e.g. the
module registry).

However, a lot of code was added/changed, so a fair amount of testing
-and debug- is still needed before the 1.2.0 released. The alpha/beta
cycle will be, I guess, as very least as long as the 1.1.0 one.

Add to that the fact that my hacking time is ridicoulosly low those days
(and yes, that will not change into the foreseeable future).

But that, is pretty much for the bad news department.


Short term goals
================

* Bug squashing. We already have a fair amount of bug reported on the
berlios.de bugtracker and they of course should be squashed.
* Testing of the modules. Pretty straightforward :)
The following combos first, then any other:
streamdump: copy/copy/y4m/wav
rawdump: copy/copy/raw
xvid: xvid/lame/avi [*]
avilavc: lavc/lame/avi [*]
lzorec: lzo/copy/avi [*]
gmjpeg: im/copy/avi
gmdump1: im/null/raw
gmdump2: im/copy/raw
xiph: theora/vorbis/ogg [*]
mpegogg: xvid/lame/ogg
xiphmpeg: xvid/vorbis/ogg

The one marked with the `*' seems already to work decently as far as I
know.
* also the new module registry and profile support system deserve some
attention.


Expected timeline
=================

Expect nothing significant will happen (massive bug squashing, fixes,
any release) before 2009/2010 Xmas holidays for the reasons outlined
above. The first 1.2.0 alpha will hopefully be released into the first
half of January 2010.


Medium term goals
=================
(aka: this is supposed to be also a FUN project!)

I'd like to add some (highly) experimental new stuff to the mixture
which I'm revolving around for a while, of course market with
ENABLE_EXPERIMENTAL, NOT built by default and without hurting the
existing feature set. Without a particular order:

* mpeglib. Yes, THAT pet-peeve project of mine started back in 2005 (!!)
* (Native) DVB support
* better framegen/new framegen algos.
* auto-built (no need for samples) testsuite using framegen
* bundled GUI
(http://tcforge.berlios.de/archives/2009/08/14/early_preview/index.html)
[HELP NEEDED!]


Long term goals
===============

Yes, there are plans for 1.3.0 too.
The key features are:
* Import layer ported to NMS, 
* REAL passthrough support
* better Sync correction/handling (that will not be easy)


&lt;/pre&gt;</description>
    <dc:creator>Francesco Romani</dc:creator>
    <dc:date>2009-11-29T16:37:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/4983">
    <title>typo in detecting native videodev2.h</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/4983</link>
    <description>&lt;pre&gt;Hello.

I noticed there is a typo in the detection of the native videodev2.h causing it always to fail.

--- transcode-1.1.5/acinclude.m4.fix_v4l        2009-10-31 18:39:02.000000000 +0200
+++ transcode-1.1.5/acinclude.m4        2009-11-01 20:55:17.000000000 +0200
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -189,7 +189,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; if test x"$enable_v4l" = x"yes" ; then
 #include &amp;lt;linux/videodev2.h&amp;gt;
 ],   [
 struct v4l2_buffer buf;
-buffer.memory = V4L2_MEMORY_MMAP
+buf.memory = V4L2_MEMORY_MMAP
 ],    [AC_DEFINE([HAVE_STRUCT_V4L2_BUFFER], 1,
         [define if your videodev2 header has struct v4l2_buffer])
         AC_MSG_RESULT([yes])],


&lt;/pre&gt;</description>
    <dc:creator>David Juran</dc:creator>
    <dc:date>2009-11-01T19:32:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/4982">
    <title>[ANNOUNCE] transcode 1.1.5 released</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/4982</link>
    <description>&lt;pre&gt;Hi,

I'm pleased to announce the release of transcode 1.1.5.

This is the fifth maintenance release of the 1.1.x branch.
As a stable branch, the 1.1.x releases will feature mostly bug fixes, tweaks and module
updates, with minor changes needed to follow API changes -if any- of the underlying
libraries (e.g., ffmpeg).

The focus of this release is an handful of minor feature enhancements.

+++

You can read the release announce here:
http://tcforge.berlios.de/archives/2009/11/01/transcode_1_1_5/index.html

Terse ChangeLog:

Key:
[+] feature added
[!] bugfix of an existing feature
[*] change/improvement (not bugfix) of an existing feature
[-] feature dropped

===========================================================================
transcode-1.1.5
---------------
[*] Add a special-crafted import module targeting webcams using libv4l.
[!] Fixed the colorspace detection into import_v4l2.
[*] tcdemux: drop the builtin limit of streams selectable for passthrough.
[*] Fixed the x264 module to work with libx264 &amp;gt;= 76.
[*] Update the video stabilization plugins to version 0.61.
[*] Made libmpeg2 an optional dependency (libmpeg2convert is needed too).
===========================================================================

For some unknown reason, looks like the 1.1.4 announcement got lost (it happened again!).
So, I'm re-posting the 1.1.4 terse changelog here:

===========================================================================
transcode-1.1.4
---------------
[!] Fixed the build system to comply with autoconf 2.64.
[!] Fixed bugs: #16046
===========================================================================

Download from:
http://developer.berlios.de/project/showfiles.php?group_id=10094


Bests,

&lt;/pre&gt;</description>
    <dc:creator>Francesco Romani</dc:creator>
    <dc:date>2009-11-01T13:30:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/4978">
    <title>stabilization plugin 0.61 patch</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/4978</link>
    <description>&lt;pre&gt;Hi,

please find attached a patch for 1.1.x hg branch to update the stabilization 
plugin to the most recent development. This should also apply to 1.2.0. I 
could not test it because 1.2.0 didn't work for me.
(Patch created with hg export)

New features are
 - measurement fields with low contrast are ignored
 - optional drawing of measurement fields and detected transformations in 
stabilization run (first pass)
- zooming to get rid of jiggling borders (there is also an automatic mode)
- sharpening of the stabilized movie to compensate for interpolation effects 
due to rotation/zooming

More info and sample videos at [1].

I have some questions:
1) Both of my plugins use the new filter interface. However tc_modinfo -i 
transform uses the inspect function whereas tc_modinfo -i stabilize calls the 
configure function with option "help". This is really confusing.
2) The transcode_filter manpage does not include the plugins. Can I do 
something about it.

Regards,
Georg

[1] http://public.hronopik.de/vid.stab/

&lt;/pre&gt;</description>
    <dc:creator>Georg Martius</dc:creator>
    <dc:date>2009-10-26T12:12:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/4968">
    <title>what works in trunk?</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/4968</link>
    <description>&lt;pre&gt;I would like to start testing the python bindings to make a tester,
but first I want to get something working on the command line, but my
2 tires at that failed.  so what should work?

&lt;/pre&gt;</description>
    <dc:creator>Carl Karsten</dc:creator>
    <dc:date>2009-09-19T17:43:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/4967">
    <title>debian/ tweaks -</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/4967</link>
    <description>&lt;pre&gt;This is mainly for Christian, or anyone maintaining the debian packaging.

I got trunk to build on karmic.  The changes are basically:
1. adjust list of files installed
2. pull out the too/twolame stuff.
This shows what I did, and what 02_toolame.diff is/was.

diff transcode-1.1.4/debian/install transcode-trunk/debian/install
12a13,16
14a19,20
23d28
&amp;lt; usr/share/man/man1/tcpvmexportd.1
29a35,36


diff transcode-1.1.4/debian/rules transcode-trunk/debian/rules
83,84c83,84
&amp;lt; mv debian/transcode/usr/lib/transcode/export_toolame.so \
&amp;lt; debian/transcode/usr/lib/transcode/export_twolame.so
---
86,87c86,87
&amp;lt; dh_link -ptranscode usr/lib/transcode/export_twolame.so \
&amp;lt; usr/lib/transcode/export_toolame.so
---

diff transcode-1.1.4/debian/patches/series transcode-trunk/debian/patches/series
2d1
&amp;lt; 02_toolame.diff

02_toolame.diff:
Index: transcode-1.1.2/export/export_toolame.c
===================================================================
--- transcode-1.1.2.orig/export/export_toolame.c2009-06-05
10:06:07.000000000 +0200
+++ transcode-1.1.2/export/export_toolame.c2009-06-05 10:08:40.000000000 +0200
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -24,7 +24,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  *
  */

-#define MOD_NAME    "export_toolame.so"
+#define MOD_NAME    "export_twolame.so"
 #define MOD_VERSION "v1.0.6 (2004-01-26)"
 #define MOD_CODEC   "(audio) MPEG 1/2"

&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +39,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 static int verbose_flag= TC_QUIET;
 static int capability_flag= TC_CAP_PCM;

-#define MOD_PRE toolame
+#define MOD_PRE twolame
 #include "export_def.h"

 static FILE* pFile = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -85,8 +85,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     char chan;
     char *ptr;

-    /* check for toolame */
-    if (tc_test_program("toolame") != 0) return (TC_EXPORT_ERROR);
+    /* check for twolame */
+    if (tc_test_program("twolame") != 0) return (TC_EXPORT_ERROR);

     /* verbose? */
     verb = (verbose &amp;amp; TC_DEBUG) ? 2:0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -123,10 +123,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     ofreq_dec = ofreq-ofreq_int*1000;
     */

-    /* toolame command line */
+    /* twolame command line */
     /* ptr is a pointer into buf */
     tc_snprintf(ptr, sizeof(buf) - (ptr-buf),
-"toolame -s %0.3f -b %d -m %c - \"%s\" 2&amp;gt;/dev/null %s",
+"twolame -s %0.3f -b %d -m %c - \"%s\" 2&amp;gt;/dev/null %s",
 (double)ofreq/1000.0, orate, chan, vob-&amp;gt;audio_out_file,
 (vob-&amp;gt;ex_a_string?vob-&amp;gt;ex_a_string:""));



&lt;/pre&gt;</description>
    <dc:creator>Carl Karsten</dc:creator>
    <dc:date>2009-09-19T16:42:06</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.transcode.devel/4966">
    <title>SIGSEGV in avcodec_close</title>
    <link>http://comments.gmane.org/gmane.comp.video.transcode.devel/4966</link>
    <description>&lt;pre&gt;juser&amp;lt; at &amp;gt;dhcp232:~/tc$ gdb transcode
GNU gdb (GDB) 6.8.50.20090628-cvs-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
&amp;lt;http://www.gnu.org/software/gdb/bugs/&amp;gt;...
(gdb) run -i x.dv -y V=x264,A=lavc,M=avi -o test.mp4
Starting program: /usr/local/bin/transcode -i x.dv -y
V=x264,A=lavc,M=avi -o test.mp4
[Thread debugging using libthread_db enabled]
transcode v1.2.0-dev3 (C) 2001-2003 Thomas Oestreich, 2003-2009 Transcode Team
libdvdread: Encrypted DVD support unavailable.
************************************************
**                                            **
**  No css library available. See             **
**  /usr/share/doc/libdvdread4/README.Debian  **
**  for more information.                     **
**                                            **
************************************************
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdread: Encrypted DVD support unavailable.
************************************************
**                                            **
**  No css library available. See             **
**  /usr/share/doc/libdvdread4/README.Debian  **
**  for more information.                     **
**                                            **
************************************************
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
[transcode] V: auto-probing     | x.dv (OK)
[transcode] V: import format    | DigitalVideo in unknown (module=dv)
[transcode] A: auto-probing     | x.dv (OK)
[transcode] A: import format    | PCM in unknown (module=dv)
[transcode] V: AV demux/sync    | (1) sync AV at initial MPEG sequence
[transcode] V: import frame     | 720x480  1.50:1  encoded &amp;lt; at &amp;gt; 4:3
[transcode] V: bits/pixel       | 0.174
[transcode] V: decoding fps,frc | 29.970,4
[transcode] V: video format     | YUV420 (4:2:0) aka I420
[transcode] A: import format    | 0x1     PCM          [48000,16,2] 1536 kbps
[transcode] A: export format    | 0xffffffff unknown      [48000,16,2]  128 kbps
[transcode] V: export format    | (null)
[transcode] V: encoding fps,frc | 25.000,3
[transcode] A: bytes per frame  | 7680 (7680.000000)
[transcode] A: adjustment       | 0&amp;lt; at &amp;gt;1000
[transcode] H: worker threads   | 2 (2 hardware)
[transcode] H: IA32/AMD64 accel | sse3 sse2 sse mmx cmove asm
[transcode] V: video buffer     | 10 &amp;lt; at &amp;gt; 720x480 [0x30323449]
[transcode] A: audio buffer     | 10 &amp;lt; at &amp;gt; 48000x2x16
[import_dv.so] v0.3.1 (2003-10-14) (video) DV | (audio) PCM
[encode_lavc.so] v0.1.1 (2009-02-07) libavcodec based encoder (Lavc52.20.0)
[encode_x264.so] v0.3.2 (2009-07-31) x264 encoder
[multiplex_avi.so] v0.1.0 (2009-02-07) create an AVI stream using avilib
[New Thread 0x7fffe1545910 (LWP 22330)]
[New Thread 0x7fffe0d44910 (LWP 22331)]
[New Thread 0x7fffe0543910 (LWP 22332)]
[New Thread 0x7fffdfd42910 (LWP 22333)]
[New Thread 0x7fffdf541910 (LWP 22334)]
[import_dv.so] tcextract -x dv -i "x.dv" -d 0 | tcdecode -x dv -y pcm -d 0
[import_dv.so] tcextract -x dv -i "x.dv" -d 0 | tcdecode -x dv -y
yuv420p -d 0 -Q 5
[New Thread 0x7fffded40910 (LWP 22341)]
[New Thread 0x7fffde53f910 (LWP 22342)]
[encode_x264.so] warning: Error opening configuration file x264.cfg:
No such file or directory
[encode_x264.so] set display aspect ratio to input
[encode_x264.so] using SAR=1/1
[encode_x264.so] using cpu capabilities: MMX2 SSE2
[encode_x264.so] profile Main, level 3.0
[encode_lavc.so] using video codec 'mp2'
encoding 0 channel(s) is not allowed in mp2
[encode_lavc.so] critical: avcodec_open() failed

Program received signal SIGSEGV, Segmentation fault.
0x00007fffe3454be4 in avcodec_close () from /usr/lib/libavcodec.so.52
(gdb) bt full
#0  0x00007fffe3454be4 in avcodec_close () from /usr/lib/libavcodec.so.52
No symbol table info available.
#1  0x00007fffe3dd7c6d in tc_lavc_stop_audio (self=0x6910e8)
    at encode_lavc.c:1418
No locals.
#2  tc_lavc_stop (self=0x6910e8) at encode_lavc.c:1436
        pd = 0x698270
#3  0x00007fffe3dd9ee8 in tc_lavc_configure (self=0x6910e8,
    options=0x67de00 "", vob=0x68e010, xdata=&amp;lt;value optimized out&amp;gt;)
    at encode_lavc.c:1605
No locals.
#4  0x0000000000429f1c in tc_module_configure (enc=0x677e80,
    vid_xdata=&amp;lt;value optimized out&amp;gt;, aud_xdata=0x677f20)
    at ../libtcmodule/tcmodule-core.h:65
No locals.
#5  tc_encoder_open (enc=0x677e80, vid_xdata=&amp;lt;value optimized out&amp;gt;,
    aud_xdata=0x677f20) at encoder.c:133
        xdata = {0x677f20, 0x0}
        options = 0x0
        ret = &amp;lt;value optimized out&amp;gt;
#6  0x000000000040cccf in transcode_mode_default (argc=7, argv=0x7fffffffe688)
    at transcode.c:518
        vob = 0x68e010
        tstart = &amp;lt;value optimized out&amp;gt;
        th_num = 2
#7  main (argc=7, argv=0x7fffffffe688) at transcode.c:2605
        sigs_to_block = {__val = {16386, 0 &amp;lt;repeats 15 times&amp;gt;}}
        psubase = 0x0
        fch = &amp;lt;value optimized out&amp;gt;
        asr = 1.5
        ret = &amp;lt;value optimized out&amp;gt;
        leap_bytes1 = &amp;lt;value optimized out&amp;gt;
        leap_bytes2 = &amp;lt;value optimized out&amp;gt;
        info = &amp;lt;value optimized out&amp;gt;
        specs = {frc = 4, width = 720, height = 480, format = 808596553,
          rate = 48000, channels = 2, bits = 16, samples = 0}
(gdb)


&lt;/pre&gt;</description>
    <dc:creator>Carl Karsten</dc:creator>
    <dc:date>2009-09-19T07:34:35</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.video.transcode.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.video.transcode.devel</link>
  </textinput>
</rdf:RDF>

