Commit Graph

8500 Commits

Author SHA1 Message Date
Stephan Aßmus
954d70d8c0 * Renamed fAudioTempPacket to fTempPacket and use it for calling
the new video decoding function. This just avoids a warning
   generated from the libavcodec sources. The function used before
   did the exact same thing...
 * Maintain fStartTime correctly in _DecodeVideo(). Don't overwrite
   it with a calculated starttime in Decode(). This will allow drift
   to bubble up to the higher layers.
 * Do not use the previously required hack to close and reopen the
   AVCodec after seeking. avcodec_flush_buffers() seems to work
   fine now, and for certain stream types (MPEG1, MPEG2 video for
   example) the keyframe is correctly used after seeking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-24 16:40:56 +00:00
Clemens Zeidler
a2336b86cc Round the the window move target positions, this should fix jumping windows.
Coding style.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 22:27:31 +00:00
Stephan Aßmus
c1e73fbf52 Enabled any and all decoders and demuxers which are currently compiled into
FFmpeg. It's a bit sad, but this obsoletes pretty much all other decoder
and reader plugins. Some of them were built on external libraries as well
(AC3 (not part of default image anyway, since it's GPL), APE, MusePack),
so it's not really a big difference to using FFmpeg as external library.
The format matching is greatly simplified by using B_MISC_FORMAT_FAMILY
for everything but raw audio, and the actual FFmpeg CodecID as codec tag.
The downside of this is that the AVFormatReader can no longer be used with
other decoder plugins, but it would be easy to add special cases for native
decoders we wish to support. Obviously the out of the box support for file
formats and decoders has greatly increased with this change, so there has
to be a pretty good reason now for writing a "native" decoder or reader.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 11:10:51 +00:00
Stephan Aßmus
d62aaeb68d * Changed pretty extractor names to sentence casing.
* Enabled SWF demuxer in FFmpeg (though the one test file
   I have is compressed, which is not supported by the FFmpeg
   SWF demuxer...).
 * Removed testing TODOs for demuxers that I tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 16:00:50 +00:00
Stephan Aßmus
5051e989f6 Committed more than I intended to in the last commit. Sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 19:05:06 +00:00
Stephan Aßmus
b145959bdd * Use the same GCC flags for GCC4 that configure in the FFmpeg source
itself generates.
 * For GCC2, FFmpeg uses -fPIC instead of -DPIC. Also disable SSE for
   GCC2, since that fixes a crash in the SSE version of clear_block().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 19:03:03 +00:00
Stephan Aßmus
d3aadcff6c In FFmpeg SVN r22715 (I suppose), there was an optimization done to
speed up VLC table (whatever it is) initialization. Somehow the code
does not work on GCC2. Use the old code we had previously in SVN
minus a flag (INIT_VLC_USE_STATIC) which is no longer used in FFmpeg.
This fixes the GCC2 build of FFmpeg and closes Ã#6643, #6582 and #656.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 18:24:31 +00:00
Stephan Aßmus
e111b1c12f For GCC2, the FFmpeg configure script is generating a slightly
different config.h, of which I am adapting the differences in this
commit. Does not change a thing for the broken GCC2 build of FFmpeg.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 18:01:22 +00:00
Jérôme Duval
cceb9427a8 Updated iprowifi4965 based on iwn FreeBSD 8.1.0 with the following changes:
* added more firmware to be used by the driver and updated the old one.
* avoid the switch to using ICT interrupt mode (dunno what it implies on Haiku)
* commented ieee80211_ratectl_*() calls. They can be uncommented when we support them.
* added ieee80211_ratectl.h with functions commented out
Switch to using ICT interrupt mode


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 23:18:06 +00:00
Jérôme Duval
64bf10e2aa added several firmwares for the iprowifi4965 driver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 22:02:21 +00:00
Clemens Zeidler
7306ba0448 Watch the window look and remove a window from a S&T group if the look changed to B_NO_BORDER_WINDOW_LOOK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 21:46:42 +00:00
Clemens Zeidler
3ae8f84c3d Better check if the area exist.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 21:41:53 +00:00
Clemens Zeidler
e0c538ed7d A decorator can change during the lifetime of a window so get a fresh decorator every time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 21:08:47 +00:00
Clemens Zeidler
a4dab27fab Fix crash #6615 and #6566.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 20:54:06 +00:00
Clemens Zeidler
cc4f4ca5f8 Don't try to split a group if there is still a window stacked in a WindowArea.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 20:25:29 +00:00
Clemens Zeidler
6f4b6e915b Also change it in S&T.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 20:24:19 +00:00
Matt Madia
d0e8dc2469 Applied patch (with minor edits) by lukove. Adds device id's for
"GMA_X4500_VGA" to intel_extreme. Fixes #6641. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 18:43:21 +00:00
Stephan Aßmus
6df16a01ed * Seeking by bytes works mostly correctly now. In some
mpgs, the video does not recover, though.
 * Remember the last reported keyframe information, so we
   avoid rounding artifacts. Not as effective, since we
   cannot use stream time-base for seeking, but have to use
   it for finding the keyframes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 15:11:50 +00:00
Stephan Aßmus
2e54e93fbf Finall changed the Seek() method of Decoder plug-ins to
SeekedTo(), since it's only informative to decoders. They
can't modify the seeked frame/time. This also mirrors what
all existing decoders were doing in Seek(). BMediaTrack
is simplified accordingly (resolved two TODOs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 14:44:22 +00:00
Fredrik Holmqvist
1f2f3e8c8f Fix for gcc2 hopefully, only have gcc4 here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 10:07:08 +00:00
Fredrik Holmqvist
8f29d08eba Perhaps telling ACPI that we are in PIC mode might temporarily remedy a few of the irq-related issues.
(This is just until we do proper irq-handling)

On my machines it works either way so I'd like to get feedback on this.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 08:58:58 +00:00
Rene Gollent
4f9892e0f8 Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 18:21:54 +00:00
Stephan Aßmus
3c0f00c5ec * Theoretically implemented seeking by bytes,
if the input format requires it. Practically,
   it does not work.
 * Implement the new meta-data API.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 08:06:55 +00:00
Clemens Zeidler
d256161aec Calculate a better size limit in a stacking group.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 05:46:13 +00:00
Clemens Zeidler
dcbc4af5d1 - Add size limit changes to the listener interface.
- Update size limit constraints in S&T only if necessary.
- Header style fixes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 04:04:02 +00:00
Clemens Zeidler
d2cf4da51f Fix min/max size calculation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 01:10:13 +00:00
Clemens Zeidler
5733bbb94b If the constraints are infeasible don't move the windows because the target positions are not valid. Partially fix #6631.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 22:02:17 +00:00
Stephan Aßmus
8a7cbd8350 Always ignore found index entries after we detect
the stream is building the index on the fly once.
This allows to seek back to earlier positions, since
then the index will contain entries for later in the
stream and the logic to detect auto-generated indices
was broken.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 15:27:16 +00:00
Stephan Aßmus
7b61b6b8e4 Finally: Seeking audio in MKV files works when seeking the
muxer by the "default" stream. When I previously tried this,
I mistakenly remembered AV_TIME_BASE to be 1000, but it's
1000000, the same as the native bigtime_t time representation.
Luckily, we can still set all other streams (including the
"default" stream) to be discarded when obtaining chunks
packets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 15:13:24 +00:00
Stephan Aßmus
6936b3ba4f Added support for bz2 compressed stuff in Matroska containers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 13:57:33 +00:00
Stephan Aßmus
51802669a5 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 13:56:12 +00:00
Stephan Aßmus
2baccbd9fb Fix retrieving the frame rate for real. Apparently
it can be any of these values, hope the priority is right.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-15 16:32:44 +00:00
Stephan Aßmus
31879da81c Use the correct field of the AVStream for the video
frame rate (perhaps it changed in 0.6?). This fixes
playback of several MP4 clips I have for testing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-15 08:35:47 +00:00
Clemens Zeidler
caefa86759 Fix highlighting of the tiling parents.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-15 05:24:54 +00:00
Stephan Aßmus
5a6b18e914 * Print the performance stats every five frames, and reset
the counters, so it's not the average for the entire
   decoding time, but for the last five frames. This gives
   a more accurate picture of what's going on.
 * Added NOTE about possibly removing the SWS version of the
   colorspace conversion code unless it's used for otherwise
   unsupported conversions. David's code is about 40% faster
   in my tests (nice job!).
 * Free the sws context in NegotiateVideoFormat, if necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 18:43:58 +00:00
Alex Wilson
361babfb26 Update ICO Translator to use the Layout API. Fixes #6525
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 18:22:14 +00:00
Stephan Aßmus
5021eb2421 Removed the "native" ogg, vorbis, theora and speex plugins in favor
of support for these codecs and demuxer in the FFmpeg plugin. The
ogg test streams I downloaded play fine now. For example, Big Buck Bunny
would play without video before and ogg files natively encoded with the
FFmpeg plugin wouldn't play at all. Since the removed plugins were not
maintained and were based on external libs themselves, I didn't see the
point in keeping them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 12:32:04 +00:00
Stephan Aßmus
594039f10d Imported libspeex 1.2rc1 for use in libavcodec's libspeexdec.c.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 12:24:09 +00:00
Clemens Zeidler
727c8ba2c9 Improve min constraints and add max constraints, not perfect yet but much better then before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 05:23:05 +00:00
Stephan Aßmus
73e5249c79 * Enabled libvorbis and libtheora encoders in FFmpeg
* Enabled ogg muxer in MuxerTable.

ogg/vorbis creation successfully tested with MediaConverter.
ogg/theora needs more testing, it seems to work, but I need
to switch from the other vorbis/theora/ogg plugins to the
FFmpeg built-in support, otherwise the current theora stream
is not supported by the old plugin.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-13 20:25:24 +00:00
Stephan Aßmus
0640823932 Added libtheora 1.1.1 into FFmpeg folder as libtheora_ffmpeg.a
in order not to clash with the old libtheora in the theora plugin.
x86 CPU optimizations are only compiled for GCC4.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-13 20:23:08 +00:00
Stephan Aßmus
d45314ec30 Added libvorbis 1.3.1 into FFmpeg plugin folder. Target name is libvorbis_ffmpeg.a
in order not to clash with the old libvorbis in the vorbis plugin. I plan to remove
that one after I've done more testing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-13 20:21:08 +00:00
Stephan Aßmus
611ab2d824 Added libogg 1.2.0 into FFmpeg plugin folder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-13 20:18:06 +00:00
Stephan Aßmus
bc04b5141e Disable float_to_int16_interleave_sse2 in favor of
float_to_int16_interleave_sse, since it crashes for reasons
I would have no clue about. Fixes a few duplicated tickets,
which I'll have to sort out later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-13 18:27:49 +00:00
Stephan Aßmus
5393fabac1 Disable some annoying debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-13 16:19:07 +00:00
Stephan Aßmus
0b1bbe06ac Small coding style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-13 16:02:52 +00:00
Clemens Zeidler
40c0ae4804 Only search for new snapping parents if there is also a snapping candidate. Thanks Humdinger for finding this bug.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-12 22:40:08 +00:00
Matt Madia
a0077c2456 Patch by idefix: Add support for five different Bamboo devices. Closes #6108.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-12 12:42:17 +00:00
Matt Madia
de456baf0e Patch by michaelvoliveira: Add detection/support for
Nvidia Geforce 7025 / nForce 630a. Fixes #6557.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-12 12:35:01 +00:00
Fredrik Holmqvist
26c1992a9a Patch by saivert to fix the vmware mouse issues in #6576.
The changes looks reasonable, although I don't have VMWare to test with.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-11 07:20:11 +00:00
Jérôme Duval
55217ad3ed Patch from Janito: fix the copyright for files highly based on BFS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-10 18:47:38 +00:00
Jérôme Duval
bcbde9ce94 added missing ppc and arm files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-09 19:55:09 +00:00
Fredrik Holmqvist
01f964efeb Introduce a gSystemShutdown flag to be able to check if system is shutting down. ACPI Embedded Controller now uses polling when it is set to true.
This might help with ACPI shutdown issues, if not this change can be reverted. Not verified as it works on all my machines even without this.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 19:19:49 +00:00
Philippe Houdoin
33684c664b Removed swscale_altivec_templace.c, which is already conditionaly included
by swscale_templace.c, itself included by swscale.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 15:12:00 +00:00
Philippe Houdoin
f7fdea9640 Removed duplicate int_altivec.c and h264_templace_altivec.c, which as any templace
source are instead conditionally included by other source code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 15:07:16 +00:00
Philippe Houdoin
05b9aa91c6 No more imgresample_altivec.c or snow_altivec.c in ffmpeg v0.6.
Add the new vp3dsp_altivec.c, though.
Should fix the ppc build.

*Untested*


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 14:46:48 +00:00
Jérôme Duval
a1b0ec3097 Patch from Janito Ferreira Filho (aka jjvf): this is the result of his GSoC assignment "Implement ext2/3 Read and Write Support for Haiku".
* Tested and checked most features and fs operations, while passing successfully the Linux fsck. Though the implementation still needs more testing and is to be used with 
caution, it's better in my mind to have the code committed now given the size of the patch.
* Code style isn't extensively checked but is mostly OK. Code review is welcome.
Some notes from Janito:
* Sparse files aren't supported and hard links aren't supported. Write attributes methods aren't activated nor tested.
* Journaling needs more testing to make sure it behaves in a compatible way to Ext3, and support for the different modes hasn't been implemented (due to the block 
and file cache incompatibility). Correct revoke management is also lacking, as is proper management of the superblock state and copies and block group copies.
* The code is partly based and inspired by the BFS implementation. Author information might need to be fixed.

I'd like to congratulate and thank Janito for his hard work to bring the implementation to the current state. I hope he'll keep on maintaining it and become a regular 
contributor/committer.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 23:25:42 +00:00
Clemens Zeidler
3ef84cd4bb Check if the mouse click is in the decorator drag area.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 21:27:13 +00:00
François Revol
a7ea5b51c6 Force grep to treat files as text files, as it seems freegrep doesn't like UTF-8.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 16:39:23 +00:00
Stephan Aßmus
fae87f406e Make CpuCapabilities.h self-contained and thereby fix the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 12:12:07 +00:00
Stephan Aßmus
86358cb106 * Hopefully fixed the PPC build.
* Fixed coding style issues.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:22:02 +00:00
Stephan Aßmus
20d496c56c ff_x264_deblock_v8_luma_intra_mmxext is GPL and needs to be wrapped
in a CONFIG_GPL #ifdef (should be upstreamed, actually). This fixes
the GCC2 build (and probably GCC4) if the Haiku build is not configured
to include GPL add-ons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:15:48 +00:00
Stephan Aßmus
5e7287f481 Enable run-time CPU detection. I didn't yet test this
on an older CPU.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:11:51 +00:00
Stephan Aßmus
6c49058008 yuv2rgb_mmx.c will now include other files depending on whether
GPL code is enabled or not. We need to build it in either case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:10:57 +00:00
Stephan Aßmus
6f76655240 Fixed build with tracing enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:09:48 +00:00
Stephan Aßmus
d29fcc50b8 Switched support for AVI files from native Reader to
FFmpeg plugin, which now works for much more files
in my testings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 21:23:39 +00:00
Stephan Aßmus
f2d6b67836 Disable some MMX accelerated functions on the GCC2 build, those
had been patched in the older ffmpeg version as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 21:14:22 +00:00
Stephan Aßmus
fb0c01f4d9 GCC2 was seeing the wrong "internal.h" header. That's what you get for not
using vendor branches properly... I remember having to make this change
before... GCC2 build goes much further now, investigating next problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 21:06:28 +00:00
Jérôme Duval
d859486b15 Only swap words on little endian machines. Checked against FreeBSD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 19:24:02 +00:00
Stephan Aßmus
8887a47ded Upgraded FFmpeg to the release version 0.6 (only some minor compile fixes to the code
with regards to using the wrong #include scope in one file and disabling two
apparently unmaintained asserts when compiling in DEBUG mode). I didn't yet test
the GCC 2 build, but I need to get this into SVN since I am having some annoying
file corruption troubles. In fact I am hoping I am not commiting broken files,
but a few seconds ago everything was still building cleanly. One thing that definitely
improved is the (disabled at the moment) AVI support. Every clip I tested so far
plays, which can't be said about our native AVI reader. With the previous FFmpeg
version (a random SVN revision is my guess), many old AVIs played completely broken.
So far, I have not spotted any regressions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 19:01:50 +00:00
Jérôme Duval
995b475caf Patch from dachaac (bug #4813): Fix ATA vendor and product strings according to ATA string conventions. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 18:53:47 +00:00
Stephan Aßmus
af4608b687 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 18:45:48 +00:00
Stephan Aßmus
1fc294b86a * Do not use an I/O buffer which is allocated with a StreamCookie
object. Demuxers may actually resize the I/O context buffer,
   which would corrupt memory. This is certainly the case in FFmpeg
   0.6, don't know if it was a problem before.
 * Do not set the time to the packet PTS in Seek(), if it's the magic
   value for "no PTS".
 * Don't regard the AVInputFormat flags (generic index), we can detect
   this more reliably by the observed behavior: Don't trust the found
   keyframe if we are obvioulsy building the keyframe index on the fly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 18:45:05 +00:00
Stephan Aßmus
9abb7d4713 Remove the Matroska reader from the image and enable
Matroska support in the FFmpeg plugin. I have a few streams
to test with, most didn't play right with the Matroska reader,
many simply crash. With the FFmpeg matroska support, most files
do play fine. Seeking the audio stream is a problem, in that
the FFmpeg code does not build the index for the audio stream,
and so seeking always falls back to regions of the file that
have already played. The audio will catch up eventually and
playback will be fine again. A minority of files I could test
with don't work right, those seem all to be older files.
Overall, the support for Matroska files has much improved
with this commit. I am still investigating why FFplay has
no trouble seeking in mkv files, while the FFmpeg plugin only
seeks perfectly in video streams. It may be a problem that
the FFmpeg plugin uses completely separate AVFormatContexts
for each stream, which on the other hand allows to seek BMediaTracks
independently from each other and resolves concurrency issues.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 09:50:24 +00:00
Stephan Aßmus
3e9336fd20 * Small coding style fixes and improved naming
of the thread related methods.
 * Explicitely reset the fThread member in
   _StopOutputThread().
 * Added TODO about the somewhat seemingly fragile method
   to ensure the previous buffer for a channel has
   been processed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-04 10:41:12 +00:00
Stephan Aßmus
b79d094ee0 With many AC3 streams in AVIs I have, the FFmpeg AC3 codec
crashes. In some MKVs I have, the FFmpeg implementation
behaves badly when the stream switches from stereo to 6-channel
(weird, but can apparently happen). So simply don't claim
support for AC3, since we have a "native" AC3 decoder which
works much better.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-03 12:16:21 +00:00
Clemens Zeidler
8875d8af63 Tune parameter and fix a comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-03 04:49:56 +00:00
Clemens Zeidler
a6771397dc Store the stacking order to restore it if a window changed its layer position.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-03 03:55:29 +00:00
Clemens Zeidler
7fe05355e3 Also manage a list of all areas in a group.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-03 00:34:54 +00:00
Clemens Zeidler
d4bbf5c221 Clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-02 23:58:26 +00:00
Clemens Zeidler
743d974099 Floor the tabLength to avoid drawing bugs. Add the leftover of this cutting to the last tab.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-02 03:51:29 +00:00
Clemens Zeidler
af89e8106a Remove unused function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-02 03:30:14 +00:00
Clemens Zeidler
d344b03a93 Ensure that the window is in the front when using focus follow mouse.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-02 03:10:55 +00:00
Clemens Zeidler
04674450ad - Do the window layout on every resize. This is e.g. needed to do the tab layout.
- Use old ActivateWindow implementation till the Desktop SendBehind question is solved.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-02 03:05:58 +00:00
Stephan Aßmus
dc24f85691 Use rounding to avoid the situation, that FindKeyFrame()
returns a frame, and using that very same frame again
for FindKeyFrame() returns a different frame, because
the rounding effects have converted the time to be smaller
than the timestamp that was found for the first call to
FindKeyFrame(). It still happens sometimes, but a lot less
frequently. Ideas appreciated. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-01 21:39:04 +00:00
Stephan Aßmus
1a2e8aeeaf Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-01 17:53:00 +00:00
Stephan Aßmus
b4560be299 * Found two more places where _ConvertFromStreamTimeBase()
could be used.
 * Finding keyframes is unreliable. Sometimes the index
   is built on the fly, without us knowing. The file will
   become seekable after we have decoded those parts.
   This however means that seeking may not have been successful.
   To know the seeked to frame, we extract the next packet
   and returned the true current frame in the in/out arguments
   to seek.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-01 15:58:22 +00:00
Stephan Aßmus
b4a9b7c236 * Actually use the client suggested buffer size.
* When the client didn't suggest it, take the sample
   size into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-01 14:51:37 +00:00
Stephan Aßmus
2c1e15255e * Initialize the channel mask of the media_format.
* Enabled the DTS decoder. The codec tag is fake,
   but as long as Readers use this, it will work.
   Currently only works with the FFmpeg reader, though,
   and I tested only with matroska containers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-01 14:50:43 +00:00
Stephan Aßmus
b006bbe130 * Resolved TODO and implemented updating resampling implementation on the fly.
* Reordered some methods in the source to align with declaration order.
 * Applied naming conventions for private methods.
 * Switched asterix style in MixerInput.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-01 09:09:10 +00:00
Clemens Zeidler
e9ec3d5a49 In stack mode, draw the zoom button if the window is active otherwise use the space to draw the title. The idea to draw one zoom button at the rightmost tab does not work because in focus follow mouse mode the particular tab may loose the focus when move the mouse to the zoom button.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-01 04:09:08 +00:00
Stephan Aßmus
a79b30c3b6 * In the MixerInput, also use the Linear resampler if requested by the
settings. (There is a common "mixing frame rate" to which all inputs
   resample, before the MixerCore resamples to the frame rate of the
   output.)
 * Some more coding style fixes in MixerCore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-31 16:07:52 +00:00
Clemens Zeidler
cb2fa7e665 Coding style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-31 05:42:18 +00:00
Clemens Zeidler
26152d9e07 - Increase max size for stacked tabs.
- Use more title space in stacked tabs.
- Fix tab movement in stacked mode.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-31 05:36:09 +00:00
Clemens Zeidler
fef53dfffd When activating one window in a group send all other windows behind this window and not activate them. This fix flickering of stacked windows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-31 02:07:15 +00:00
Stephan Aßmus
eb01f516a3 The CodecID for raw-audio actually depends on the sample format
and can't be hard-coded in the EncoderTable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-30 21:04:29 +00:00
Axel Dörfler
f097f90c70 * Fixed a bug in deciding whether or not an IP level broadcast should be
accepted. This should have been the reason for Duggan's problem with DHCP
  as part of bug #6454.
* Stippi's router seems to answer DHCP requests with broadcasts to the future
  broadcast IP address. Luckily, it's also a link layer broadcast, so we let
  the upper protocols decide what to do with it, depending on that; this could
  also be done depending on the existence of any unconfigured networks.
* This should fix Stippi's DHCP problems, and therefore bug #6454 - in any
  case, this will be the last try before my vacation :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-30 14:58:08 +00:00
Stephan Aßmus
b543dbc293 Honor 80 chars/line limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-30 13:02:48 +00:00
Stephan Aßmus
a6e0f877c3 Print the debug output only for the first channel,
more channels don't add more information.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-30 13:01:44 +00:00
Stephan Aßmus
4cc71346c4 Fixed more coding style violations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-30 11:36:02 +00:00