1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-30 15:29:56 +00:00
mpv/libmpcodecs
Uoti Urpala ca217f4557 vd_ffmpeg: disable callbacks for threaded decoding
MPlayer's slice and direct rendering related callbacks are not safe to
call from other threads, so disable those features if more than one
decoding thread is specified. This should fix some issues when using
threaded decoding with formats other than h264 (in the h264 case the
callbacks were already disabled for other reasons).

This commit moves most of the code that sets special avctx parameters
for VDPAU and XvMC. Before that was done after avcodec_open() based on
the selected output image format; now it's done before avcodec_open()
based on the capabilities of the selected decoder. At least the code
selecting the thread count must be before avcodec_open(), and I think
there is no reason to try to keep the previous structure otherwise
either. The image format-based approach was implemented by Reimar
with the intended goal of eventually selecting between software and
VDPAU decoders under one FFmpeg decoder type. I consider that goal to
be questionable, and the approach certainly made the existing code
significantly messier for no functionality benefit.
2010-01-20 16:31:13 +02:00
..
native Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_acm.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_alaw.c whitespace cosmetics: Remove all trailing whitespace. 2009-05-13 02:58:57 +00:00
ad_dk3adpcm.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_dmo.c Translation system changes part 2: replace macros by strings 2009-07-07 01:38:20 +03:00
ad_dshow.c Translation system changes part 2: replace macros by strings 2009-07-07 01:38:20 +03:00
ad_dvdpcm.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_faad.c Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
ad_ffmpeg.c Merge svn changes up to r30136 2009-12-30 00:56:10 +02:00
ad_hwac3.c Merge svn changes up to r29455 2009-07-29 01:32:03 +03:00
ad_hwmpa.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_imaadpcm.c Merge svn changes up to r29412 2009-07-07 02:56:01 +03:00
ad_internal.h Make audio decoder description structs const 2008-04-26 16:51:17 +03:00
ad_liba52.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_libdca.c Merge svn changes up to r26783 2008-05-15 21:19:35 +03:00
ad_libdv.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_libmad.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_libvorbis.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_mp3lib.c whitespace cosmetics: Remove all trailing whitespace. 2009-05-13 02:58:57 +00:00
ad_mpc.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_msadpcm.c Replace libavutil internal header #includes with MPlayer copies 2009-07-26 06:16:43 +03:00
ad_msgsm.c whitespace cosmetics: Remove all trailing whitespace. 2009-05-13 02:58:57 +00:00
ad_pcm.c whitespace cosmetics: Remove all trailing whitespace. 2009-05-13 02:58:57 +00:00
ad_qtaudio.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_realaud.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_sample.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_speex.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ad_twin.c Merge svn changes up to r29752 2009-10-06 04:48:00 +03:00
ad.c Merge svn changes up to r29117 2009-04-01 02:43:47 +03:00
ad.h Make audio decoder description structs const 2008-04-26 16:51:17 +03:00
ae_faac.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ae_faac.h Add necessary header #includes to fix 'make checkheaders'. 2008-03-06 08:34:50 +00:00
ae_lame.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ae_lame.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
ae_lavc.c Merge svn changes up to r29752 2009-10-06 04:48:00 +03:00
ae_lavc.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
ae_pcm.c Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
ae_pcm.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
ae_toolame.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ae_toolame.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
ae_twolame.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ae_twolame.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
ae.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ae.h Add necessary header #includes to fix 'make checkheaders'. 2008-03-06 08:34:50 +00:00
cmmx.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
dec_audio.c audio: Remove fixed decode_audio() return size limit (MAX_OUTBURST) 2009-12-29 15:51:59 +02:00
dec_audio.h Get rid of pointless 'extern' keywords. 2008-12-03 23:01:03 +00:00
dec_teletext.c Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
dec_teletext.h Add support for DVB teletext. 2009-11-10 11:31:47 +00:00
dec_video.c core: Add support for decoder reordering of pts values 2009-11-21 20:53:10 +02:00
dec_video.h OSD: Ensure that OSD content is drawn in filter-added frames 2009-01-15 01:09:21 +02:00
img_format.c Merge svn changes up to r30165 2010-01-08 01:05:30 +02:00
img_format.h Add support for YUV format with alpha and fix the codecs.conf entry for vp6a 2009-12-31 23:45:07 +00:00
mp_image.c Add support for YUV format with alpha and fix the codecs.conf entry for vp6a 2009-12-31 23:45:07 +00:00
mp_image.h Merge svn changes up to r30165 2010-01-08 01:05:30 +02:00
mpc_info.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
pullup.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
pullup.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
vd_dmo.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_dshow.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_ffmpeg.c vd_ffmpeg: disable callbacks for threaded decoding 2010-01-20 16:31:13 +02:00
vd_hmblck.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_ijpg.c Make various functions static 2008-08-12 14:57:12 +03:00
vd_internal.h Make video decoder description structs const 2008-04-25 07:16:32 +03:00
vd_libdv.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_libmpeg2.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_lzo.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_mpegpes.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_mpng.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_mtga.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_null.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_qtvideo.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_raw.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_realvid.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_sgi.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_theora.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_vfw.c Merge svn changes up to r30136 2009-12-30 00:56:10 +02:00
vd_vfwex.c
vd_xanim.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_xvid4.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd_zrmjpeg.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vd.c Merge svn changes up to r29752 2009-10-06 04:48:00 +03:00
vd.h core: Add support for decoder reordering of pts values 2009-11-21 20:53:10 +02:00
ve_lavc.c Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
ve_libdv.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ve_nuv.c Replace libavutil internal header #includes with MPlayer copies 2009-07-26 06:16:43 +03:00
ve_qtvideo.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ve_raw.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ve_vfw.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ve_x264.c sync to x264-r1296 2009-10-19 21:23:08 +00:00
ve_xvid4.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ve.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_1bpp.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_2xsai.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_ass.c Avoid misleading error "ASS: cannot add video filter" 2010-01-16 20:37:13 +02:00
vf_blackframe.c Merge svn changes up to r26783 2008-05-15 21:19:35 +03:00
vf_bmovl.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_boxblur.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_crop.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
vf_cropdetect.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_decimate.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_delogo.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
vf_denoise3d.c Merge svn changes up to r29134 2009-04-02 23:55:13 +03:00
vf_detc.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_dint.c Remove _s/_st suffix from some struct names 2008-04-25 03:34:22 +03:00
vf_divtc.c Merge svn changes up to r29277 2009-05-08 23:50:26 +03:00
vf_down3dright.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_dsize.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_dvbscale.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_eq2.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_eq.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
vf_expand.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
vf_field.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_fil.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_filmdint.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_flip.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_format.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
vf_framestep.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_fspp.c Merge svn changes up to r29412 2009-07-07 02:56:01 +03:00
vf_geq.c Merge svn changes up to 27824 2008-10-25 05:12:34 +03:00
vf_gradfun.c Replace libavutil internal header #includes with MPlayer copies 2009-07-26 06:16:43 +03:00
vf_halfpack.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_harddup.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_hqdn3d.c Merge svn changes up to r29417 2009-07-12 15:52:00 +03:00
vf_hue.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
vf_il.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_ilpack.c Merge svn changes up to r29684 2009-09-16 22:28:12 +03:00
vf_ivtc.c Merge svn changes up to r29684 2009-09-16 22:28:12 +03:00
vf_kerndeint.c Merge svn changes up to r29134 2009-04-02 23:55:13 +03:00
vf_lavc.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_lavcdeint.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_mcdeint.c Remove unnecessary libavutil/internal.h includes 2009-07-26 06:15:19 +03:00
vf_mirror.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_noformat.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
vf_noise.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_ow.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_palette.c Merge svn changes up to r30136 2009-12-30 00:56:10 +02:00
vf_perspective.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_phase.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_pp7.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_pp.c vf_pp: Remove deprecated "hex mode" support 2009-07-26 20:22:48 +03:00
vf_pullup.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_qp.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_rectangle.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_remove_logo.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_rgb2bgr.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_rgbtest.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_rotate.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_sab.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_scale.c Merge svn changes up to r30195 2010-01-08 02:06:42 +02:00
vf_scale.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
vf_screenshot.c Merge svn changes up to r30195 2010-01-08 02:06:42 +02:00
vf_smartblur.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_softpulldown.c Remove _s/_st suffix from some struct names 2008-04-25 03:34:22 +03:00
vf_softskip.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_spp.c Remove unnecessary libavutil/internal.h includes 2009-07-26 06:15:19 +03:00
vf_swapuv.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_telecine.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_test.c Translation system changes part 2: replace macros by strings 2009-07-07 01:38:20 +03:00
vf_tfields.c vf: Remove unused VFCTRL_FLIP_PAGE 2009-10-21 07:35:22 +03:00
vf_tile.c Translation system changes part 2: replace macros by strings 2009-07-07 01:38:20 +03:00
vf_tinterlace.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_unsharp.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_uspp.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_vo.c Some ugly hacks to make compiling against a newer external version of libass work. 2009-12-24 10:51:24 +00:00
vf_yadif.c vf: Remove unused VFCTRL_FLIP_PAGE 2009-10-21 07:35:22 +03:00
vf_yuvcsp.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_yuy2.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_yvu9.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf_zrmjpeg.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
vf.c Avoid misleading error "ASS: cannot add video filter" 2010-01-16 20:37:13 +02:00
vf.h Avoid misleading error "ASS: cannot add video filter" 2010-01-16 20:37:13 +02:00
vfcap.h Add VOCAP_NOSLICES and use it to allow vo_vdpau to not support slices for 2009-02-18 12:30:15 +00:00
vqf.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00