1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-31 07:51:55 +00:00
Commit Graph

2386 Commits

Author SHA1 Message Date
Uoti Urpala
5995bc175a Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
reimar
b01af7a428 Fix initialization values for vf_expand priv struct.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29958 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-22 13:26:57 +00:00
reimar
86e0273c14 Remove unused variable.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29957 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-22 13:25:07 +00:00
reimar
2959f9e032 Add const to draw_slice argument to match what FFmpeg expects for draw_horiz_band.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29956 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-22 13:18:12 +00:00
reimar
dcd0daccca Switch ad_ffmpeg to avcodec_decode_audio3
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29955 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-22 13:14:39 +00:00
reimar
65c2bae2b5 Remove unused variable.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29954 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-22 13:08:43 +00:00
reimar
4198e9d45b Remove unreachable parsing code: for filters that use the option parser,
the args argument to open will always be NULL and vf->priv will always be
!= NULL.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29945 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-21 19:50:33 +00:00
reimar
6fa77ca503 Allow vf_scale to output to RGB48, though still prefer the 24 and 32 bit formats.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29943 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-21 18:58:03 +00:00
Uoti Urpala
74b7dcc5f4 core: Add support for decoder reordering of pts values
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.
2009-11-21 20:53:10 +02:00
reimar
8a6fdd634d Add a define for IMGFMT_RGB48NE that depends on machine endianness.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29941 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-21 18:45:41 +00:00
reimar
a98091b77b Use avcodec_align_dimensions to appropriately align width and height in
get_buffer instead of reimplementing it badly.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29921 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-17 13:56:34 +00:00
Uoti Urpala
34279a8ce3 cosmetics: remove some unused variables 2009-11-17 06:56:29 +02:00
Uoti Urpala
287b62163e Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
Uoti Urpala
507f4fe6c7 Merge branch 'vdpau' 2009-11-16 04:18:13 +02:00
Uoti Urpala
b8861ce8e2 Support VDPAU MPEG4 hardware decoding
Original patch by NVIDIA.
2009-11-16 02:46:33 +02:00
Uoti Urpala
98ee8dd159 Add yuv_colorspace property, implemented in vo_vdpau and vo_xv
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>
2009-11-15 17:03:41 +02:00
cehoyos
2b93a48ac8 Support VDPAU hardware accelerated decoding of MPEG-4 ASP on capable
hardware.

Original patch by NVIDIA corporation.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29885 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-10 19:11:13 +00:00
diego
a63e8dce21 Map AV_LOG_VERBOSE to MSGL_V in order to avoid spurious log output.
based on a patch by On2


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29884 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-10 18:10:16 +00:00
reimar
9a8a73e547 Add support for DVB teletext.
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
2009-11-10 11:31:47 +00:00
tack
3c2afd6786 Add support for 8 channel audio.
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
2009-11-10 00:45:19 +00:00
reimar
a4434cf2d7 Properly free the pthread mutex for teletext.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29866 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-09 15:37:15 +00:00
reimar
263e4a1144 Allow teletext compilation without pthreads
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29865 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-09 15:34:55 +00:00
cehoyos
2a5611473c Remove CONFIG_TV_TELETEXT.
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
2009-11-07 16:40:42 +00:00
cehoyos
241164f72c Factorise vbi_decode().
Patch by Francesco Lavra, francescolavra interfree it


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29850 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-07 13:09:24 +00:00
cehoyos
423c415534 Separate teletext from tv support.
Path by Francesco Lavra, francescolavra interfree it


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29848 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-07 12:31:05 +00:00
reimar
c6b1e6880b Only call avcodec_close if the open succeeded before, otherwise avcodec_close
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
2009-11-06 15:45:55 +00:00
tack
b88d08040e ad_ffmpeg: Fix channel layout for ffvorbis and ffaac
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
2009-11-04 00:54:46 +00:00
Uoti Urpala
8bbb79c03a av_log callback handling overhaul
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.
2009-10-31 23:59:16 +02:00
cehoyos
e9942166df Teletext display does support font scaling via OSD font scaling, remove
TODO item.

Patch by Francesco Lavra, francescolavra interfree it


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29809 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-10-31 15:34:18 +00:00
cehoyos
631d5f1f84 Replace two more occurences of tvi_vbi with dec_teletext.
Patch by Francesco Lavra, francescolavra interfree it


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29808 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-10-31 15:30:56 +00:00
cehoyos
91943aa9fa Remove incorrect comment.
Original patch by Francesco Lavra, francescolavra interfree it


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29807 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-10-31 15:28:28 +00:00
cehoyos
9df11ee8bf Add MSGT_TELETEXT, rename TVI_CONTROL as VBI_CONTROL and fix some paths
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
2009-10-29 22:39:00 +00:00
cehoyos
a9474b0b39 Move teletext specific code from stream into libmpcodecs.
Patch by Francesco Lavra, francescolavra interfree it


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29801 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-10-29 22:13:04 +00:00
Uoti Urpala
fa7983b236 vf: Remove unused VFCTRL_FLIP_PAGE
Nothing uses it under MPlayer any more, and under MEncoder it never
had any effect.
2009-10-21 07:35:22 +03:00
lorenm
e155d3d9f9 sync to x264-r1296
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29787 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-10-19 21:23:08 +00:00
Uoti Urpala
4a35807e72 build: Support x264 version 78 2009-10-19 23:54:36 +03:00
diego
d87e0718d8 Add missing '#include "config.h"', the header uses HAVE_BIGENDIAN.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29783 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-10-19 09:50:51 +00:00
Uoti Urpala
7fd3eb0f74 Merge svn changes up to r29752
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.
2009-10-06 04:48:00 +03:00
diego
f806e745e2 Mark some functions that do not need external visibility as static.
patch by Alexander Neumann, alexander bumpern de


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29744 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-30 23:47:00 +00:00
diego
4b3525f79f Reduce console output verbosity: Move colorspace information to verbose mode.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29742 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-30 14:55:43 +00:00
reimar
3f9cacf5d5 Change type to avoid void * arithmetic.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29716 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-25 09:44:41 +00:00
reimar
101d331f62 Set codec_type and codec_id in codec context for lavc encoders.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29715 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-25 09:43:59 +00:00
reimar
4834e21162 Make sure avctx->codec_type and codec_id are set, since libavcodec
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
2009-09-23 19:21:38 +00:00
reimar
de85aebe1e Use x264_encoder_delayed_frames instead of the current hack to flush delayed
frames in VFCTRL_FLUSH_FRAMES.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29705 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-23 12:26:44 +00:00
lorenm
1893615656 sync to x264-r1260 (which changed api)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29704 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-23 12:01:04 +00:00
Uoti Urpala
3f215c9f8e Merge branch 'vdpau' into build
* 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
  ...
2009-09-19 00:28:17 +03:00
Uoti Urpala
56088ff4dc vo_vdpau: Fix memory corruption bug with MP_IMGTYPE_NUMBERED
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.
2009-09-18 17:13:35 +03:00
Uoti Urpala
350fc4f5a2 core/VO: Allow VO drivers to add/modify frames
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.
2009-09-18 17:12:53 +03:00
Uoti Urpala
82bbf1a1ab vf: Free MP_IMGTYPE_NUMBERED buffers too
When this newest type of buffers was added, needed code to free
objects of this type when closing the filter had been omitted.
2009-09-18 07:36:32 +03:00
Uoti Urpala
e1ecc43152 Merge svn changes up to r29684 2009-09-16 22:28:12 +03:00