summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf"Uoti Urpala2010-05-2995-390/+401
| | | | | | | Change 'struct vf_instance' pointer arguments to more standard style as in the subject. Also some other minor formatting fixes. Patch by Diego Biurrun.
* af_lavcac3enc: actually enable the filter by defaultUoti Urpala2010-05-261-3/+1
| | | | | The filter was changed earlier to allow building without FFmpeg internal symbols. Make it actually available by default.
* vo_vdpau: fix loop initializing output surfaces as invalidUoti Urpala2010-05-261-5/+10
| | | | | | | | | | | | | The loop initializing handles in the output surface table to VDP_INVALID_HANDLE ran over indices from 0 to vc->num_output_surfaces. However it is first called before that variable is initialized. As a result later code could try to destroy the handles which still had the "non-invalid" value 0. Most likely this caused no visible effects; at least on my machine no valid surface gets handle 0, and libvdpau just returns an error for the resulting invalid calls. Change the code to loop over the whole table. Also add code to print visible warnings if libvdpau rejects a surface destroy call (some other places already had checks but not all).
* demux_mkv: fix realvideo extradata handlingUoti Urpala2010-05-261-2/+1
| | | | | | | | | | | | | | The code handling larger-than-minimum realvideo extradata sizes was complete nonsense. It tried to add the additional data to the exported track extradata by reading data from the input stream, which was completely bogus as this code is called long after the original Matroska track extradata information has been read. As a result the data read had nothing to do with correct values, and the read call messed up the stream position which likely broke further parsing of the file and caused complete playback failure. Change the code to instead copy any additional part at the end of input extradata to the end of output extradata. I believe this is the intended semantics, though I haven't verified it from any specs.
* demux_mkv: fix crash bug introduced by recent changeUoti Urpala2010-05-241-2/+2
| | | | | | | Commit fc39d48465 ("demux_mkv: store streams sequentially in demuxer->[avs]_streams") had a simple bug in automatic stream selection causing a crash if no video or audio track was marked as 'default'. Fix.
* demux_mkv: support switching to/from -nosoundUoti Urpala2010-05-221-18/+13
| | | | | | Allow audio stream switching to turn off sound or enable it, and also include nosound as one of the values cycled through when stepping to the next audio stream.
* demux_mkv: store streams sequentially in demuxer->[avs]_streamsUoti Urpala2010-05-221-49/+55
| | | | | | | | | demux_mkv used the Matroska TrackNumber as the array offset in demuxer stream lists. The TrackNumber entry stored in the file can be an arbitrary 64-bit value, and some of the code could try reading from the arrays with that offset, causing a crash if the file had insane values. Fill the arrays sequentially instead. Also add some checks to make the handling of too high stream counts more robust.
* Make audio stream index handling saner in stream switchingUoti Urpala2010-05-223-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The handling of audio stream numbering was handled in the stream selection property was a total mess. The most important issue was confusion between values used as index for demuxer->audio_streams[] array (consistently stored in demuxer->audio->id) and values stored in sh_audio->aid and used as "-aid N" option values. Now demuxer audio switch control functions and demuxer_switch_audio() are supposed to return the new value for the "-aid" option (internal MPEG demuxers still don't; the demuxer requirement could perhaps be dropped as it can be easily calculated afterwards). That is also the value returned for the "switch_audio" property. The main changes are: - Make command.c mp_property_audio() consistently use and return the "-aid" values. Before it used that as input but the array index as output, with extra mess related to demuxer_switch_audio() return value. Don't modify the audio_id option field any more. - Make demuxer_switch_audio() always return "-aid" values (like it takes as input). There are two changes for this: picking this return value in case the demuxer doesn't support switching, and overriding demuxer return value (for internal MPEG demuxers). - Make demux_lavf return "-aid" values from DEMUXER_CTRL_SWITCH_AUDIO code. This isn't actually necessary because of the override part above. Here's some history of the relevant behavior that I looked up: * For most demuxers array index and "-aid" values are the same. At least demux_mkv, (some of?) the internal MPEG demuxers and demux_ogg have differed for a long time. demux_ogg doesn't matter because it doesn't support stream switching. * Old code seemed to assume that demuxer_switch_audio() return value was array index, but this wasn't true at least for demux_mkv. * In svn r19951 reimar mostly removed use of the return value. * In r20162 ptt added mp_property_audio(). This set the global audio_id variable (-aid option value) to the return value of demuxer_switch_audio() and treated the global as the persistent value of the property, apparently assuming that it would be set to the "-aid" value, not array index. This was false for internal MPEG. * In r30124 reimar changed the property code so that even though it still modified the option value it didn't use that as the value of the property any more; instead it incorrectly used the array index. This meant that for demux_mkv the return value didn't match -aid any more (though input still did, so setting the property and querying it didn't match as they used different value systems). * In r31129 aurel made demux_lavf changes that resulted in its -aid and array index values no longer matching either. He didn't change the return value from audio switch when changing -aid, so it now matched array index only. The latter part didn't cause additional problems from r20162 though because either choice would have been broken anyway after r30124 as long as they weren't the same value.
* core: apply audio track options to all ordered chapter filesUoti Urpala2010-05-221-1/+6
| | | | | | | Options selecting audio track to play (-nosound, -alang, -aid) only affected the first source file. When you moved to a timeline part that came from another file the default audio track for that file was used. Add code to apply the options to all files.
* options: move -alang and -slang to option structUoti Urpala2010-05-228-42/+41
| | | | | | | The option field corresponding to -slang is now called "sub_lang" instead of the old misleading global name "dvdsub_lang". The code handling -slang in subreader.c looks rather broken; disable it instead of converting it to use the option field.
* stream.h: remove bad EOF check in stream_seek()Uoti Urpala2010-05-222-3/+0
| | | | Also remove a redundant stream->eof = 0 in demuxer.c.
* demux_mkv: read tags.Anton Khirnov2010-05-224-5/+86
|
* demux: use bstr arguments for demuxer_add_attachment() and demuxer_add_chapter()Anton Khirnov2010-05-224-29/+25
|
* demuxer.c: add demux_info_add_bstr(), use talloc for info fieldAnton Khirnov2010-05-212-15/+18
| | | | demux_info_add() is now a wrapper around demux_info_add_bstr().
* bstr.[ch]: add new files for struct bstr related functionalityUoti Urpala2010-05-206-9/+96
| | | | | | | | Move "struct bstr" definition from ebml.h to its own header and add some utility functions/macros. Change length field type from int to size_t and adjust using code accordingly. Partially based on a patch from Anton Khirnov.
* subreader.c: allow compilation with old FriBiDi 0.10Uoti Urpala2010-05-161-0/+4
| | | | | | | | After fixing the type of the third parameter given to fribidi_log2vis the code didn't compile with old FriBiDi 0.10 any more. Seems that the parameter type has changed in FriBiDi and the type expected by current versions didn't exist in older ones at all. Fix compilation with old FriBiDi by adding an #if based on FRIBIDI_INTERFACE_VERSION.
* ad_pcm: don't rely on demux packets staying validUoti Urpala2010-05-151-9/+23
| | | | | | | | | Change ad_pcm to copy input packet data into an internal buffer instead of relying on the packet still existing at the next decode() call. The extra memcpy could be avoided by improving the demuxer API a bit but I don't feel like implementing that now. Also add a ADCTRL_RESYNC_STREAM handler to drop buffered data from previous stream position.
* ad_pcm: fix crash at EOFUoti Urpala2010-05-151-1/+1
| | | | | | | Fix use of unsigned type where negative values were needed. When playing a file with multichannel PCM audio the bug could result in the channel reorder function scrambling memory at the end of playback, causing a crash.
* cosmetics: reindent ad_pcm.cUoti Urpala2010-05-151-117/+120
|
* vo_vdpau: support queuing an arbitrary number of frames aheadUoti Urpala2010-05-143-43/+83
| | | | | | | | | | | | Make the number of output surfaces allocated by vo_vdpau configurable and allow queuing multiple future frames with the VDPAU frame timing functionality. There are two known issues that could be polished in the future for particularly long queue time cases. First, toplevel code should possibly wait for the queued changes to finish displaying in some situations like switching files. Second, the VO can block waiting for a surface to become available, and in the worst case this wait can be almost as long as the maximum queuing time (potentially causing audio underruns). However those issues are not high priority.
* af_lavcac3enc: make the filter work without FFmpeg internalsUoti Urpala2010-05-142-8/+23
| | | | | | | The only FFmpeg internal symbols required were some constants. Define them in the file itself instead. Also add some checks and fixes to make the code more robust and fix a potential memory corruption problem.
* vo_vdpau: add option for studio level outputUoti Urpala2010-05-122-2/+23
| | | | | | | Add -vo vdpau suboption "studio" to produce output in RGB range 16-235. Man page description mostly taken from a patch by Lauri Mylläri (but not code). Also slightly tweak the description of two other suboptions on the man page.
* vdpau: drop support for old versionsUoti Urpala2010-05-112-6/+1
| | | | | | | | Since I dropped the hack to support older libvdpau versions (without MPEG4 / hqscaling features) from the FFmpeg version used in the build repo it's better to disable those libvdpau versions in MPlayer too. Change the configure check to require a newer libvdpau version, and drop compatibility code in vo_vdpau.c.
* subreader: remove pointless messageUoti Urpala2010-05-081-1/+2
| | | | | | The code printed a pointless "dvdsublang..." message at MSGL_INFO level. Remove that. Add instead a MSGL_DBG2 message showing tested files and their priorities.
* subreader.c: fix fribidi variable typeUoti Urpala2010-05-081-2/+1
| | | | | Use FriBidiParType instead of FriBidiCharType for a variable used as the third argument of fribidi_log2vis().
* mplayer.c: remove an unnecessary #includeUoti Urpala2010-05-081-1/+0
|
* intreadwrite.h: disable optimizationsUoti Urpala2010-05-082-120/+0
| | | | | | Disable arch/compiler specific optimizations in the MPlayer version of intreadwrite.h. All the uses in MPlayer should be irrelevant for performance.
* vd_ffmpeg: remove #ifdef for old FFmpeg-mt versionsUoti Urpala2010-05-071-6/+0
| | | | | The #ifdef is obsolete since trying to compile against the relevant old versions will fail for other reasons.
* Merge svn changes up to r31141Uoti Urpala2010-05-0719-7/+123
|\
| * Remove references to some long-removed files.diego2010-05-071-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31141 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove seemingly misplaced and commented-out liba52 #include.diego2010-05-071-1/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31140 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add support for 12-bit color mode on framebuffer devices.cehoyos2010-05-0616-4/+121
| | | | | | | | | | | | | | Patch Janusz Krzysztofik, jkrzyszt A tis icnet pl git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31139 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Fix compilation with old libschroedinger-dev installed.cehoyos2010-05-061-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31138 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cosmetic: typo, this wasn't supposed to be pluralaurel2010-05-041-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31137 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove translated strings that are gone from the master translation.diego2010-05-047-21/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31136 b3059339-0415-0410-9bf9-f77b7e298cf2
| * alternative LGPL-licensed, MMX-optimized YUV to RGB conversion routinesdiego2010-05-044-3/+469
| | | | | | | | | | | | | | written by Kostya Shishkov git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31135 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn change r31134Uoti Urpala2010-05-0714-3779/+3769
|\| | | | | | | Fix some search/replace errors introduced in the svn commit.
| * the great MPlayer tab removal: part IIdiego2010-05-0314-3890/+3885
| | | | | | | | | | | | | | some extra indentation fixes are put in as a bonus git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31134 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r31133Uoti Urpala2010-05-0719-111/+169
|\|
| * Put symlinks under revision control instead of generating them during make.diego2010-05-0314-9/+15
| | | | | | | | | | | | | | This simplifies the build system and should have no practical disadvantage. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31133 b3059339-0415-0410-9bf9-f77b7e298cf2
| * print a more detailed and more useful description of each stream with lavfaurel2010-05-031-6/+17
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31132 b3059339-0415-0410-9bf9-f77b7e298cf2
| * 10l: correctly use video_stream instead of audio_stream in the video sectionaurel2010-05-031-2/+2
| | | | | | | | | | | | | | ( copy&paste error :( ) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31131 b3059339-0415-0410-9bf9-f77b7e298cf2
| * add ID_..._NAME to -identify for each lavf stream which has a titleaurel2010-05-031-0/+7
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31130 b3059339-0415-0410-9bf9-f77b7e298cf2
| * uniformize handling of aid and vid with lavf so that it matches handling of sidaurel2010-05-031-14/+10
| | | | | | | | | | | | | | | | | | aid and vid are now 0-based, instead of being a globally unique id. This matches the way sid is handled and the way other demuxers manage aid. As a side effect, it slightly simplifies demux_lavf. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31129 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Silence permanent warning messages when decoding H264 over rtsp withcehoyos2010-05-021-1/+6
| | | | | | | | | | | | | | | | | | live555. Patch by Gil Pedersen, gil A cmi D aau D dk git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31128 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Also print OpenGL renderer string with vendor and version with -vreimar2010-05-011-1/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31127 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Continue probing even for score == AVPROBE_SCORE_MAX / 4 to matchreimar2010-05-011-1/+1
| | | | | | | | | | | | | | FFmpeg's behaviour. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31111 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use av_probe_input_format2 and avoid accepting detectionreimar2010-05-011-2/+5
| | | | | | | | | | | | | | while the score is still low. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31110 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Revert accidental change to default CFLAGS.reimar2010-04-301-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31109 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add configure detection for SDL backend for -vo gl.reimar2010-04-301-78/+111
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31108 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Avoid duplicating the GL/gl.h include.reimar2010-04-301-4/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31107 b3059339-0415-0410-9bf9-f77b7e298cf2
| * 100l, open the customtex also in binary mode, not just the program.reimar2010-04-301-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31106 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Skip svn change r31105Uoti Urpala2010-05-070-0/+0
|\|
| * Fix compilation with gcc 2.95.3 (with --disable-ass).cehoyos2010-04-281-0/+6
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31105 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r31104Uoti Urpala2010-05-072-2/+15
|\|
| * New hack for vobsub packet merging.iive2010-04-271-0/+13
| | | | | | | | | | | | | | | | | | It seems that if there is no padding between packets then they actually belong to one subtitle picture. The new hack seems to work far more reliable than the (already removed) old one. Patch by Ubitux (gmail) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31104 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Move variable declaration into the block where it is actually used.reimar2010-04-271-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31103 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Skip svn changes up to r31102Uoti Urpala2010-05-070-0/+0
|\| | | | | | | Fix already done in git and FFmpeg build stuff.
| * Add llrintf test for FFmpeg.diego2010-04-271-1/+2
| | | | | | | | | | | | | | patch by Michael Kostylev, michael.kostylev gmail com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31102 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add missing input.h #include, fixes the warnings:diego2010-04-271-1/+1
| | | | | | | | | | | | | | | | libvo/video_out.c:461: warning: implicit declaration of function 'mp_input_queue_cmd' libvo/video_out.c:461: warning: