Commit Graph

573 Commits

Author SHA1 Message Date
wm4 0440460d0c vo_vdpau: implement screenshots 2011-11-25 23:56:28 +02:00
Uoti Urpala f06fe7f80e TOOLS/matroska.py: recognize CodecName 2011-04-08 01:20:35 +03:00
siretart 65cc2366a3 TOOLS/: minor fixes in tool code
Fix printf format string warning

fixes this warning:
asfinfo.c: In function 'print_video_header':
asfinfo.c:158: warning: format '%.4s' expects type 'char *', but argument 3 has type 'long int *'

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32774 b3059339-0415-0410-9bf9-f77b7e298cf2

add missing fclose

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32775 b3059339-0415-0410-9bf9-f77b7e298cf2

add missing fclose()

found by cppcheck:
[avisubdump.c:199]: (error) Resource leak: f

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32776 b3059339-0415-0410-9bf9-f77b7e298cf2
2011-01-31 16:03:10 +02:00
Uoti Urpala f50f34245e Merge branch 'sub'
* sub:
  sub/OSD: move some related files to sub/
  subtitles: options: enable -ass by default
  subtitles: change default libass rendering style
  demux_mkv, chapters: change millisecond arithmetic to ns
  cleanup: rename ass_* functions to mp_ass_*
  subs: use correct font aspect ratio for libass + converted subs
  cleanup: some random minor code simplification and cleanup
  vf_vo: fix EOSD change detection bug
  sd_ass: remove subreader use, support plaintext markup
  subtitles: style support for common SubRip tags and MicroDVD
  core: ordered chapters: fix bad subtitle parameter
  subs/demux: don't try to enable sub track when creating it
  subtitles/demux: store duration instead of endpts in demux packets
  subtitles: add framework for subtitle decoders
  options: add special -leak-report option
  subtitles: remove code trying to handle text subs with libavcodec
  cleanup: move MP_NOPTS_VALUE definition to mpcommon.h
  subtitles: move global ass_track to struct osd_state
  core: move most mpcommon.c contents to mplayer.c
  core: move global "subdata" and "vo_sub_last" to mpctx
  subtitles: remove sub_last_pts hack
  options: move -noconfig to option struct, simplify
2011-01-26 20:42:15 +02:00
Uoti Urpala c9026cb321 sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
Clément Bœsch 3a7b071517 TOOLS: Remove most of the mencoder scripts and references 2011-01-25 03:15:26 +02:00
Uoti Urpala 5a3edf4c07 TOOLS/matroska.py: recognize 3 more elements
Add definitions for DisplayUnit, OutputSamplingFrequency and
FileDescription in matroska.py. Regenerate the C template files to
allow using all current definitions in code.
2010-11-21 14:20:38 +02:00
cboesch fe3c4810e1 cleanup: remove NULL checks before free() all over the code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32624 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-14 13:11:20 +02:00
Uoti Urpala 259ab1fe2d TOOLS/matroska.py: recognize MaxCache element 2010-11-08 18:05:12 +02:00
siretart c1515ae3aa TOOLS/binary_codecs.sh: make indentation consistent
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32561 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-07 21:47:32 +02:00
Uoti Urpala 3a1f89810f TOOLS/matroska.py: stop cleanly at EOF of complete file when parsing
When using the script to parse a Matroska file, the script used to
exit with an exception at EOF. Change it to exit quietly instead if
the file was parsed successfully. Keep showing an exception if EOF is
encountered in the middle of an element (truncated file).
2010-11-02 04:18:37 +02:00
Uoti Urpala 49096c7ae2 TOOLS/matroska.py: change to python3 syntax 2010-11-02 04:18:37 +02:00
siretart 79347eaedb TOOLS/binary_codecs.sh: avoid creating fake "bestsites"
Do not create a fake 'bestsites' if neither 'fping' nor 'netselect' is
installed.

change developed by A Mennucc <mennucc1 [at] debian [dot] org>

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32485 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:18:37 +02:00
siretart b1f187eb48 TOOLS/binary_codecs.sh: fix obsolete dpkg syntax
Use 'dpkg --print-architecture', the option
--print-installation-architecture is deprecated.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32484 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:18:37 +02:00
diego b1013d34ad TOOLS/subrip: fix linking failure
Work around linking failure due to unresolved reference to mplayer_version.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32328 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:18:07 +02:00
reimar fe6c4fcae2 cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr)
Replace malloc+memset by calloc

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32181 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32182 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32183 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace some sizeof(type) by sizeof(*pointer)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32184 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32186 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32187 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32188 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizoef(type) by sizeof(*ptrvar).
Besides being consistent with FFmpeg style,
this reduces the size of a patch to rename these
types to not conflict with the windows.h definitions.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32189 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32191 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32192 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizeof(type) by sizeof(*ptrvar)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32193 b3059339-0415-0410-9bf9-f77b7e298cf2

Remove a useless cast.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32194 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizeof(type)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32195 b3059339-0415-0410-9bf9-f77b7e298cf2

Remove a useless cast.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32196 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace several sizeof(WAVEFORMATEX)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32197 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace one more instance of sizeof(WAVEFORMATEX); fix compilation.
patch by Clément Bœsch, ubitux gmail com

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32199 b3059339-0415-0410-9bf9-f77b7e298cf2

Avoid some pointless uses of sizeof() and one related cast.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32200 b3059339-0415-0410-9bf9-f77b7e298cf2

Merge one malloc() + memset() invocation into calloc().

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32202 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32203 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizeof(WAVEFORMATEX) occurrences.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32205 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32206 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizeof(BITMAPINFOHEADER)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32207 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:16:46 +02:00
diego 713284ea26 build: Rename configure.log file to config.log
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31415 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:08:56 +02:00
Uoti Urpala 7a190c461b TOOLS/matroska.py: recognize ChapCountry 2010-10-21 21:47:12 +03:00
Anton Khirnov de42015a97 demux_mkv: read tags. 2010-05-22 06:40:34 +03:00
Uoti Urpala cbc6eabb9f TOOLS/matroska.py: support 8-byte floats in parsing mode
Support parsing and printing the value of 8-byte floats when using the
script to parse and display contents of Matroska files.
2010-03-11 23:42:20 +02:00
Uoti Urpala e74708f619 Merge svn changes up to r30748 2010-03-10 01:50:55 +02:00
Uoti Urpala 90f5873f1a Merge svn changes up to r30675 2010-03-10 00:47:25 +02:00
Uoti Urpala 13221a7165 Merge svn changes up to r30663
Conflicts:
	gui/cfg.c
	libmpcodecs/vd_dmo.c
	mplayer.c
2010-03-10 00:13:11 +02:00
Uoti Urpala b0986b3760 Merge svn changes up to r30463
Note that r30455 is wrong, that commit does not in fact change the
default behavior as claimed in the commit message. It only breaks
"-af-adv force=0", which was already pretty much useless though.
2010-03-09 18:59:15 +02:00
diego b63759b175 Do not cast the results of malloc/calloc/realloc.
These functions return void*, which is compatible with any pointer,
so there is no need for casts.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30744 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-26 15:01:37 +00:00
attila fad137d7fe mention that on windows, you've to use the netstream.exe to build the
netstream binary


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30743 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-26 12:49:49 +00:00
diego 8ba6b4eaf9 cosmetics: Remove pointless empty lines at EOF.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30675 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-20 21:02:49 +00:00
diego 8990266157 TOOLS/realcodecs: Remove pointless '#if 1' preprocessor directives.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30652 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-19 09:46:31 +00:00
diego ce3ffd4292 Add standard license header to C tools missing them.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30458 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-30 13:35:03 +00:00
Uoti Urpala c710c5ee50 Merge branch 'matroska' 2010-01-28 00:56:26 +02:00
Uoti Urpala 5f631d1c08 matroska: add new parsing code
Add a new EBML parser implementation that should allow significant
improvements to the Matroska demuxer. The new parsing code is not
actually used yet by the demuxer. The only changes to existing code in
this commit are to generate the MATROSKA_ID_* / EBML_ID_* macro
definitions from the new implementation and to rename some of them
(the new implementation uses names matching the official Matroska spec).

The main parser implementation is added in ebml.c. There are two new
generated files, ebml_defs.c and ebml_types.h, that contain
definitions of EBML elements. Those are generated by the new script
TOOLS/matroska.py. There's a new Makefile target "generated_ebml" that
run the script to refresh the content of the generated files.
2010-01-27 14:26:43 +02:00
Uoti Urpala e28e4a1b15 Merge svn changes up to r30419 2010-01-25 15:59:53 +02:00
compn a30dbabd9f clean up netstream docs in TOOLS/README
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30406 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-23 15:41:58 +00:00
Uoti Urpala 14bb3416c7 vo_vdpau: Add support for high-quality scaling feature
Part of the code is currently under #ifdef to allow compilation with
older VDPAU library versions; that can be removed later.

Partially based on a patch by Carl Eugen Hoyos.
2009-11-15 18:39:48 +02:00
Uoti Urpala 201bef7ee1 Implement vsync-aware frame timing for VDPAU
Main things added are custom frame dropping for VDPAU to work around
the display FPS limit, frame timing adjustment to avoid jitter when
video frame times keep falling near vsyncs, and use of VDPAU's timing
feature to keep one future frame queued in advance.

NVIDIA's VDPAU implementation refuses to change the displayed frame
more than once per vsync. This set a limit on how much video could be
sped up, and caused problems for nearly all videos on low-FPS video
projectors (playing 24 FPS video on a 24 FPS projector would not work
reliably as MPlayer may need to slightly speed up the video for AV
sync). This commit adds a framedrop mechanism that drops some frames
so that no more than one is sent for display per vsync. The code
tries to select the dropped frames smartly, selecting the best one to
show for each vsync. Because of the timing features needed the drop
functionality currently does not work if the correct-pts option is
disabled.

The code also adjusts frame timing slightly to avoid jitter. If you
for example play 24 FPS video content on a 72 FPS display then
normally a frame would be shown for 3 vsyncs, but if the frame times
happen to fall near vsyncs and change between just before and just
after then there could be frames alternating between 2 and 4
vsyncs. The code changes frame timing by up to one quarter vsync
interval to avoid this.

The above functionality depends on having reliable vsync timing
information available. The display refresh rate is not directly
provided by the VDPAU API. The current code uses information from the
XF86VidMode extension if available; I'm not sure how common cases
where that is inaccurate are. The refresh rate can be specified
manually if necessary.

After the changes in this commit MPlayer now always tries to keep one
frame queued for future display using VDPAU's internal timing
mechanism (however no more than 50 ms to the future). This should make
video playback somewhat more robust against timing inaccuracies caused
by system load.
2009-11-15 12:45:58 +02: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 e1ecc43152 Merge svn changes up to r29684 2009-09-16 22:28:12 +03:00
diego 2acf75aeed Convert to UTF-8.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29670 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-10 18:35:10 +00:00
diego 37677802e5 Fix bashism: Use '$(( ))' syntax instead of '(( ))' for arithmetic expressions.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29669 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-10 18:29:34 +00:00
diego b70a91d505 Avoid bash-specific 'let' syntax in shell scripts.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29653 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-07 10:37:16 +00:00
Uoti Urpala 3b3dfc02ac vo_vdpau: Support recovering from VDPAU display preemption
Add code to reinitialize all VDPAU objects if a display preemption
condition occurs. Reinitializing them in the middle of playback will
cause video corruption at least until the next keyframe when using
hardware decoding, but decoding does seem to recover after a keyframe.
2009-09-07 03:12:02 +03:00
Uoti Urpala d9cea6a98b vo_vdpau: Allocate one large surface for EOSD content
Create a single large bitmap surface for EOSD objects and pack all the
bitmap rectangles inside that. The old code created a separate bitmap
surface for every bitmap and then resized the cached surfaces when
drawing later frames. The number of surfaces could be large (at least
about 2000 for one sample subtitle script) so this was very
inefficient. The old code also used a very simple strategy for pairing
existing surfaces to new bitmaps; it could resize tiny surfaces to
hold large glyphs while using existing large surfaces to hold tiny
glyphs and as a result allocate arbitrarily much more total surface
area than was necessary.

The new code only supports using a single surface, freeing it and
allocating a larger one if necessary. It would be possible to support
multiple surfaces in case of hitting the maximum bitmap surface size,
but I'll wait to see if that is actually needed before implementing
it. NVIDIA seems to support bitmap surface sizes up to 8192x8192, so
it would take either a really pathological subtitle script rendered at
a high resolution or an implementation with lower limits before
multiple surfaces would be necessary.

The packing algorithm should successfully pack the bitmaps into a
surface of size w*h as long as the total area of the bitmaps does not
exceed 16/17 (w-max_bitmap_width)*(h-max_bitmap_height), so there
should be no totally catastrophic failure cases. The 16/17 factor
comes from approximate sorting used in the algorithm. On average
performance should be better than this minimum guaranteed level.
2009-09-05 06:25:47 +03:00
Uoti Urpala 575331d73c Merge branch 'vdpau_old' into vdpau 2009-08-31 22:18:51 +03:00
Uoti Urpala dc44507f2a vo_vdpau: Add template file for VDPAU functions
Add a template file that contains a single listing of various
information needed about the VDPAU interface functions, and is then
included multiple times to create required declarations and tables.
Previously some of the information needed to be duplicated for each of
those uses.
2009-08-29 20:18:42 +03:00
Uoti Urpala 0eb321bf2c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
diego 6e9cbdc104 whitespace cosmetics: Remove all trailing whitespace.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-05-13 02:58:57 +00:00
siretart 5e08e6c4b5 commit remaining binary_codecs.sh changes from debian.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29228 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-23 21:01:07 +00:00
siretart 0688204a7d check for missing libstdc++
this version of the check assumes that we run on a system with apt-get
installed and configured. We should probably check that this is actually
true. Or more ideally add support for yum for fedora systems.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29227 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-23 20:59:46 +00:00
siretart fc7d8af3b4 more cosmetics
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29226 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-23 20:56:59 +00:00
diego 72451328bc whitespace cosmetics
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29225 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-23 18:54:22 +00:00