summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
Commit message (Collapse)AuthorAgeFilesLines
* options: change option parsing to use bstrUoti Urpala2011-07-291-1/+1
| | | | | | Using bstr allows simpler parsing code, especially because it avoids the need to modify or copy strings just to terminate extracted substrings.
* cleanup: do libav* initialization on startupUoti Urpala2011-07-1810-62/+0
| | | | | | | Do the global initialization of libavcodec and libavformat (avcodec_register_all(), av_register_all()) immediately on program startup and remove the initialization calls from various individual modules that use libavcodec/libavformat functionality.
* vf_qp: enable compilation depending on libavutil eval APIUoti Urpala2011-07-182-5/+4
| | | | | | Libavutil eval API seems to be enough for vf_qp, so enable the filter if the API is available. Also clean up some left over lines for other filters in Makefile.
* img_format.h, vo_gl: fix IMGFMT_IS_YUVP16() definitionUoti Urpala2011-07-141-1/+3
| | | | | | | Commit aba8a1838aa which added 9- and 10-bit formats failed to change the definition of the IMGFMT_IS_YUVP16() macro (which is misnamed btw, it matches 9, 10 and 16 bits). This prevented vo_gl from accepting input in supported 9 and 10 bit colorspaces. Fix.
* vd_ffmpeg: make "-lavdopts lowres" handling more robustUoti Urpala2011-07-091-11/+11
| | | | | | | | Remove the copy of the "lowres" field that vd_ffmpeg kept in its private struct and use the value from AVCodecContext directly instead. The copy gave no benefit and it could be set to the wrong value if someone used "-lavdopts o=lowres=X" (which would change the real value but not the copy).
* vd_ffmpeg: fix "-lavdopts skipframe" supportUoti Urpala2011-07-091-1/+5
| | | | | | | Support for -lavdopts skipframe had been broken since commit bc767c2a9 as framedrop logic now set the same field and thus overwrote the value set from the option. Change that code to set it to the original value instead of 0 when not dropping frames.
* cosmetics: img_format.h: document some formatsreimar2011-07-061-11/+11
| | | | | | Document the meaning of some of the packed YUV formats. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33692 b3059339-0415-0410-9bf9-f77b7e298cf2
* vf_stereo3d: Add support for converting to interleaved 3Dreimar2011-07-061-6/+30
| | | | | | | | | | | | | | | | | | | | | | Patch by Steaphan Greene [sgreene cs.binghamton.edu] git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33648 b3059339-0415-0410-9bf9-f77b7e298cf2 Improve stereo3d interleaved man page description. Patch by Steaphan Greene [sgreene cs.binghamton.edu] git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33689 b3059339-0415-0410-9bf9-f77b7e298cf2 Change memcpy_pic to force it to never write to image parts between width and stride if creating a row-interleaved format, otherwise the second memcpy_pic might overwrite what the first wrote. Changing the first should not be necessary but might result in better performance. Patch by Steaphan Greene [sgreene cs.binghamton.edu] git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33690 b3059339-0415-0410-9bf9-f77b7e298cf2
* vf_ilpack: fix incompatible function typesreimar2011-07-061-5/+8
| | | | | | | | Do not call functions through a function pointer specifying more arguments. It is theoretically possible to have calling models where this would break horribly. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33536 b3059339-0415-0410-9bf9-f77b7e298cf2
* cosmetics: vf_ilpack.c: tabs to 4 spacesUoti Urpala2011-07-061-341/+341
|
* vf_dint, vf_divtc: fix code assuming "char" is signedreimar2011-07-062-9/+9
| | | | | | | | | | | | | | | Use int as type, there is no reason to use char which also causes issues since it may be either signed or unsigned. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33529 b3059339-0415-0410-9bf9-f77b7e298cf2 Fix code assuming that "char" is signed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33530 b3059339-0415-0410-9bf9-f77b7e298cf2 Fix code incorrectly assuming "char" is signed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33531 b3059339-0415-0410-9bf9-f77b7e298cf2
* vf_delogo: allow to change the rectangle based on the timecigaes2011-07-061-17/+130
| | | | | | | | | | NOTE: the memory for the "file" argument will be leaked; dynamic options are not automatically freed. Not fixing that now as I might implement more general handling later. -uau git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33488 b3059339-0415-0410-9bf9-f77b7e298cf2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33498 b3059339-0415-0410-9bf9-f77b7e298cf2
* cosmetics: vf_delogo.c: remove tabs to allow direct mergeUoti Urpala2011-07-061-57/+57
| | | | | Remove tab characters to make the file match MPlayer 1 and thus allow directly applying change from there.
* debug output: reduce verbosity of some frequent messagesUoti Urpala2011-07-051-1/+1
| | | | | Drop from frequent (per-frame) messages from DBG2 to DBG3. Drop VDPAU clock adjustment messages from V to DBG2.
* audio: move ready-for-ao data buffer from decoder to AOUoti Urpala2011-07-022-34/+30
| | | | | | | | | | | | Move the buffer storing audio data ready to be fed to the audio output driver from the audio decoder object to the AO object. This will help encoding code deal with end of input, and may also be useful to improve other general gapless audio behavior (as AOs which do not accept chunks smaller than a certain size may keep them in the buffer while the decoder changes). Less data may be dropped now when changing audio filters or switching timeline parts.
* cleanup: fix mp_dbg() format string warningsClément Bœsch2011-07-011-4/+4
|
* vo_gl: don't accept 9/10-bit formats as inputreimar2011-06-295-44/+56
| | | | | | | | | Make mp_get_chroma_shift() simpler/more generic and add an argument to get the per-component bit depth. Use this to check more properly for supported formats in gl and gl2 vos (only 8 and 16 bit are supported, 9 and 10 are not). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33452 b3059339-0415-0410-9bf9-f77b7e298cf2
* vd_ffmpeg.c: fix one case of "-lavdopts vstats" crashingiive2011-06-291-1/+4
| | | | | | | | | | | Fix segfault with -lavdopts vstats and some codecs. The vstats option relies on avctx->coded_frame being filled. Unfortunately not all codecs do that (e.g. VP8) thus causing NULL dereference. FFmpeg code seems to always check if coded_frame != NULL, so we should do the same. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33347 b3059339-0415-0410-9bf9-f77b7e298cf2
* configure: Remove checks for default inline asm featuresDiego Biurrun2011-06-281-4/+4
| | | | | | | Remove checks for compiler support of >= 10 assembler operands and named assembler arguments. Just assume the features are always available. These features were only missing from obsolete GCC versions which are not supported any more.
* vd_ffmpeg: autoselect output colorspaces without codecs.confUoti Urpala2011-06-263-13/+36
| | | | | | | | | | | | | Selecting the colorspace to output from a decoder is done in the function mpcodecs_config_vo(). Add a new version of this function, mpcodecs_config_vo2(), that allows the decoder to specify a list of candidate colorspaces instead of always using a hardcoded list specified in the codecs.conf entry. If the codecs.conf entry has any "out" lines then those still take priority and the decoder-provided list (if any) is ignored. Make vd_ffmpeg provide a list of the colorspaces it's willing to output. Remove "out" lines from most entries for libavcodec video decoders in codecs.conf, so that the automatic values are now used instead.
* video/colorspaces: add new 9/10-bit formats from libavcodecUoti Urpala2011-06-264-2/+62
| | | | | | | Add new internal 9/10-bit IMGFMT values and mappings to the corresponding libav* PIX_FMT_* values. Partially based on a patch from Arne Bochem <arneb.mp@ccan.de>.
* vf_pullup, vf_yadif: pts handling fixesRudolf Polzer2011-06-242-15/+22
| | | | | | | vf_pullup: continue to calculate pts after detecting a seek vf_yadif: add pts calculation for the one-frame-becomes-two mode (-vf yadif=1)
* vo_xvmc: drop XvMC supportUoti Urpala2011-05-091-41/+0
| | | | | | | | | Due to libavcodec changes vo_xvmc would have needed some modifications to keep working. However, I think there's little real demand for XvMC, so I'll just drop XvMC support. XvMC only supported MPEG-2, making it of very limited usefulness nowadays, plus the vo_xvmc implementation was not high quality and never worked particularly well or reliably anyway.
* audio: disallow partial samples, fix ad_pcm to complyUoti Urpala2011-05-071-3/+8
| | | | | | | | Add some asserts to check that decoders/filters produce complete samples (byte amounts must be multiples of channels*datatype_size) and that audio output drivers also accept input in complete units. Fix ad_pcm which was known to violate this if its last input packet didn't stop at a sample boundary.
* cleanup: shut up more warningsClément Bœsch2011-05-0613-33/+30
|
* audio: avoid duplicated error messages on init failureUoti Urpala2011-05-031-1/+3
| | | | | | | | | | | dec_audio.c init_audio_codec() would in one case print "ADecoder init failed :(\n" and return failure. Its only caller init_best_audio_codec() printed exactly the same message if the returned result was failure. Change the latter message to say "Could not open audio decoder %s.\n" instead. Some of the per-open-attempt messages are kind of value about their context; this new message should make it more clear where the attempt to open one specific codec ends.
* ad_ffmpeg: return failure from init() if initial decode failsUoti Urpala2011-05-031-6/+13
| | | | | | | | | | | | | | The init() method in ad_ffmpeg tries to decode some audio data after opening the libavcodec decoder; however the method returned success even if this part failed. Change it to return failure instead, indicating that the codec could not be successfully opened. This improves behavior at least with some AAC files, for which the libavcodec decoder can be successfully initialized but decoding packets always fails. Before the audio would be decoded with libavcodec, producing only a constant stream of errors; after this commit audio decoder initialization falls back to FAAD (if available) which works for these samples.
* cleanup: remove more warningsClément Bœsch2011-05-026-76/+15
|
* Merge branch 'mplayer1_changes'Uoti Urpala2011-05-025-19/+31
|\
| * ad_speex: support decoding stream without header packetreimar2011-05-021-13/+14
| | | | | | | | | | | | | | Setup default speex modes, allows decoding of speex in flv which does not contain a header packet. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33327 b3059339-0415-0410-9bf9-f77b7e298cf2
| * vd_ffmpeg: Make DR work with reget_buffer without buffer_hintsreimar2011-05-021-0/+3
| | | | | | | | | | | | Allow DR to work with reget_buffer when no buffer_hints are set. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33287 b3059339-0415-0410-9bf9-f77b7e298cf2
| * vd_ffmpeg: handle reget_buffer in DRI failure fallback codereimar2011-05-021-0/+6
| | | | | | | | | | | | Allow reget_buffer to somewhat work after direct rendering failure. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33286 b3059339-0415-0410-9bf9-f77b7e298cf2
| * ad_qtaudio: don't run win32 loader code when it's not usedreimar2011-05-021-2/+2
| | | | | | | | | | | | | | Do not try to set up the FS segment when using quicktime to decode, it makes no sense to do that. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33259 b3059339-0415-0410-9bf9-f77b7e298cf2
| * vd_ffmpeg: require aligned stride in get_buffer()zuxy2011-04-131-1/+1
| | | | | | | | | | | | | | Change MP_IMGFLAG_ACCEPT_STRIDE to MP_IMGFLAG_ACCEPT_ALIGNED_STRIDE in get_buffer() as various FFmpeg assembly routines assume aligned input. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33097 b3059339-0415-0410-9bf9-f77b7e298cf2
| * ad_pcm, codecs.conf: support 'lpcm' in mov and float in aiffcehoyos2011-04-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | Support 'lpcm' in mov files, has audible (clipping?) artefacts on some systems. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33075 b3059339-0415-0410-9bf9-f77b7e298cf2 Support 32bit big endian float pcm in aiff. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33076 b3059339-0415-0410-9bf9-f77b7e298cf2
| * ad_liba52: Fix -ac a52 with tags other than 0x2000 or dnetreimar2011-04-131-3/+3
| | | | | | | | | | | | | | Audio with all codec tags other than 0x2000 was byte-swapped, while only "dnet" should be. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33028 b3059339-0415-0410-9bf9-f77b7e298cf2
* | vf_*: fix pts values passed to the next filterRudolf Polzer2011-04-2416-56/+269
| | | | | | | | | | | | | | | | | | | | | | | | Many video filters failed to calculate or even just pass through pts values for their output frames. Fix this, and also make the two remaining filters that called vf_next_put_image() twice for the same input frame (vf_softpulldown, vf_telecine) use vf_queue_frame() so that e.g. framestepping properly sees both frames. Changed filters: vf_bmovl, vf_detc, vf_divtc, vf_filmdint, vf_ivtc, vf_lavc, vf_phase, vf_pullup, vf_softpulldown, vf_telecine, vf_tile, vf_tinterlace.
* | Update libav API usesUoti Urpala2011-04-204-10/+8
| | | | | | | | | | | | | | | | | | | | | | Update various code to use newer alternatives instead of deprecated functions/fields that are being dropped at libav API bump. An exception is avcodec_thread_init() which is being dropped even though it's still _necessary_ with fairly recent libav versions, so there's no good alternative which would work with both those recent versions and latest libavcodec. I think there are grounds to consider the drop premature and revert it for now; if that doesn't happen I'll add a version-test #if check around it later.
* | cleanup: avoid various GCC warningsClément Bœsch2011-04-202-3/+3
|/
* mp3lib: drop internal mp3lib treeUoti Urpala2011-04-023-128/+0
| | | | | | | | | | | | | Delete mp3lib which has been the default mp3 decoder until now. In addition to being an unnecessary embedded library it now fails to compile correctly with the new gcc-4.6, producing noise. After the deletion the default decoder priority for mp3 will be first libmpg123 (a newer version of the code that mp3lib was based on) if available, then ffmp3float which should be available in all normal compiles. I think that some tweaking may be required as these decoder alternatives get wider testing, but any problems should be solvable and there should be no need for mp3lib.
* vd_ffmpeg: fix thread count setting with latest ffmpeg-mtUoti Urpala2011-03-291-1/+3
| | | | | | | | Recent ffmpeg-mt versions changed the API for setting the number of decoding threads to use (I'm not sure whether dropping backwards compatibility was intentional or not). As a result only one thread was used. Make the thread setting compatible with the new API to restore proper multithreaded decoding.
* ad_qtaudio: fix use with the libavformat mov demuxerfaust32011-02-151-2/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32863 b3059339-0415-0410-9bf9-f77b7e298cf2
* vd_mpng: libpng API update, use color type gettercboesch2011-02-151-3/+6
| | | | | | | | | | Use color type getter instead of direct access to private member. Using the getter is mandatory since recent libpng 1.5 release. Patch by Gianluigi Tiesi (mplayer - netfarm it) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32840 b3059339-0415-0410-9bf9-f77b7e298cf2
* libmpcodecs/vf_*.c: Replace memalign() by av_malloc()michael2011-02-153-8/+12
| | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32834 b3059339-0415-0410-9bf9-f77b7e298cf2 Fix postprocessing and perspective filters on x86-64 (missing libavutil/mem.h include). Original patch by Reinhard Tartler git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32835 b3059339-0415-0410-9bf9-f77b7e298cf2
* fix compilation with old FFmpeg versionsUoti Urpala2011-02-081-1/+8
| | | | | | | | | | | | af_lavcac3enc: use old SampleFormat names without AV_ prefix, the latter were only added in 2010-11 vd_ffmpeg: add ifdef around CODEC_ID_LAGARITH use demux_real: use ffmpeg_files/intreadwrite.h stream/http.c, stream/realrtsp/real.c: define AV_BASE64_SIZE macro for old libavutil versions lacking it
* ad_ffmpeg: add missing extradata paddingUoti Urpala2011-02-021-1/+2
| | | | | | One of two alternative code parts passing codec extradata to libavcodec didn't add the buffer padding that libavcodec requires, resulting in invalid reads beoynd allocated memory area. Fix.
* libmpeg2: drop libmpeg2 supportUoti Urpala2011-02-012-318/+0
| | | | | libavcodec mpeg2 decoder has been the default for a while and seems to work fine.
* vo_zr2: drop Zoran supportUoti Urpala2011-01-314-1306/+0
| | | | | | | There were multiple files specific to Zoran support, and they also depended on internal FFmpeg headers (so it would probably have been hard to get them to compile now even if you tried). It's obsolete now, so just drop the whole mess.
* codecs.conf, vd_ffmpeg: Enable fflagarith video decodercehoyos2011-01-311-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32773 b3059339-0415-0410-9bf9-f77b7e298cf2
* libfaad2:/ Remove forked internal libfaad2 copydiego2011-01-311-32/+1
| | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32741 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove AAC/FAAD2 installation instructions. There is nothing special about building and installing FAAD2, so there is no longer a need to keep maintaining instructions for it. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32742 b3059339-0415-0410-9bf9-f77b7e298cf2
* Merge branch 'sub'Uoti Urpala2011-01-264-48/+91
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/Uoti Urpala2011-01-263-5/+5
| |
| * cleanup: rename ass_* functions to mp_ass_*Uoti Urpala2011-01-262-14/+14
| | | | | | | | | | | | | | | | The various ass_* functions were created when libass was part of the MPlayer tree and the distinction between MPlayer-specific and other functions was less clear. Now that libass is a clearly separate library, using the same ass_* namespace for player functions is ugly. Rename the functions to use mp_ass_ prefix instead.
| * subs: use correct font aspect ratio for libass + converted subsUoti Urpala2011-01-262-25/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rendering of ASS subtitles tries to be bug compatible with VSFilter and stretches fonts when the video is anamorphic (some scripts try to compensate for this VSFilter behavior, so trying to render them "correctly" would give the wrong result). However this behavior is not appropriate for subtitles we converted to ASS format ourselves for libass rendering, as they certainly don't have VSFilter bug workarounds. Change the code to use different behavior for "native" ASS tracks and converted ones. It's questionable whether the VSFilter-compatible behavior is appropriate for external .ass files either, as there could be anam