Użytkownik Zdenek Kabelac <[EMAIL PROTECTED]> napisał:
>> My setup is Duron 600, gcc 2.95.4 20011002 (Debian prerelease) on Debian woody.
>> 
>> 1. When I compile with avifile default cpu/arch settings for my computer (mcpu=i686)
>> I get a segfault while using ffmpeg (just setting the mcpu (!) seems to be 
>> sufficient to cause this problem).
>> Recompiling plugins/libffmpeg/ with mcpu=i586 solves this problem.
>> Did you hear about anyone else with similar problem?
>
>Might be some bug in architecture detection ??
>But somehow tha target i686 is most probably being detected on your system
>and I assume it\'s correct. Maybe thre is potential bug in compliler
>which noone is noticing (I\'m using gcc-3.3 - so users withiht
>different compiler have to report)
>You may try to use:  --without-pic option - ithis code path should
>be slightly more tested and also it will be faster on x86 architecture ;)
>

Thanks, I will try it.
I think mcpu=i686 should work on all x86 machines (well at least >=386). 
Note that above is not a problem for me - I can compile with gcc3 (I have it 
installed) or just sed the makefile (actually I already have a script for it :-) ). I 
just reported it so that you have less work when someone else complains about it.
I think I will try to check the generated .so file on other machine (Intel, which is 
hard, since all my Linux friends have AMDs :-) ) - this should rule out the potential 
compiler problem.



>
>> 2. Avirec sometimes produces a file which is not playable by aviplay. Both video 
>> and audio streams playback is affected - it seems that only some of the frames are 
>> played. Xine copes with such avi files without problems. I have a sample avi (~200 
>> KB) for those willing to work on it.
>
>Send me this file via email please.
>

OK. You should have it in your mailbox by now.

>> 3. Some (well, most, if thruth be told) of the AVI+AC3 files don\'t play back 
>> properly on hardware decoder. It seems that there is some demuxer problem for ac3 
>> stream. ac3 plugin tries to resync the stream and half of the frames is lost, which 
>> affects the sound quality considerably :-).  The funny thing is that software 
>> decoder works fine. Xine plays those files without problems (both hardware and 
>> software).
>
>Well I\'ve been writing hw decoder long time ago  - I\'ll try to borrow
>friends yamaha to recheck how it works - it might be somehting really stupid
>most probably as from time time some interfaces are internaly changed
>some bug may haev been introduced this way.
>

I've attached a patch (against 0.7.37) which fixes this bug. The problem is that 
minimum frame size was miscalculated for the passthrough plugin - calculated value was 
833, and the frames that were sent to the decoder were 1280 bytes long. This caused 
sort of "buffer overrun" where the amount of data read from the buffer was greater 
than the amount guaranteed to be there. Some of the frames were dropped because of 
that.
Good luck with the aviplay problem.

bye,

Przemek

>
>> This is sort of initial bug request and I am prepared to give any kind of more 
>> detailed information if you want to. If nobody is working/willing to work on those 
>> problems I can give them a try.
>
>Well if you could check eventually what\'s up with hw decoder (some timning
>issue) it might be helpfull though I believe it will be something very simple
>if I\'ll check it myself...
>
>
>-- 
>  .\'\'`.
> : :\' :    Zdenek Kabelac  [EMAIL PROTECTED], users.sf.net, fi.muni.cz}
> `. `\'           Debian GNU/Linux maintainer - www.debian.{org,cz}
>   `-
>
>_______________________________________________
>Avifile mailing list
>[EMAIL PROTECTED]
>http://prak.org/mailman/listinfo/avifile
>
diff -ur /mnt/devel/multimedia/avifile0.7-0.7.37/include/audiodecoder.h 
avifile0.7-0.7.37/include/audiodecoder.h
--- /mnt/devel/multimedia/avifile0.7-0.7.37/include/audiodecoder.h      Mon Apr 21 
00:07:57 2003
+++ avifile0.7-0.7.37/include/audiodecoder.h    Thu Jun  5 23:52:54 2003
@@ -56,6 +56,7 @@
      */
     virtual int SetOutputFormat(const WAVEFORMATEX* destfmt);
 protected:
+    static const uint_t MIN_AC3_CHUNK_SIZE = 16384;
     const CodecInfo& m_Info;
     WAVEFORMATEX* m_pFormat;
     int m_uiBytesPerSec;
diff -ur /mnt/devel/multimedia/avifile0.7-0.7.37/plugins/libac3pass/libac3pass.cpp 
avifile0.7-0.7.37/plugins/libac3pass/libac3passcpp
--- /mnt/devel/multimedia/avifile0.7-0.7.37/plugins/libac3pass/libac3pass.cpp   Tue 
May 20 16:25:09 2003
+++ avifile0.7-0.7.37/plugins/libac3pass/libac3pass.cpp Thu Jun  5 23:56:08 2003
@@ -59,6 +59,12 @@
 
        return 0;
     }
+    
+    uint_t GetMinSize() const
+    {
+       return MIN_AC3_CHUNK_SIZE;
+    }
+    
     int GetOutputFormat(WAVEFORMATEX* destfmt) const
     {
        if (!destfmt)
diff -ur /mnt/devel/multimedia/avifile0.7-0.7.37/plugins/libffmpeg/FFAudioDecoder.h 
avifile0.7-0.7.37/plugins/libffmpeg/FFAudioDecoder.h
--- /mnt/devel/multimedia/avifile0.7-0.7.37/plugins/libffmpeg/FFAudioDecoder.h  Sun 
May 11 23:28:54 2003
+++ avifile0.7-0.7.37/plugins/libffmpeg/FFAudioDecoder.h        Thu Jun  5 23:52:38 
2003
@@ -8,7 +8,6 @@
 
 class FFAudioDecoder: public IAudioDecoder
 {
-    static const uint_t MIN_AC3_CHUNK_SIZE = 16384;
     AVCodec *m_pAvCodec;
     AVCodecContext* m_pAvContext;
 public:

Reply via email to