aboutsummaryrefslogtreecommitdiffhomepage
path: root/TOOLS
Commit message (Collapse)AuthorAge
* TOOLS/fil2string.py: fix for use with binary filesGravatar wm42012-07-28
| | | | | | | | | | The script was written to be able to deal with binary files, but it had a bug corrupting some data: e.g. a byte sequence 0x1 0x37 was printed as "\17" (0x1 = escaped as "\1", and 0x37 = kept as literal "7"), which would be interpreted as single character 0xF. Always pad octal literals to length 3, which makes the escape sequences unambiguous.
* TOOLS: remove useless crapGravatar wm42012-07-28
| | | | | | | | | | | | | | | | | | | | Most of the scripts in TOOLS seem entirely useless. Remove them. There were about 3 types of scripts: - apparent developer tools (like file format dumpers, benchmarks) => I doubt any mplayer developer still alive even uses these - helpers for encoding or ripping stuff => mencoder is gone, at least from this version of mplayer - helpers meant for users (launching mplayer in weird ways, etc.) => just no, it will cause you more pain than gain So no, there is nothing useful. Under the scripts not deleted, these are needed for building mplayer: file2string.py matroska.py vdpau_functions.py These might have _some_ use (but still questionable): binary_codecs.sh checktree.sh
* Remove TOOLS/realcodecsGravatar wm42012-07-28
| | | | | | | I have no idea what these are about, but it's probably useless outdated crap. According to TOOLS/README, they are wrappers around some Real binary codecs. They were added in 2003, and never touched again (except for cosmetic changes).
* build, codec-cfg.c: simplify builtin codecs.conf handlingGravatar Uoti Urpala2012-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | The player can read codec mapping (codecs.conf) from an external file or use embedded defaults. Before, the defaults were stored in the player binary in the form of final already-parsed data structures. Simplify things by storing the text of the codecs.conf file instead, and parse that at runtime the same way an external file would be parsed. To create the previous parsed form, the build system first compiled a separate binary named "codec-cfg", which parsed etc/codecs.conf and then wrote the results as a C data structure that could be compiled into the program. The new simple conversion of codecs.conf into a C string is handled by the new script TOOLS/file2string.py. After removing the codec-cfg binary, HOST_CC is no longer used for anything. Remove the --host-cc configure option and associated logic. Also remove the codec2html and codec-cfg-test functionality. Building those was already broken and nobody cared. There was a broken 3-character-long "fourcc" entry in etc/codecs.conf. This happened to be accepted before but triggered a parse error after the changes. Remove the broken entry and make the parsing functions explicitly test for this error.
* build: use python3 to generate some files previously in gitGravatar Uoti Urpala2012-07-16
| | | | | | | | | | | | Some files used during build are generated with Python scripts in TOOLS/. Before, the generated files were included in the git tree. Start creating them at build time. This introduces a build-dependency on python3. The files in question are: libvo/vdpau_template.c libmpdemux/ebml_types.h libmpdemux/ebml_defs.c
* vo_vdpau: implement screenshotsGravatar wm42011-11-25
|
* TOOLS/matroska.py: recognize CodecNameGravatar Uoti Urpala2011-04-08
|
* TOOLS/: minor fixes in tool codeGravatar siretart2011-01-31
| | | | | | | | | | | | | | | | | | | | | 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
* Merge branch 'sub'Gravatar Uoti Urpala2011-01-26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * sub/OSD: move some related files to sub/Gravatar Uoti Urpala2011-01-26
| |
* | TOOLS: Remove most of the mencoder scripts and referencesGravatar Clément Bœsch2011-01-25
|/
* TOOLS/matroska.py: recognize 3 more elementsGravatar Uoti Urpala2010-11-21
| | | | | | Add definitions for DisplayUnit, OutputSamplingFrequency and FileDescription in matroska.py. Regenerate the C template files to allow using all current definitions in code.
* cleanup: remove NULL checks before free() all over the codeGravatar cboesch2010-11-14
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32624 b3059339-0415-0410-9bf9-f77b7e298cf2
* TOOLS/matroska.py: recognize MaxCache elementGravatar Uoti Urpala2010-11-08
|
* TOOLS/binary_codecs.sh: make indentation consistentGravatar siretart2010-11-07
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32561 b3059339-0415-0410-9bf9-f77b7e298cf2
* TOOLS/matroska.py: stop cleanly at EOF of complete file when parsingGravatar Uoti Urpala2010-11-02
| | | | | | | 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).
* TOOLS/matroska.py: change to python3 syntaxGravatar Uoti Urpala2010-11-02
|
* TOOLS/binary_codecs.sh: avoid creating fake "bestsites"Gravatar siretart2010-11-02
| | | | | | | | | 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
* TOOLS/binary_codecs.sh: fix obsolete dpkg syntaxGravatar siretart2010-11-02
| | | | | | | 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
* TOOLS/subrip: fix linking failureGravatar diego2010-11-02
| | | | | | 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
* cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr)Gravatar reimar2010-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* build: Rename configure.log file to config.logGravatar diego2010-11-02
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31415 b3059339-0415-0410-9bf9-f77b7e298cf2
* TOOLS/matroska.py: recognize ChapCountryGravatar Uoti Urpala2010-10-21
|
* demux_mkv: read tags.Gravatar Anton Khirnov2010-05-22
|
* TOOLS/matroska.py: support 8-byte floats in parsing modeGravatar Uoti Urpala2010-03-11
| | | | | Support parsing and printing the value of 8-byte floats when using the script to parse and display contents of Matroska files.
* Merge svn changes up to r30748Gravatar Uoti Urpala2010-03-10
|\
* \ Merge svn changes up to r30675Gravatar Uoti Urpala2010-03-10
|\ \
* \ \ Merge svn changes up to r30663Gravatar Uoti Urpala2010-03-10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gui/cfg.c libmpcodecs/vd_dmo.c mplayer.c
* \ \ \ Merge svn changes up to r30463Gravatar Uoti Urpala2010-03-09
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | | * Do not cast the results of malloc/calloc/realloc.Gravatar diego2010-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | | * mention that on windows, you've to use the netstream.exe to build theGravatar attila2010-02-26
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | netstream binary git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30743 b3059339-0415-0410-9bf9-f77b7e298cf2
| | | * cosmetics: Remove pointless empty lines at EOF.Gravatar diego2010-02-20
| | |/ | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30675 b3059339-0415-0410-9bf9-f77b7e298cf2
| | * TOOLS/realcodecs: Remove pointless '#if 1' preprocessor directives.Gravatar diego2010-02-19
| |/ | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30652 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add standard license header to C tools missing them.Gravatar diego2010-01-30
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30458 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge branch 'matroska'Gravatar Uoti Urpala2010-01-28
|\ \
| * | matroska: add new parsing codeGravatar Uoti Urpala2010-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge svn changes up to r30419Gravatar Uoti Urpala2010-01-25
|\ \ \ | |/ / |/| / | |/
| * clean up netstream docs in TOOLS/READMEGravatar compn2010-01-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30406 b3059339-0415-0410-9bf9-f77b7e298cf2
* | vo_vdpau: Add support for high-quality scaling featureGravatar Uoti Urpala2009-11-15
| | | | | | | | | | | | | | 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.
* | Implement vsync-aware frame timing for VDPAUGravatar Uoti Urpala2009-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'vdpau' into buildGravatar Uoti Urpala2009-09-19
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 ...
* \ \ Merge svn changes up to r29684Gravatar Uoti Urpala2009-09-16
|\ \ \ | | |/ | |/|
| * | Convert to UTF-8.Gravatar diego2009-09-10
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29670 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | Fix bashism: Use '$(( ))' syntax instead of '(( ))' for arithmetic expressions.Gravatar diego2009-09-10
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29669 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | Avoid bash-specific 'let' syntax in shell scripts.Gravatar diego2009-09-07
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29653 b3059339-0415-0410-9bf9-f77b7e298cf2
| | * vo_vdpau: Support recovering from VDPAU display preemptionGravatar Uoti Urpala2009-09-07
| | | | | | | | | | | | | | | | | | | | | 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.
| | * vo_vdpau: Allocate one large surface for EOSD contentGravatar Uoti Urpala2009-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * Merge branch 'vdpau_old' into vdpauGravatar Uoti Urpala2009-08-31
| |/| |/| |
| | * vo_vdpau: Add template file for VDPAU functionsGravatar Uoti Urpala2009-08-29
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Remove trailing whitespace from most filesGravatar Uoti Urpala2009-07-07
| |/ |/|