Age | Commit message (Collapse) | Author |
|
--HG--
rename : src/xine-engine/alphablend.h => include/xine/alphablend.h
rename : src/xine-utils/array.h => include/xine/array.h
rename : src/xine-utils/attributes.h => include/xine/attributes.h
rename : src/xine-engine/audio_decoder.h => include/xine/audio_decoder.h
rename : src/xine-engine/audio_out.h => include/xine/audio_out.h
rename : src/xine-engine/broadcaster.h => include/xine/broadcaster.h
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/xine-utils/compat.h => include/xine/compat.h
rename : src/xine-engine/configfile.h => include/xine/configfile.h
rename : src/demuxers/demux.h => include/xine/demux.h
rename : src/xine-engine/info_helper.h => include/xine/info_helper.h
rename : src/input/input_plugin.h => include/xine/input_plugin.h
rename : src/xine-engine/io_helper.h => include/xine/io_helper.h
rename : src/xine-utils/list.h => include/xine/list.h
rename : src/xine-engine/metronom.h => include/xine/metronom.h
rename : src/xine-engine/osd.h => include/xine/osd.h
rename : src/xine-engine/plugin_catalog.h => include/xine/plugin_catalog.h
rename : src/xine-utils/pool.h => include/xine/pool.h
rename : src/xine-engine/post.h => include/xine/post.h
rename : src/xine-engine/refcounter.h => include/xine/refcounter.h
rename : src/xine-engine/resample.h => include/xine/resample.h
rename : src/xine-utils/ring_buffer.h => include/xine/ring_buffer.h
rename : src/xine-engine/scratch.h => include/xine/scratch.h
rename : src/xine-utils/sorted_array.h => include/xine/sorted_array.h
rename : src/xine-engine/spu.h => include/xine/spu.h
rename : src/xine-engine/spu_decoder.h => include/xine/spu_decoder.h
rename : src/xine-engine/video_decoder.h => include/xine/video_decoder.h
rename : src/xine-engine/video_out.h => include/xine/video_out.h
rename : src/xine-engine/video_overlay.h => include/xine/video_overlay.h
rename : src/xine-engine/vo_scale.h => include/xine/vo_scale.h
rename : src/xine-utils/xine_buffer.h => include/xine/xine_buffer.h
rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
rename : src/xine-engine/xine_plugin.h => include/xine/xine_plugin.h
rename : src/xine-engine/xineintl.h => include/xine/xineintl.h
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
rename : src/xine-utils/xmllexer.h => include/xine/xmllexer.h
rename : src/xine-utils/xmlparser.h => include/xine/xmlparser.h
|
|
|
|
Most plugin classes in xine define a dispose function simply to call free(),
but free() is ABI-compatible with our dispose functions, so add a macro
that allows to pass free() directly as dispose function.
It's an opt-in so that no extra conditional is needed, and plugin authors
won't forget about providing a dispose function (if they need to).
|
|
description translation.
|
|
This is the start of a new experimental branch, with the first objective being
the replacement of the get_description and get_identifier functions with
direct-access strings.
The reason for this change is to reduce code size and time of execution.
By replacing the functions with direct-access strings there is one less call
to be done in those cases where the description has to be fetched.
The solution is not yet definitive though, there are a couple of problems to
take care of:
- the use of N_() still makes it easy to internationalise the strings, but it
requires for the string to be found on libxine2 catalog, which is not
exactly a nice solution for external plugins;
- it would be simpler to re-use the id field in plugin_info_t, and then move
description there; it should reduce memory usage for the class structures;
- I'm not really aware of any reason why get_description and get_identifier
were used beside the idea of making i18n simpler.
This probably would break a couple of frontends, especially if they have some
internal plugins (like post-plugins), so it needs to be reviewed carefully
before merging in 1.2 branch. My current goal is to get this in before 1.2
though, rather than waiting for 1.3.
|
|
--HG--
rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c
rename : src/libmad/xine_mad_decoder.c => src/libxineadec/xine_mad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
|
|
--HG--
extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
|
|
--HG--
rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c
rename : src/combined/demux_flac.c => src/combined/flac_demuxer.c
rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
|
|
For contributed code, leave whatever the version we last synced for is using
to make simpler future syncs.
|
|
- validate palette alpha values in overlay manager
(one check / overlay / palette index) instead of
checking every alpha value twice for every
blended pixel in every frame
- remove unneeded calculations
- approximiate expensive integer divisions with
multiplication and shift
|
|
|
|
|
|
by not exporting them.
|
|
redrawing.
The video out loop sleeps up to 20 ms (and the paused loop 20 ms)
which means that pending OSD events are delayed too from beeing
processed. When an OSD is used for example to scroll through a
list of VDR recordings, this delay may slow down scrolling
unnecessarily.
Especially when the OSD manager is able to render the OSD content
indepently from drawing a frame to screen, this change will allow
the fastest OSD update possible.
|
|
With this changes, almost all the structures are now consolidated without
holes.
For xine_stream_s, transform a set of (internal) integers used as booleans
into a bitmask, this reduces the size of the structure by about 36 bytes.
|
|
that their binding is local to the library (has a similar effect to -Bsymbolic, but will work better with hidden visibility enabled, that is step two).
CVS patchset: 8289
CVS date: 2006/09/26 05:19:47
|
|
"clip" thing has caused too much confusion already since these variables
define a highlight area.
- add overlay offset support to video_out.c/alphablend/vo drivers
- use overlay offset to implement proper croping of frames when vo
driver doesn't support it
- add clipping checks to alphablend to avoid buffer overflow, buffer
"underflow" and wrapping.
- increase vo api number
- note: dxr3 support is incomplete about overlay offset
CVS patchset: 7739
CVS date: 2005/09/24 19:08:26
|
|
and this code is correctly understood by me ;)
also fall back to old behaviour (no cropping at all), if the image cannot
be cropped due to an unknown frame format
CVS patchset: 7024
CVS date: 2004/10/08 21:08:26
|
|
there is still some work to do, please report any breakages.
note: new xxmc driver tested with both nvidia and via libraries.
CVS patchset: 7007
CVS date: 2004/09/28 18:49:38
|
|
poor platforms, of course)
- fix a bug in generated xine-config for WIN32 and make it relocateable
under Windows
- MSVC port: update, fix some warnings, remove old unneeded files
- improve function for getting runtime directory, it will need next fix
yet (bug probably due to active volume drives)
CVS patchset: 7001
CVS date: 2004/09/26 22:54:51
|
|
- some vo drivers support cropping natively.
(only xv and xvmc have been tested)
- add software crop fallback to video_out.c
- skip yuv2rgb processing at xshm for not yet cropped frames
(these frames are never shown)
- libmpeg2 and ffmpeg now may use crop support
- bump vo api. (changes to xvmc/xxmc will follow)
CVS patchset: 6991
CVS date: 2004/09/22 20:29:13
|
|
finished event was sent to frontend before the output fifos were empty.
add a test for the number of streams attached to the output port. this will
prevent deadlocking on multi-streams scenarios where fifos don't ever get empty.
CVS patchset: 6777
CVS date: 2004/07/06 22:53:22
|
|
CVS patchset: 6713
CVS date: 2004/06/19 20:07:15
|
|
before, NULL could mean two things: no stream at all or a stream that does not
want to be addressed; now the latter is represented by the new XINE_ANON_STREAM
resulting changes:
* the status() functions now behave differently for NULL and XINE_ANON_STREAM
(as the commentary always implied, but this was not the case, so post
plugin rewiring went wrong, because it relies on the status() function)
* the NULL_STREAM defines in audio_out and video_out are obsolete
* update the function comments in the headers
* update the post plugin rewire functions to use the status() functions to
check, if the old port was opened and handle the new one accordingly;
this makes open_count obsolete
* change all post plugins accordingly (mostly using XINE_ANON_STREAM instead
of NULL)
additional change:
* the status() function of audio port now returns the bits/rate/mode values
of the input and not the output; this is more likely to be what a post plugin
wants
* the reimplementation of status() in the upmix plugin is obsolete
CVS patchset: 6603
CVS date: 2004/05/29 14:45:25
|
|
* post plugins are now much safer (fewer races/inconsistencies) and easier to write
* all post plugins are ported to the new architecture (and should work)
* ports can now be opened and closed with a NULL stream
CVS patchset: 6007
CVS date: 2004/01/07 19:52:42
|
|
CVS patchset: 5912
CVS date: 2003/12/14 22:13:22
|
|
text subtitles may now be rendered at full screen resolution
* load xine fonts on demand - faster startup
note: support added to xv, xshm and vidix
CVS patchset: 5780
CVS date: 2003/11/26 01:03:31
|
|
(we should finish this before rc3.)
- stream_info and meta_info variables are private now.
obs: everything must be recompiled due xine_stream_t changes
CVS patchset: 5733
CVS date: 2003/11/15 14:54:30
|
|
CVS patchset: 5721
CVS date: 2003/11/11 18:44:50
|
|
audio buffer can be NULL; this should be used to indicate that the frame/
buffer does not come directly from a stream, but was generated otherwise
(the most important result is that frames/buffers with stream NULL will not
be passed through metronom)
* modify visualization post plugins so they set the stream on the generated
frames to NULL, this avoids cluttering metronom, when playing a stream with
audio AND video AND a visualization post
* this also means modifying the way post plugins provide vpts values:
they have to calculate them themselves for now
CVS patchset: 5647
CVS date: 2003/10/30 22:40:53
|
|
* some obsolete VO_CAP_* constants removed
* VO_ZOOM_* constants replaced by their XINE_VO_ZOOM_* equivalents from xine.h
* moved some bits around
* proc_frame() needs only one parameter: the frame
* renamed copy_called to proc_called
* changed logic in video_out.c to call proc_* functions a bit
(call proc_frame() first, then call proc_slice() if proc_frame() has not set
proc_called, this allows video out plugins to have both hooks called)
CVS patchset: 5576
CVS date: 2003/10/23 15:17:06
|
|
video_out API version to 18.
CVS patchset: 5574
CVS date: 2003/10/22 20:38:09
|
|
- bump vo and post interface versions
obs: video_out_xvmc.c needs some more work, see todo.
CVS patchset: 5459
CVS date: 2003/10/06 21:52:42
|
|
video_overlay_manager, because
a) this thing is called "overlay manager" by everyone
b) the term "instance" is misleading, since it suggests that you would not
share the outcome of a get_instance() with others
CVS patchset: 5288
CVS date: 2003/08/15 14:35:09
|
|
increased lately), store flags in video out loop and catch some wrong ratios
CVS patchset: 5275
CVS date: 2003/08/12 13:53:30
|
|
minimal implementation of DVD pan&scan as needed by the dxr3
CVS patchset: 5246
CVS date: 2003/08/05 15:03:14
|
|
patch by Philip Jgenstedt
CVS patchset: 5243
CVS date: 2003/08/04 03:47:09
|
|
CVS patchset: 5105
CVS date: 2003/06/27 13:40:51
|
|
- do not trust progressive_frame for detecting NTSC 3:2, quote:
'the alternating progressive_frame encoding problem. This is a problem where the progressive_frame flag alternates between true and false every frame, when it really should have been set to "true" all the time.'
'There is a lot of content that is affected by this issue, because it's caused by a dumb decision by a very big company that made a very popular MPEG encoder. They've since fixed the encoder, but there are apparently still authoring companies that use it, because the problem is on a lot of high-profile current discs, like Disney's "Monsters Inc." and "Beauty and the Beast".'
http://www.hometheaterhifi.com/volume_8_2/dvd-benchmark-special-report-chroma-bug-4-2001.html
CVS patchset: 5025
CVS date: 2003/06/11 23:08:54
|
|
fixes, comments, suggestions are welcome
CVS patchset: 5011
CVS date: 2003/06/06 19:42:04
|
|
CVS patchset: 5003
CVS date: 2003/06/03 03:33:15
|
|
img->displayed is obsolete now, drivers should use img->free.
CVS patchset: 4994
CVS date: 2003/05/31 18:33:28
|
|
* regulate mutual inclusion based on XINE_COMPILE
* src/xine-engine/spu_decoder.h was unused
-> make it the spu decoder API header and remove src/libspudec/spu_decoder_api.h
* mark some xine_stream_t members as unused for next cleanup
CVS patchset: 4883
CVS date: 2003/05/20 13:50:55
|
|
CVS patchset: 4675
CVS date: 2003/04/25 15:34:44
|
|
rework xine_play_internal, wait for first frame after seek
CVS patchset: 4660
CVS date: 2003/04/23 14:33:01
|
|
CVS patchset: 4643
CVS date: 2003/04/20 21:13:21
|
|
CVS patchset: 4114
CVS date: 2003/02/07 17:28:10
|
|
CVS patchset: 4110
CVS date: 2003/02/06 00:09:19
|
|
CVS patchset: 4080
CVS date: 2003/02/01 19:22:30
|
|
processing api
CVS patchset: 3875
CVS date: 2003/01/11 19:06:52
|