1
mirror of https://github.com/mpv-player/mpv synced 2025-01-24 19:37:30 +01:00
mpv/libmpcodecs
Uoti Urpala 966340b31a subs: use correct font aspect ratio for libass + converted subs
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 anamorphic and non-anamorphic versions of
the same video and the bug-compatible behavior can only be correct for
one alternative at most. However it's probably better to keep it as a
default at least, so that extracting a muxed subtitle track and using
that does not give behavior different from the original muxed one.

The aspect ratio setting is per ASS_Renderer, and changing it resets
libass caches. For that reason this commit adds separate renderer
instances to use for the "correct" and "VSFilter bug compatible"
cases.
2011-01-26 20:38:53 +02: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 Use AV_RL* macros instead of typecasts where appropriate 2010-11-02 04:14:43 +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 ad_faad: fix crash when used on an empty audio stream 2010-12-16 06:22:19 +02:00
ad_ffmpeg.c demux_mkv, ad_ffmpeg: use Matroska OutputSamplingFrequency if available 2010-11-21 14:52:08 +02:00
ad_hwac3.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ad_hwmpa.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ad_imaadpcm.c Use AV_RL* macros instead of typecasts where appropriate 2010-11-02 04:14:43 +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 -a52drc handling 2010-11-23 00:44:37 +02: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_mp3lib.c Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
ad_mp3lib.h Add header file for mplayer_audio_read() instead of forward declaring it. 2010-02-16 13:16:17 +00: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_mpeg123: Enable robust resync 2010-11-02 04:14:44 +02:00
ad_msadpcm.c Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
ad_pcm.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
ad_qtaudio.c cleanup: #include loader/wine/winbase.h instead of local declarations 2010-11-02 04:07:44 +02:00
ad_realaud.c whitespace cosmetics 2010-05-25 11:39:58 +00:00
ad_sample.c whitespace cosmetics 2010-05-25 11:39:58 +00:00
ad_speex.c ad_speex: improve timestamp handling 2010-12-16 06:22:19 +02:00
ad_twin.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ad.c build: enable/disable all FFmpeg libraries together 2010-11-02 04:16:55 +02:00
ad.h Forgotten part of previous commit (extern declaration of drc_level). 2010-05-30 16:48:18 +00: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 core: do initial A-V sync by modifying audio stream 2010-11-13 19:46:02 +02:00
dec_audio.h core: do initial A-V sync by modifying audio stream 2010-11-13 19:46:02 +02:00
dec_teletext.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
dec_teletext.h Add support for DVB teletext. 2009-11-10 11:31:47 +00:00
dec_video.c cosmetics: remove unused code, small formatting tweaks 2010-12-20 06:42:04 +02:00
dec_video.h Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
img_format.c Merge svn changes up to r31145 2010-05-30 15:21:18 +03:00
img_format.h video: simplify some tests with a new IMGFMT_IS_HWACCEL macro 2010-11-08 18:03:35 +02:00
mp_image.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
mp_image.h cosmetics: Drop pointless _s suffix from 'struct mp_image'. 2010-05-27 10:08:30 +00:00
mpc_info.h Add missing license headers to all files in the libmpcodecs directory. 2010-01-30 16:57:40 +00:00
pullup.c Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
pullup.h Add missing license headers to all files in the libmpcodecs directory. 2010-01-30 16:57:40 +00: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 vd_ffmpeg: set thread count to number of cores on machine by default 2010-12-20 05:53:28 +02:00
vd_ffmpeg.h Add central init_avcodec() to avoid duplicated libavcodec init code 2010-11-02 04:15:51 +02: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_libmpeg2.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02: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 Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
vd_mtga.c Use AV_RL* macros instead of typecasts where appropriate 2010-11-02 04:14:43 +02:00
vd_null.c Merge svn changes up to r30463 2010-03-09 18:59:15 +02:00
vd_qtvideo.c vd_qtvideo: Do not dump image description by default 2010-12-16 04:57:18 +02:00
vd_raw.c Fix crash with incomplete yuv2 frames. 2010-03-28 00:08:28 +00:00
vd_realvid.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vd_sgi.c Use AV_RL* macros instead of typecasts where appropriate 2010-11-02 04:14:43 +02:00
vd_theora.c Merge svn changes up to r31256 2010-05-30 16:39:41 +03:00
vd_vfw.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
vd_vfwex.c - vfwex redundancy removed 2002-09-03 21:13:48 +00:00
vd_xanim.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vd_xvid4.c Mark all ad_info_t/vd_info_t structure declarations as const. 2010-02-12 16:29:34 +00:00
vd_zrmjpeg.c Mark all ad_info_t/vd_info_t structure declarations as const. 2010-02-12 16:29:34 +00:00
vd.c build: enable/disable all FFmpeg libraries together 2010-11-02 04:16:55 +02:00
vd.h cosmetics: Drop _s suffix from 'struct vd_functions'. 2010-05-27 09:59:15 +00: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 subs: use correct font aspect ratio for libass + converted subs 2011-01-26 20:38:53 +02: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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_dint.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_divtc.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03: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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03: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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_fspp.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_geq.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02: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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_ivtc.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +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 cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_lavcdeint.c Add central init_avcodec() to avoid duplicated libavcodec init code 2010-11-02 04:15:51 +02:00
vf_mcdeint.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02: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 cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_phase.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_pp7.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_pp.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_pullup.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_qp.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02: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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03: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 cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_scale.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_scale.h Add missing license headers to all files in the libmpcodecs directory. 2010-01-30 16:57:40 +00:00
vf_screenshot.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_smartblur.c vf_sab, vf_smartblur: add "const" to match swscale API 2010-11-02 04:16:46 +02:00
vf_softpulldown.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +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: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_stereo3d.c vf_stereo3d: Properly support src/dst stride 2010-12-16 03:35:19 +02:00
vf_swapuv.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_telecine.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +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 cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_tile.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +03:00
vf_tinterlace.c cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf" 2010-05-29 17:20:44 +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 cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vf_vo.c subs: use correct font aspect ratio for libass + converted subs 2011-01-26 20:38:53 +02:00
vf_yadif.c vf_yadif: modify asm to make compile with clang 2010-11-02 04:18:08 +02: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_zrmjpeg.c Add central init_avcodec() to avoid duplicated libavcodec init code 2010-11-02 04:15:51 +02:00
vf.c build: enable vf_geq if libavutil version installs eval.h 2010-11-06 23:29:07 +02:00
vf.h cleanup: move MP_NOPTS_VALUE definition to mpcommon.h 2011-01-15 18:45:43 +02:00
vfcap.h Add missing license headers to all files in the libmpcodecs directory. 2010-01-30 16:57:40 +00:00
vqf.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00