summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
Commit message (Collapse)AuthorAgeFilesLines
* core: Add support for decoder reordering of pts valuesUoti Urpala2009-11-213-7/+54
| | | | | | | | | | | | | | | | | | | | | | | Add a mode where libavcodec's reordered_opaque feature is used to associate container packet timestamps with decoded frames. This should improve behavior at least for MPEG files with interlaced h264; the previous code does not cope well with the libavformat demuxer producing two field packets with separate timestamps but the libavcodec h264 decoder only producing a single output frame for those two packets (so half the timestamps have no associated output frame). The current libavformat mpeg demuxer seems to finally work with interlaced h264 files and produce valid timestamps which are useful with a mode like this. By default MPlayer now selects between this new mode and the old one automatically based on the number of timestamp problems they cause; by default the new mode is used if both seem to work. The new option -pts-association-mode can be used to force a particular mode. If correct-pts mode is disabled this has no effect on timing. Also remove the "EXPERIMENTAL" marker from the manpage description of -correct-pts.
* cosmetics: remove some unused variablesUoti Urpala2009-11-171-1/+0
|
* Merge svn changes up to r29912Uoti Urpala2009-11-167-12/+2053
|\
| * Support VDPAU hardware accelerated decoding of MPEG-4 ASP on capablecehoyos2009-11-102-0/+2
| | | | | | | | | | | | | | | | | | hardware. Original patch by NVIDIA corporation. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29885 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Map AV_LOG_VERBOSE to MSGL_V in order to avoid spurious log output.diego2009-11-101-0/+1
| | | | | | | | | | | | | | based on a patch by On2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29884 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add support for DVB teletext.reimar2009-11-102-0/+27
| | | | | | | | | | | | | | Patch by Francesco Lavra [francescolavra interfree it] with modifications by me. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29875 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add support for 8 channel audio.tack2009-11-102-3/+5
| | | | | | | | | | | | | | | | Where 8 channel support is non-trivial (e.g. ao_dsound), at least ensure we fail gracefully. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29868 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Properly free the pthread mutex for teletext.reimar2009-11-091-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29866 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Allow teletext compilation without pthreadsreimar2009-11-091-0/+11
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29865 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove CONFIG_TV_TELETEXT.cehoyos2009-11-071-4/+0
| | | | | | | | | | | | | | | | DVB teletext support is nearly finished, it will be possible to read teletext from file, it will not be depending on reception any more. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29851 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Factorise vbi_decode().cehoyos2009-11-071-30/+39
| | | | | | | | | | | | | | Patch by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29850 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Separate teletext from tv support.cehoyos2009-11-072-6/+16
| | | | | | | | | | | | | | Path by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29848 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Only call avcodec_close if the open succeeded before, otherwise avcodec_closereimar2009-11-061-1/+2
| | | | | | | | | | | | | | | | will crash (happens e.g. when encoding ends before any frames were actually encoded, e.g. when an MPEG file was cut down to much so it no longer contains a full video frame). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29835 b3059339-0415-0410-9bf9-f77b7e298cf2
| * ad_ffmpeg: Fix channel layout for ffvorbis and ffaactack2009-11-041-8/+1
| | | | | | | | | | | | | | | | | | | | | | Patch submitted by Nicolas George, nicolas.george normalesup org The layout exceptions removed by this patch were rendered unnecessary by changes in ffmpeg which normalize channel layout for aac (r20067) and vorbis (r20148). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29821 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Teletext display does support font scaling via OSD font scaling, removecehoyos2009-10-311-1/+0
| | | | | | | | | | | | | | | | | | TODO item. Patch by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29809 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Replace two more occurences of tvi_vbi with dec_teletext.cehoyos2009-10-311-2/+2
| | | | | | | | | | | | | | Patch by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29808 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove incorrect comment.cehoyos2009-10-311-2/+0
| | | | | | | | | | | | | | Original patch by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29807 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add MSGT_TELETEXT, rename TVI_CONTROL as VBI_CONTROL and fix some pathscehoyos2009-10-292-57/+61
| | | | | | | | | | | | | | | | | | in comments. Based on a patch by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29802 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Move teletext specific code from stream into libmpcodecs.cehoyos2009-10-292-0/+1987
| | | | | | | | | | | | | | Patch by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29801 b3059339-0415-0410-9bf9-f77b7e298cf2
| * sync to x264-r1296lorenm2009-10-191-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29787 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add missing '#include "config.h"', the header uses HAVE_BIGENDIAN.diego2009-10-191-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29783 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge branch 'vdpau'Uoti Urpala2009-11-166-15/+8
|\ \
| * | Support VDPAU MPEG4 hardware decodingUoti Urpala2009-11-162-0/+2
| | | | | | | | | | | | Original patch by NVIDIA.
| * | Add yuv_colorspace property, implemented in vo_vdpau and vo_xvUoti Urpala2009-11-152-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a property to select YUV colorspace. Currently implemented only in vo_vdpau and vo_xv. Allows switching between BT.601, BT.709 and SMPTE-240M (vdpau only). The xv support uses the "XV_ITURBT_709" attribute. At least my NVIDIA card supports that; I don't know whether other xv implementations do. Bind the colorspace switch to the 'c' key by default. 'c' is currently used by vo_sdl for some fullscreen mode change thing, but at the moment that does not conflict and if it will in the future then vo_sdl can change. VDPAU part based on a patch from Lauri Mylläri <lauri.myllari@gmail.com>
| * | vf: Remove unused VFCTRL_FLIP_PAGEUoti Urpala2009-10-214-15/+0
| | | | | | | | | | | | | | | Nothing uses it under MPlayer any more, and under MEncoder it never had any effect.
* | | av_log callback handling overhaulUoti Urpala2009-10-311-51/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move av_log callback handling from vd_ffmpeg.c to a new file av_log.c and install the callback immediately when starting the program. Main functionality improvements of the new code: - The old version only installed the callback when opening an FFmpeg video decoder. If nothing had triggered that then av_log() messages from other sources (libavformat, audio decoding, swscale usage) bypassed MPlayer's output system completely. Now the callback is always installed. - Current av_log message severity levels are handled correctly. The old code used MSGL_ERR for some messages that should be MSGL_V. - Message type is now set for libavformat contexts (MSGT_DEMUXER / MSGT_MUXER). - The old code did "mp_msg_test(type, mp_level)" before actually determining the type, so that it always used MSGT_FIXME. This led to some messages being incorrectly dropped in case the user had specified module-specific verbosity levels. The old check in question was originally motivated by performance problems when there were a lot of callbacks; however it's not clear whether the part about it skipping the type determination was intentional (most of the performance problems must have come from the way the original code used snprintf) and in my tests current FFmpeg libraries have not generated unreasonable amounts of callbacks anyway.
* | | build: Support x264 version 78Uoti Urpala2009-10-191-1/+1
|/ /
* | Merge svn changes up to r29752Uoti Urpala2009-10-067-42/+23
|\| | | | | | | | | | | | | | | | | As part of merging subtitle-in-terminal changes make update_subtitles() only clear existing subtitles if called with the reset argument, and not try to set new ones. Later calls should set the needed new subtitles, and this change avoids some problems with trying to set subtitles when mp_property_sub() in command.c gets called from initialization code before full initialization.
| * Mark some functions that do not need external visibility as static.diego2009-09-302-2/+2
| | | | | | | | | | | | | | patch by Alexander Neumann, alexander bumpern de git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29744 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Reduce console output verbosity: Move colorspace information to verbose mode.diego2009-09-301-2/+5
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29742 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Change type to avoid void * arithmetic.reimar2009-09-251-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29716 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Set codec_type and codec_id in codec context for lavc encoders.reimar2009-09-252-0/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29715 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Make sure avctx->codec_type and codec_id are set, since libavcodecreimar2009-09-232-0/+3
| | | | | | | | | | | | | | | | | | currently requires that. That probably is an unintended API change and should be fixed/reverted in lavc but it hurts little to workaround here. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29709 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use x264_encoder_delayed_frames instead of the current hack to flush delayedreimar2009-09-231-4/+2
| | | | | | | | | | | | | | frames in VFCTRL_FLUSH_FRAMES. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29705 b3059339-0415-0410-9bf9-f77b7e298cf2
| * sync to x264-r1260 (which changed api)lorenm2009-09-231-33/+8
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29704 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge branch 'vdpau' into buildUoti Urpala2009-09-192-11/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vdpau: (22 commits) VO: Prefer vo_vdpau over vo_xv again vo_vdpau: Fix X event handling bugs vo_vdpau: Fix memory corruption bug with MP_IMGTYPE_NUMBERED core/VO: Allow VO drivers to add/modify frames video_out.h: Cosmetics VO interface: Remove obsolete draw_frame() from new interface vo_vdpau: Support recovering from VDPAU display preemption vo_vdpau: Support updating OSD while paused vo_vdpau.c: Reindent control() switch statement vo_vdpau: Allocate one large surface for EOSD content vo_vdpau.c: cosmetics vo_vdpau: reindent after GUI code removal vo_vpdau: Clean up uninit logic vo_vdpau: Make CHECK_ST macro safer vo_vdpau: Move all remaining static/global variables to context vo_vdpau: Move things to context struct vo_vdpau: Make info struct const vo_vdpau: Replace global function table with context variable vo_vdpau: Move VDPAU interface pointers into one struct vo_vdpau: Add template file for VDPAU functions ...
| * | vo_vdpau: Fix memory corruption bug with MP_IMGTYPE_NUMBEREDUoti Urpala2009-09-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | The way vo_vdpau kept references to vf mpi objects was unsafe; with fixed-vo enabled the vf object could be destroyed and a new one created, but vo_vdpau would still keep the now stale references and modify memory through them to adjust usage counts. Send a VOCTRL_RESET from vf_vo uninit() to allow vo_vdpau to erase such references.
| * | core/VO: Allow VO drivers to add/modify framesUoti Urpala2009-09-182-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add interfaces to allow VO drivers to add or remove frames from the video stream and to alter timestamps. Currently this functionality only works with in correct-pts mode. Use the new functionality in vo_vdpau to properly support frame-adding deinterlace modes. Frames added by the VDPAU deinterlacing code are now properly timed. Before every second frame was always shown immediately (probably next monitor refresh) after the previous one, even if you were watching things in slow motion, and framestepping didn't stop at them at all. When seeking the deinterlace algorithm is no longer fed a mix of frames from old and new positions. As a side effect of the changes a problem with resize events was also fixed. Resizing calls video_to_output_surface() to render the frame at the new resolution, but before this function also changed the list of history frames, so resizing could give an image different from the original one, and also corrupt next frames due to them seeing the wrong history. Now the function has no such side effects. There are more resize-related problems though that will be fixed in a later commit. The deint_mpi[] list of reserved frames is increased from 2 to 3 entries for reasons related to the above. Having 2 entries is enough when you initially get a new frame in draw_image() because then you'll have those two entries plus the new one for a total of 3 (the code relied on the oldest mpi implicitly staying reserved for the duration of the call even after usage count was decreased). However if you want to be able to reproduce the rendering outside draw_image(), relying on the explicitly reserved list only, then it needs to store 3 entries.
* | | vf: Free MP_IMGTYPE_NUMBERED buffers tooUoti Urpala2009-09-181-0/+2
| | | | | | | | | | | | | | | When this newest type of buffers was added, needed code to free objects of this type when closing the filter had been omitted.
* | | Merge svn changes up to r29684Uoti Urpala2009-09-164-12/+31
|\ \ \ | | |/ | |/|
| * | Add several HAVE_EBX_AVAILABLE conditions where necessaryreimar2009-09-143-2/+10
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29681 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | %lf is not a valid printf format specifier, use just %f instead.reimar2009-09-141-1/+1
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29680 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | Always keep a backup of the expand values from the command-line, so valuesreimar2009-09-101-8/+19
| | | | | | | | | | | | | | | | | | | | | | | | will be recalculated correctly e.g. after aspect change and -vf expand=aspect=4/3 command line. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29666 b3059339-0415-0410-9bf9-f77b7e298cf2
* | | Merge svn changes up to r29644Uoti Urpala2009-09-041-1/+4
|\| | | |/ |/|
| * Reindentreimar2009-08-261-1/+1
|