Commit Graph
2371 Commits
Author SHA1 Message Date
sesse 45fd2e0457 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
friends) instead of the unsupported, internal ones (ImageCodecBeginBand
etc.). This is a prerequisite for, among others, Apple ProRes 4:2:2 support,
and simplifies the file by quite a bit.

Tested on Linux with all existing QuickTime codecs I could get to work in the
first place; qt261, qtavui, qtsvq3 have no change. qtcvid appears to not give
bit-exact the same output as before, but it looks just the same in playback
to me. qt3ivx stops crashing on exit (so works better than before). With some
extra patches and a codecs.conf entry, ProRes 4:2:2 also works, including on
Linux.

Since codec initialization is now actually done on decoder init instead of on
first frame, fallback should also work a bit better (although usually, qtvideo
is last in the chain). Also made the decoder complain explicitly if the
demuxer data is not there (ie., the user tried to run without -demuxer mov).

This patch is a cleaned up version of what Andrew Wason (rectalogic A
rectalogic D com) posted to mplayer-dev-eng in June.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30899 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-15 12:05:56 +00:00
diego aee9749bca Replace separate Win32, XAnim and Real codec directories by one global dir.
Nowadays MPlayer does not use the codecs from other installed programs.
A runtime setting will soon take over the rare case that binary codecs
should be searched for in non-standard directories.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30888 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-14 16:13:32 +00:00
reimar d06c04bb67 Support extradata format of the speex.acm windows codec formerly available
from openacm.org.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30884 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-12 18:19:51 +00:00
reimar fdd4ddccd4 Fix crash if speex_packet_to_header fails.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30883 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-12 17:29:48 +00:00
sesse a8804d4d71 Fix QuickTime emulated OSErr type.
The OSErr type on Mac OS X is int16_t, not int32_t (see
http://developer.apple.com/mac/library/documentation/QuickTime/Reference/QTRef_DataTypes/Reference/reference.html).
The upper 16 bits will typically be something random (they're entirely
undefined). Change the type so it's right; a few places tried to compensate
for this by masking out the upper bits, but a few places also missed them,
which made for unpredictable behavior.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30854 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-06 11:12:32 +00:00
greg ca7cbc0724 Enable ASS/SSA subtitle support in mencoder
Enable ASS/SSA rendering through libass in mencoder. This duplicates a
bit of code (to parse font attachments, for example). Additionally, add
a filter "fixpts" that generates PTS, simulating fixed fps. PTS
generated by this filter are then used for subtitle timing.

Original patch by Nicolas George. (nicolas.george normalesup.org)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30849 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-05 23:13:08 +00:00
reimar 57f4448e7a Partially revert r30645, the final output format is determined by
mpcodecs_config_vo so we need to query it afterwards.
Still try to set a more sensible, codec-dependant preferred format even
though it is currently ignored.
Fixes bug #1659, based on patch by Andrew Wason [rectalogic rectalogic com]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30824 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-03 21:32:31 +00:00
reimar e86ecdac03 Reuse the keyframe flag from x264 instead of trying to derive it on our own.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30790 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-28 07:52:34 +00:00
reimar 4d08f30d25 Use the KEYFRAME define instead of some magic number.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30789 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-28 07:45:23 +00:00
cehoyos 6c0da216d7 Get rid of many ugly casts.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30786 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-28 01:06:09 +00:00
cehoyos fd21cdeb47 Make close_toolame() static, only used in ae_toolame.c.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30785 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-28 00:28:14 +00:00
cehoyos aa4388fea4 Make close_twolame() static, only used in ae_twolame.c.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30783 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-28 00:23:58 +00:00
cehoyos 5a1eca395c Actually use existing uninit() function in remove_logo filter.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30778 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-27 22:32:25 +00:00
cehoyos f21d2dcc7e Make function Gsm_Long_Term_Synthesis_Filtering() static, only used in xa_gsm.c.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30772 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-27 21:02:14 +00:00
diego 0d7e91b104 Mark all fmt_list arrays as const.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30750 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-26 19:56:03 +00:00
diego 2ec8252503 Mark vf_opts/vf_opts_fields structures as const.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30749 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-26 17:21:06 +00: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
reimar 25f353346d Add const to mpvdec declaration
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30734 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-25 22:23:58 +00:00
reimar 5a2289137f Fix check for wrong variable: len can be unitialized but not normally < 0,
the return value needs to be checked to detect an error.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30732 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-25 22:06:05 +00:00
diego 5206db7e60 Mark member info of struct ad_functions_s as const.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30705 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-22 14:04:39 +00:00
diego b2172f784d Mark a bunch of video filter structures as const.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30704 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-22 14:03:46 +00:00
diego 50e3d811db Remove commented-out cruft line.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30703 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-22 14:02:18 +00:00
diego 36a14ac50c Declare externally used variables from vd.c as extern in vd.h.
This saves declaring them as extern all over the place.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30695 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-22 09:51:44 +00:00
diego e0bc115b4d cosmetics: Rename struct vf_instance_s --> vf_instance.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30684 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 15:48:03 +00:00
diego 28cf6ea2be Rename open() vf initialization function to vf_open().
This avoids clashes with fcntl.h under certain circumstances.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30680 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 13:40:49 +00:00
diego d819c05ced Add malloc.h #include for memalign(), fixes the warning:
libmpcodecs/vd_dmo.c:81: warning: implicit declaration of function 'memalign'


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30678 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-21 12:48:56 +00:00
diego 2a5c4d21f2 Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30676 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-20 21:27: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
komh 0599ce10ab Fix the stack crash(SYS3171) on OS/2 when playing qtaudio/qtvideo.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30656 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-19 13:50:16 +00:00
diego ec3ab25f89 cosmetics: Remove commented-out #include.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30653 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-19 10:18:55 +00:00
reimar fb610d5d97 DirectShow requires stride to be a multiple of 4 for RGB24/BGR24, add
a special case to the DMO decoder to handle this.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30648 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-18 23:11:27 +00:00
reimar 7e808d390c Merge declaration and initialization.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30647 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-18 22:37:08 +00:00
reimar 6d2c5ad18d DShow and DMO decoders need MP_IMGFLAG_COMMON_PLANE
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30646 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-18 22:34:27 +00:00
reimar 0f86bc16ba Call mpcodecs_config_vo with the proper image format for dmo and dshow codecs.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30645 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-18 22:28:55 +00:00
diego 0055441774 Add header for AVI print functions; avoids many forward declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30631 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-18 00:18:50 +00:00
reimar 84da7d44ef Handle negative height in draw_slice from FFmpeg in vd_ffmpeg.c, since at
least vo_xv and vo_sdl can not handle it and the scale filter seems
to work fine either way.
The FFmpeg vp3/Theora decoder produces such slices.
Fixes bug #1646.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30630 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 23:46:57 +00:00
diego 0c3d44619b libmpcodecs: Remove pointless leftover '#if 1' preprocessor instructions.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30608 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 21:36:00 +00:00
diego 05ef58b9f7 Revert marking seemingly unused XAnim-binary-related functions as static.
The functions are required to load binary XAnim codecs, so they need to be kept.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30607 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 21:29:05 +00:00
diego f15694a779 Revert marking seemingly unused RealAudio/RealVideo-related functions as static.
The functions are required to load binary Real codecs, so they need to be kept.
Group all functions together in ad_realaud.c because all the functions are used
to load audio binaries and only some to load video binaries.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30606 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-17 19:21:28 +00:00
diego a6207aaa68 libmpcodecs: Mark functions not used outside of their files as static.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30597 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-16 16:16:42 +00:00
diego 465f535c51 #include corresponding .h files in .c files.
This ensures that function declarations in both files always match.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30596 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-16 15:03:03 +00:00
diego 3c514ea708 Add header for init_global_rawdv_decoder() instead of forward declaring it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30595 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-16 14:52:59 +00:00
diego caa956090a Add header file for mplayer_audio_read() instead of forward declaring it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30594 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-16 13:16:17 +00:00
reimar f452c1262f Add support for decoding 4:2:2 and 4:4:4 Theora files.
Patch by Giorgio Vazzana [mywing81 gmail com]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30585 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 15:39:52 +00:00
diego 2e98215f13 Move movie_aspect extern declaration to libmpcodecs/vd.h.
This is the appropriate place for the declaration; the variable is
declared in libmpcodecs/vd.c.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30579 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 14:47:22 +00:00
reimar 318156ae6b Reindent
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30569 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 11:19:52 +00:00
reimar 270ebbb913 Just use goto instead of reimplementing it badly with a do { } while (0) and
break.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30568 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 11:17:12 +00:00
reimar f2488e8537 Change aspect calculation code to switch to floating point earlier so integer
overflows are not possible.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30567 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 11:13:20 +00:00
reimar cfcbf57e54 Return NULL instead of 0 for function returning a pointer.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30565 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 11:11:49 +00:00
diego 9fefbedb17 Mark uninit() as static; it is only used within the file.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30564 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 11:09:58 +00:00