summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/dec_video.c
Commit message (Collapse)AuthorAgeFilesLines
* cosmetics: remove unused code, small formatting tweaksUoti Urpala2010-12-201-1/+1
|
* Delete things related to old translation systemUoti Urpala2010-03-101-1/+0
| | | | | Remove the help/ subdirectory, configure code to create toplevel help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
* Merge svn changes up to r30463Uoti Urpala2010-03-091-0/+18
|\ | | | | | | | | | | 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.
| * Add missing license headers to all files in the libmpcodecs directory.diego2010-01-301-0/+17
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30463 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Move the resync-related code into more consistent places instead of having itreimar2010-01-241-0/+4
| | | | | | | | | | | | | | scattered all over the place with half of it forgotten in some places. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30420 b3059339-0415-0410-9bf9-f77b7e298cf2
* | core: Add support for decoder reordering of pts valuesUoti Urpala2009-11-211-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a mode where libavcodec's reordered_opaque feature is used to associate container packet timestamps with decoded frames. This should improve behavior at least for MPEG files with interlaced h264; the previous code does not cope well with the libavformat demuxer producing two field packets with separate timestamps but the libavcodec h264 decoder only producing a single output frame for those two packets (so half the timestamps have no associated output frame). The current libavformat mpeg demuxer seems to finally work with interlaced h264 files and produce valid timestamps which are useful with a mode like this. By default MPlayer now selects between this new mode and the old one automatically based on the number of timestamp problems they cause; by default the new mode is used if both seem to work. The new option -pts-association-mode can be used to force a particular mode. If correct-pts mode is disabled this has no effect on timing. Also remove the "EXPERIMENTAL" marker from the manpage description of -correct-pts.
* | Translation system changes part 2: replace macros by stringsAmar Takhar2009-07-071-12/+12
| | | | | | | | | | Replace all MSGTR_ macros in the source by the corresponding English string.
* | Translation system changes part 1: wrap translated stringsAmar Takhar2009-07-071-13/+13
| | | | | | | | | | Replace mp_msg() calls which have a translated string as the format argument with mp_tmsg and add _() around all other translated strings.
* | Merge svn changes up to r29277Uoti Urpala2009-05-081-1/+0
|\|
| * Remove reference to outdated documentation file.diego2009-04-201-1/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29209 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29134Uoti Urpala2009-04-021-3/+0
|\|
| * Remove unnecessary malloc.h #includes and related #ifdeffery.diego2009-04-021-3/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29126 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Swap order of VFCTRL_DRAW_EOSD and VFCTRL_DRAW_OSD so that the EOSD is drawnreimar2009-03-061-1/+4
| | | | | | | | | | | | | | | | below the OSD and document possible issues when this is changed. Patch by Uoti (though originally intended for a different issue) with extra comment by me. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28841 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28641Uoti Urpala2009-02-181-1/+1
|\| | | | | | | | | | | | | | | Convert vo_x11_border (used in vo_gl/gl2 though the vo_gl_border macro) to use a wrapper macro in old-style VOs which do not provide a VO object argument. Before this function had an explicit global_vo argument in vo_gl/gl2. New vo_vdpau uses it too so use the same mechanism as most other functions.
| * Convert HAVE_MALLOC_H into a 0/1 definition, fixes the warning:diego2009-02-171-1/+1
| | | | | | | | | | | | | | mem.c:32:5: warning: "HAVE_MALLOC_H" is not defined git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28629 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28341Uoti Urpala2009-01-191-1/+1
|\| | | | | | | | | | | Conflicts: configure libmpcodecs/native/rtjpegn.c
| * Lots and lots of #ifdef ARCH_... -> #if ARCH_...reimar2009-01-161-1/+1
| | | | | | | | | | | | | | | | and #ifdef HAVE_MMX etc -> #if HAVE_MMX. There might be still more that need to be fixed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28325 b3059339-0415-0410-9bf9-f77b7e298cf2
* | OSD: Ensure that OSD content is drawn in filter-added framesUoti Urpala2009-01-151-8/+1
| | | | | | | | | | | | Move the OSD drawing calls from filter_video() to higher-level code to ensure that VOs will draw the OSD also in filter-added frames, which are displayed without a separate call to filter_video().
* | Update OSD while pausedUoti Urpala2008-12-091-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | When OSD contents change while paused, try to change the OSD drawn in the currently visible frame. If such OSD updates are not supported then advance by one frame and draw the OSD normally. Add some support for OSD redrawing to vo xv. The new xv code makes a copy of the original frame contents before drawing the OSD if MPlayer is already paused when the frame is drawn. If such a copy of the current frame exists then the frame contents can be restored and a different OSD drawn on top of the same frame.
* | Work around vo gl/libass subtitle timing problemUoti Urpala2008-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | vo gl generates bitmaps for EOSD content (libass subtitles) when DRAW_EOSD is called but actual drawing of both EOSD and OSD is done in draw_osd(). Since draw_osd() was called first it drew the EOSD content from the previous frame, so the subtitles were always one frame late. As a simple workaround update EOSD content first, then normal OSD. This makes vo gl work correctly and should have no effect on anything else.
* | Merge svn changes up to 27824Uoti Urpala2008-10-251-2/+2
|\| | | | | | | | | | | | | | | | | | | Conflicts: cfg-common-opts.h libmpcodecs/dec_video.c libmpcodecs/vd.c libvo/x11_common.h mplayer.c stream/cache2.c
| * Replace all occurrences of '__volatile__' and '__volatile' by plain 'volatile'.diego2008-10-161-2/+2
| | | | | | | | | | | | | | | | We were using an inconsistent mix of the three variants and 'volatile' should be the most correct and portable variant. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27791 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Change all occurrences of asm and __asm to __asm__, same as was done for FFmpeg.diego2008-10-161-2/+2
| | | | | | | | | | | | | | Neither variant is valid C99 syntax, but __asm__ is the most portable variant. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27788 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27441Uoti Urpala2008-08-081-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: cfg-common-opts.h command.c configure input/input.c libmpcodecs/dec_video.c libmpcodecs/vd.c libmpdemux/stheader.h libvo/sub.c libvo/video_out.c libvo/vo_xv.c libvo/vosub_vidix.c libvo/x11_common.c libvo/x11_common.h mp_core.h mplayer.c stream/stream.h
| * Give a CONFIG_ prefix to preprocessor directives that lacked one anddiego2008-08-071-3/+3
| | | | | | | | | | | | | | change arbitrary prefixes to CONFIG_. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27429 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27374Uoti Urpala2008-07-301-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: cfg-common-opts.h cfg-mplayer.h command.c configure libmpcodecs/dec_video.c libmpcodecs/vd.c libmpcodecs/vf_vo.c libmpdemux/demuxer.h libmpdemux/stheader.h mp_core.h mplayer.c stream/stream_radio.c
| * Start unifying names of internal preprocessor directives.diego2008-07-301-1/+1
| | | | | | | | | | | | | | | | Replace all USE_ prefixes by CONFIG_ prefixes to indicate options which are configurable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27373 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Create a context struct for OSD stateUoti Urpala2008-06-241-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit creates the struct and passes it to some functions that needs to access OSD state but does not yet move much data from globals to it. vf_expand accesses the OSD state for rendering purposes outside of the normal OSD draw time. The way this currently works is suboptimal, but I did not attempt to clean it up now. To keep things working the same way vf_expand needs to know the address of the state object to be able to access the data even in the functions that should normally not need it. For that purpose this commit adds a VFCTRL to tell vf_expand the address of the object.
* | Merge svn changes up to r26979Uoti Urpala2008-06-041-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the conflicts are trivial. Conflicts: Makefile cfg-mplayer.h input/input.c libmenu/vf_menu.c libmpcodecs/dec_video.c libmpcodecs/vf_expand.c libmpcodecs/vf_vo.c libmpdemux/demux_mkv.c libmpdemux/demuxer.c libmpdemux/demuxer.h libvo/vo_directfb2.c libvo/vo_gl.c libvo/vo_winvidix.c libvo/vo_xv.c libvo/vo_xvidix.c libvo/vo_xvmc.c libvo/x11_common.c mplayer.c osdep/timer-linux.c stream/cache2.c
| * cosmetics: Remove pointless parentheses from return calls.diego2008-05-161-3/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26786 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Make video decoder description structs constUoti Urpala2008-04-251-7/+7
| | | | | | | | | | | | This makes the per-decoder struct vd_functions and its ->info struct constants. Same for the mpcodecs_vd_drivers[] table of pointers to those structs.
* | Store video decoder functions in struct sh_video fieldUoti Urpala2008-04-251-24/+28
| | | | | | | | | | | | Remove the global variable mpvdec and move the video decoder pointer to struct sh_video field vd_driver. Audio already had a similar ad_driver field from before.
* | dec_video.c: A couple of cosmetic changesUoti Urpala2008-04-251-12/+7
| |
* | Reformat dec_video.cUoti Urpala2008-04-251-255/+293
| | | | | | | | | | | | "indent -kr -l79 -nut dec_video.c --ignore-newlines dec_video.c", fix some "unknown_typedef * arg" in parameter lists by hand to "unrecognized_typedef *arg".
* | Move correct_pts to options structUoti Urpala2008-04-231-2/+4
|/
* typo fix: inited --> initializeddiego2008-02-141-11/+11
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25994 b3059339-0415-0410-9bf9-f77b7e298cf2
* Replace the persistent CODECS_FLAG_SELECTED by a local "stringset" withreimar2008-01-121-8/+11
| | | | | | | | | an almost-trivial implementation. This allows making the builtin codec structs const, and it also makes clearer that this "selected" status is not used outside the init functions. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25689 b3059339-0415-0410-9bf9-f77b7e298cf2
* Make init_video function in dec_video static, it is not used outside that file.reimar2007-12-111-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25354 b3059339-0415-0410-9bf9-f77b7e298cf2
* get/set video colors string is constantreimar2007-12-021-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25252 b3059339-0415-0410-9bf9-f77b7e298cf2
* Clean up the way get_path is handled: Compile get_path.c to an object to linkdiego2007-08-281-2/+0
| | | | | | | | against instead of directly #including the C file and replace the many extern declarations by a proper header file. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24262 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove redundant variable declaration.diego2007-08-251-2/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24163 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add explicit location for headers from the libmpdemux/ directory.diego2007-03-151-3/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22619 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add explicit location for headers from the stream/ directory.diego2007-03-151-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22617 b3059339-0415-0410-9bf9-f77b7e298cf2
* Allow demuxers to return packets with no pts in -correct-pts modeuau2007-03-111-3/+10
| | | | | | | | | as long as there are enough pts values for frames that the decoder returns. This should allow passing NAL units individually. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22516 b3059339-0415-0410-9bf9-f77b7e298cf2
* Reindent messy functions before working on themuau2007-03-111-68/+71
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22515 b3059339-0415-0410-9bf9-f77b7e298cf2
* Discard earlier failure in building filter chain when trying a new codec.reimar2007-03-031-0/+3
| | | | | | | | Avoids an incorrect "FATAL: Could not initialize video filters (-vf) or video output (-vo)." message in some rare cases. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22423 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add global field dominance flag instead of duplicating this "everywhere"reimar2007-02-021-0/+7
| | | | | | | Patch by Carl Eugen Hoyos (cehoyos (at) ag or at) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22104 b3059339-0415-0410-9bf9-f77b7e298cf2
* Implement FIXME: Restore original width/height when CODECS_FLAG_ALIGN16reimar2007-01-271-6/+15
| | | | | | | is set and codec init failed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22030 b3059339-0415-0410-9bf9-f77b7e298cf2
* Update OSD contents only after the correct values for the frame are known.uau2006-11-141-10/+12
| | | | | | | | | | | The most visible inaccuracy caused by the previous update location was that the OSD always showed position 0 after seeking with demux_mkv. Split frame decoding and filtering because with -correct-pts the pts value that should be displayed for the frame is only known after decoding but is needed before filtering (during which the OSD is drawn). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20918 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add VFCTRL_DRAW_EOSD.eugeni2006-08-241-1/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19527 b3059339-0415-0410-9bf9-f77b7e298cf2
* old 10l: do not try to compile mmx code if we do not have mmxrfelker2006-07-191-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19135 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add a new video pts tracking mode, enabled by option -correct-pts.uau2006-07-061-0/+47
| | | | | | | | | | | | | | This mode has the following differences: - Video timing is correct for streams with B frames, at least with some demuxers. - Video filters can modify frame timestamps and insert new frames, and removing frames is handled better than before. - Some things are known to break, it's not usable as the default yet. Things should work as before when the -correct-pts option is not used. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18922 b3059339-0415-0410-9bf9-f77b7e298cf2
* get_path as const, patch by Stefan Huehner, stefan AT huehner-orgreynaldo2006-07-031-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18894 b3059339-0415-0410-9bf9-f77b7e298cf2
* Get ride of the several if(identify) messy lines and rearangment of some of ↵reynaldo2006-04-241-2/+1
| | | | | | the output, both patches by Kiriuja mplayer-patches AT en-directo_net, his changes are barely unrelated, nevertheless Im commiting them thogeter just for the sake of my mental healt, I had both patches already applied on my local three git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18238 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add properties for the tv input color controls.albeu2006-04-221-1/+1