1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-24 00:46:58 +00:00
mpv/libmpcodecs
Uoti Urpala 5f3c3f8c32 video, audio: use lavc decoders without codecs.conf entries
Add support for using libavcodec decoders that do not have entries in
codecs.conf. This is currently only used with demux_lavf, and the
codec selection is based on codec_id returned by libavformat. Also
modify codec-related terminal output somewhat to make it use
information from libavcodec and avoid excessively long default output.

The new any-lavc-codec support is implemented with codecs.conf entries
that invoke vd_ffmpeg/ad_ffmpeg without directly specifying any
libavcodec codec name. In this mode, the decoders now instead select
the libavcodec codec based on codec_id previously set by demux_lavf
(if any). These new "generic" codecs.conf entries specify "status
buggy", so that they're tried after any specific entries with
higher-priority status.

Add new directive "anyinput" to codecs.conf syntax. This means the
entry will always match regardless of fourcc. This is used for the
above new codecs.conf entries (so the driver always gets to decide
whether to accept the input, and will fail init() if it can't find a
suitable codec in libavcodec). Remove parsing support for the obsolete
codecs.conf directive "cpuflags". This directive has not had any
effect and has not been used in default codecs.conf since many years
ago.

Shorten codec-related terminal output. When using libavcodec decoders,
show the libavcodec long_name field rather than codecs.conf "info"
field as the name of the codec. Stop showing the codecs.conf entry
name and "vfm/afm" name by default, as these are rarely needed;
they're now in verbose output only. Show "VIDEO:" line at VO
initialization rather than at demuxer open. This didn't really belong
in demuxer code; the new location may show more accurate values (known
after decoder has been opened) and works right if video track is
changed after initial demuxer open.

The vd.c changes (primarily done for terminal output changes) remove
round-to-even behavior from code setting dimensions based on aspect
ratio. I hope nothing depended on this; at least the even values were
not consistently guaranteed anyway, as the rounding code did not run
if the video file did not specify a nonzero aspect value.
2012-07-24 09:01:47 +03:00
..
native Remove MEncoder 2010-11-02 04:16:55 +02:00
ad_acm.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
ad_alaw.c Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
ad_dk3adpcm.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
ad_dmo.c options: move audio_output_channels, audio_output_format to struct 2010-11-02 04:18:07 +02:00
ad_dshow.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ad_dvdpcm.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ad_faad.c libfaad2:/ Remove forked internal libfaad2 copy 2011-01-31 16:00:58 +02:00
ad_ffmpeg.c video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
ad_hwac3.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
ad_hwmpa.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ad_imaadpcm.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
ad_internal.h options: move audio_output_channels, audio_output_format to struct 2010-11-02 04:18:07 +02:00
ad_liba52.c ad_liba52: Fix -ac a52 with tags other than 0x2000 or dnet 2011-04-13 03:15:05 +03:00
ad_libdca.c ad_libdca: fix assert failure on -channels >6 2010-11-02 04:18:07 +02:00
ad_libdv.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ad_libmad.c whitespace cosmetics 2010-05-25 11:39:58 +00:00
ad_libvorbis.c Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
ad_mpc.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
ad_mpg123.c ad_mpg123: update libmpg123 API use 2012-05-07 01:10:25 +03:00
ad_msadpcm.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
ad_pcm.c audio: disallow partial samples, fix ad_pcm to comply 2011-05-07 22:17:51 +03:00
ad_qtaudio.c cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
ad_realaud.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
ad_sample.c whitespace cosmetics 2010-05-25 11:39:58 +00:00
ad_speex.c ad_speex: support decoding stream without header packet 2011-05-02 00:36:21 +03:00
ad_twin.c cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
ad.c configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
ad.h cosmetics: vf.[ch]: reformat 2011-11-14 20:24:36 +02:00
cmmx.h Add missing license headers to all files in the libmpcodecs directory. 2010-01-30 16:57:40 +00:00
dec_audio.c video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
dec_audio.h audio: move ready-for-ao data buffer from decoder to AO 2011-07-02 09:22:32 +03:00
dec_teletext.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
dec_teletext.h
dec_video.c video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
dec_video.h core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
img_format.c cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
img_format.h cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
mp_image.c cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
mp_image.h cosmetics: Drop pointless _s suffix from 'struct mp_image'. 2010-05-27 10:08:30 +00:00
mpc_info.h video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
pullup.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
pullup.h vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vd_dmo.c Merge svn changes up to r31050 2010-04-26 18:46:18 +03:00
vd_dshow.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
vd_ffmpeg.c video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
vd_hmblck.c Remove unnecessary size limits and a related define for hm12 decoder. 2010-03-19 19:44:02 +00:00
vd_ijpg.c Directly mark jpeg_buf_src() as void instead of using some indirection marcro. 2010-05-29 10:06:29 +00:00
vd_internal.h Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
vd_libdv.c Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
vd_libdv.h Add header for init_global_rawdv_decoder() instead of forward declaring it. 2010-02-16 14:52:59 +00:00
vd_lzo.c cosmetics: Remove vim/emacs coding style hints from sources 2010-11-02 04:16:48 +02:00
vd_mpegpes.c Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
vd_mpng.c vd_mpng: libpng API update, use color type getter 2011-02-15 19:14:34 +02:00
vd_mtga.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
vd_null.c Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
vd_qtvideo.c cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
vd_raw.c Fix crash with incomplete yuv2 frames. 2010-03-28 00:08:28 +00:00
vd_realvid.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
vd_sgi.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
vd_theora.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
vd_vfw.c cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
vd_vfwex.c
vd_xanim.c cleanup: fix mp_dbg() format string warnings 2011-07-01 03:37:34 +03:00
vd_xvid4.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
vd.c video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
vd.h commands, vd_ffmpeg: fix switch_ratio slave command 2011-11-14 20:24:39 +02:00
vf_1bpp.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_2xsai.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_ass.c timeline: subs: keep subtitle tracks in source time 2012-03-25 22:30:37 +03:00
vf_blackframe.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_bmovl.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
vf_boxblur.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_crop.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_cropdetect.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_decimate.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_delogo.c vf_delogo: allow to change the rectangle based on the time 2011-07-06 07:13:08 +03:00
vf_denoise3d.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_detc.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_dint.c vf_dint, vf_divtc: fix code assuming "char" is signed 2011-07-06 09:15:57 +03:00
vf_divtc.c vf_dint, vf_divtc: fix code assuming "char" is signed 2011-07-06 09:15:57 +03:00
vf_down3dright.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_dsize.c vf_dsize, vf_scale: fix behavior on multiple config() calls 2011-12-19 02:02:32 +02:00
vf_dvbscale.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_eq2.c Do not cast the results of malloc/calloc/realloc. 2010-02-26 15:01:37 +00:00
vf_eq.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_expand.c vf_expand: always clear the added borders 2011-12-19 21:56:00 +02:00
vf_field.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_fil.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_filmdint.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
vf_fixpts.c vf_fixpts: Mark vf_info_t declaration const 2010-11-02 04:16:45 +02:00
vf_flip.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_format.c Merge svn changes up to r31332 2010-06-05 23:37:42 +03:00
vf_framestep.c cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
vf_fspp.c vf_fspp: make compile without Libav internals 2012-01-02 06:15:52 +02:00
vf_geq.c Update libav API uses 2011-04-20 04:36:05 +03:00
vf_gradfun.c Merge svn changes up to r31033 2010-04-26 18:25:34 +03:00
vf_halfpack.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_harddup.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_hqdn3d.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_hue.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_il.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_ilpack.c vf_ilpack: fix incompatible function types 2011-07-06 09:24:31 +03:00
vf_ivtc.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_kerndeint.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_lavc.c Update Libav API uses 2012-02-01 22:46:27 +02:00
vf_lavcdeint.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_mcdeint.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_mirror.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_noformat.c Merge svn changes up to r31332 2010-06-05 23:37:42 +03:00
vf_noise.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_ow.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_palette.c Merge svn changes up to r31303 2010-06-02 19:12:01 +03:00
vf_perspective.c libmpcodecs/vf_*.c: Replace memalign() by av_malloc() 2011-02-15 19:12:50 +02:00
vf_phase.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_pp7.c cleanup: avoid various GCC warnings 2011-04-20 04:22:53 +03:00
vf_pp.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
vf_pullup.c vf_pullup, vf_yadif: pts handling fixes 2011-06-24 22:31:44 +03:00
vf_qp.c vf_qp: enable compilation depending on libavutil eval API 2011-07-18 00:57:05 +03:00
vf_rectangle.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_remove_logo.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
vf_rgbtest.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_rotate.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_sab.c vo_gl: don't accept 9/10-bit formats as input 2011-06-29 10:49:41 +03:00
vf_scale.c vf_dsize, vf_scale: fix behavior on multiple config() calls 2011-12-19 02:02:32 +02:00
vf_scale.h video, options: implement better YUV->RGB conversion control 2011-10-16 21:11:11 +03:00
vf_screenshot.c core: add infrastructure to get screenshots from VOs 2011-11-25 23:56:28 +02:00
vf_smartblur.c vo_gl: don't accept 9/10-bit formats as input 2011-06-29 10:49:41 +03:00
vf_softpulldown.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_softskip.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_spp.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_stereo3d.c vf_stereo3d: Add support for converting to interleaved 3D 2011-07-06 13:01:07 +03:00
vf_swapuv.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_telecine.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_test.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_tfields.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
vf_tile.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_tinterlace.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_unsharp.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_uspp.c Update Libav API uses 2012-02-01 22:46:27 +02:00
vf_vo.c cosmetics: vf_vo.c: reformat 2012-03-25 22:30:37 +03:00
vf_yadif.c configure: Remove checks for default inline asm features 2011-06-28 19:04:22 +03:00
vf_yuvcsp.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_yvu9.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf.c configure, build: support compiling without libpostproc 2012-02-27 18:18:49 +02:00
vf.h core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
vfcap.h core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
vqf.h