<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title></title>
<style type="text/css">code{white-space: pre;}</style>
</head>
<body>
<p>Hi Steve,</p>
<p>Have you verified that using <code>vlc_rational_t</code> in all places you propose changes does not lead to unexpected behavior?</p>
<p>Such as making sure that the relevant spec where the values are coming from does not allow negative values for calculating the ratio, as well as that all “incoming” values really fit inside an <code>unsigned</code> on all platforms?</p>
<p>On 2017-03-31 18:14, Steve Lhomme wrote:</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> While working on HDR metadata I noticed that it would me more accurate to
handle them as rational numbers. But it seems we do not have that in the core.
So I went ahead and added vlc_rational_t.
Only the first 3 patches would be nice to merge, the rest is extra by using the
type where rational numbers were already used.
Steve Lhomme (28):
vlc_vout_wrapper: the sar is always unsigned
core: add a vlc_rational_t type for unsigned rational numbers
core: turn mastering colour luminance into rational numbers
avcodec/avformat: simplify AVRational copying
avcommon: add a conversion from AVRational to vlc_rational_t
always call var_InheritURational with a vlc_rational_t based output
core: change var_InheritURational to output a vlc_rational_t
mpegvideo: use vlc_rational_t for the internal frame rate
linsys: use vlc_rational_t internally
demux: ogg: use vlc_rational_t internally
packetizer: mpeg4video: use vlc_rational_t internally
demux: mpeg: use vlc_rational_t internally
mmal: vout: use vlc_rational_t internally for the frame rate
vlc_es: use vlc_rational_t for the frame rate
modules: simplify some vlc_rational_t value copying
simplify some frame rate checks
dvdread: use a vlc_rational_t internally for the SAR
codec: libmpeg2: use a vlc_rational_t internally for the SAR
packetizer: h264: use a vlc_rational_t internally for the SAR
stream_out: mosaic_bridge: use a vlc_rational_t internally for the SAR
vlc_es: use a vlc_rationale_t for the SAR
codec: avcodec: copy the source max light levels into the output
picture
access: dvdnav: use vlc_rational_t internally for the SAR
hxxx_helper: simplify h264_helper_get_current_sar using vlc_rational_t
demux: mp4: simplify TrackGetESSampleRate using vlc_rational_t
packetizer: hevc: simplify hevc_get_frame_rate() using vlc_rational_t
simplifying copying data between vlc_rational_t
do not test vlc_rational_t for negative values
include/vlc_common.h | 4 +
include/vlc_es.h | 14 ++--
include/vlc_fourcc.h | 10 +--
include/vlc_variables.h | 4 +-
include/vlc_vout_display.h | 5 +-
include/vlc_vout_wrapper.h | 5 +-
lib/media.c | 8 +-
lib/media_player.c | 6 +-
modules/access/avcapture.m | 4 +-
modules/access/dcp/dcp.cpp | 4 +-
modules/access/decklink.cpp | 20 ++---
modules/access/dshow/dshow.cpp | 13 ++-
modules/access/dvdnav.c | 24 +++---
modules/access/dvdread.c | 22 +++--
modules/access/imem.c | 17 ++--
modules/access/linsys/linsys_hdsdi.c | 37 ++++-----
modules/access/linsys/linsys_sdi.c | 43 +++++-----
modules/access/rdp.c | 4 +-
modules/access/screen/mac.c | 8 +-
modules/access/screen/wayland.c | 6 +-
modules/access/screen/win32.c | 2 +-
modules/access/screen/xcb.c | 6 +-
modules/access/shm.c | 6 +-
modules/access/timecode.c | 7 +-
modules/access/v4l2/demux.c | 14 ++--
modules/access/v4l2/video.c | 11 ++-
modules/access/vnc.c | 6 +-
modules/codec/aom.c | 6 +-
modules/codec/arib/substext.h | 6 +-
modules/codec/avcodec/avcommon.h | 5 ++
modules/codec/avcodec/d3d11va.c | 4 +-
modules/codec/avcodec/directx_va.c | 3 +-
modules/codec/avcodec/dxva2.c | 6 +-
modules/codec/avcodec/encoder.c | 24 ++----
modules/codec/avcodec/video.c | 80 +++++++++---------
modules/codec/bpg.c | 4 +-
modules/codec/cdg.c | 4 +-
modules/codec/crystalhd.c | 8 +-
modules/codec/cvdsub.c | 4 +-
modules/codec/daala.c | 30 +++----
modules/codec/dmo/dmo.c | 11 ++-
modules/codec/dvbsub.c | 8 +-
modules/codec/gstreamer/gstdecode.c | 20 ++---
.../codec/gstreamer/gstvlcpictureplaneallocator.c | 4 +-
modules/codec/hxxx_helper.c | 5 +-
modules/codec/hxxx_helper.h | 2 +-
modules/codec/jpeg.c | 4 +-
modules/codec/kate.c | 4 +-
modules/codec/libmpeg2.c | 42 +++++-----
modules/codec/oggspots.c | 8 +-
modules/codec/omxil/omxil.c | 29 +++----
modules/codec/png.c | 4 +-
modules/codec/qsv.c | 10 +--
modules/codec/rawvideo.c | 12 +--
modules/codec/schroedinger.c | 22 ++---
modules/codec/scte27.c | 4 +-
modules/codec/sdl_image.c | 4 +-
modules/codec/spudec/parse.c | 4 +-
modules/codec/substext.h | 14 ++--
modules/codec/subsusf.c | 2 +-
modules/codec/svcdsub.c | 4 +-
modules/codec/svg.c | 8 +-
modules/codec/theora.c | 26 +++---
modules/codec/videotoolbox.m | 20 ++---
modules/codec/vpx.c | 11 ++-
modules/codec/x264.c | 18 ++--
modules/codec/x265.c | 14 ++--
modules/codec/xwd.c | 4 +-
modules/codec/zvbi.c | 2 +-
modules/demux/asf/asf.c | 14 ++--
modules/demux/avformat/demux.c | 12 ++-
modules/demux/avformat/mux.c | 25 +++---
modules/demux/avi/avi.c | 8 +-
modules/demux/dirac.c | 6 +-
modules/demux/image.c | 14 ++--
modules/demux/mkv/matroska_segment_parse.cpp | 12 +--
modules/demux/mkv/mkv.cpp | 4 +-
modules/demux/mp4/essetup.c | 8 +-
modules/demux/mp4/mp4.c | 17 ++--
modules/demux/mpeg/h26x.c | 38 ++++-----
modules/demux/mpeg/ts_psi.c | 4 +-
modules/demux/nuv.c | 4 +-
modules/demux/ogg.c | 50 ++++++-----
modules/demux/rawvid.c | 55 ++++++-------
modules/demux/real.c | 4 +-
modules/demux/vc1.c | 8 +-
modules/hw/mmal/codec.c | 7 +-
modules/hw/mmal/deinterlace.c | 15 ++--
modules/hw/mmal/vout.c | 24 +++---
modules/hw/vdpau/deinterlace.c | 8 +-
modules/misc/stats.c | 4 +-
modules/mux/asf.c | 18 ++--
modules/mux/mp4/libmp4mux.c | 14 ++--
modules/mux/mp4/mp4.c | 22 ++---
modules/mux/mpeg/ts.c | 8 +-
modules/mux/ogg.c | 38 ++++-----
modules/packetizer/dirac.c | 4 +-
modules/packetizer/h264.c | 21 +++--
modules/packetizer/h264_nal.c | 8 +-
modules/packetizer/h264_nal.h | 2 +-
modules/packetizer/hevc.c | 21 +++--
modules/packetizer/hevc_nal.c | 14 ++--
modules/packetizer/hevc_nal.h | 2 +-
modules/packetizer/mpeg4video.c | 32 ++++----
modules/packetizer/mpegvideo.c | 30 ++++---
modules/packetizer/vc1.c | 14 ++--
modules/spu/audiobargraph_v.c | 2 +-
modules/spu/logo.c | 2 +-
modules/spu/marq.c | 2 +-
modules/spu/remoteosd.c | 2 +-
modules/spu/rss.c | 2 +-
modules/stream_out/mosaic_bridge.c | 38 ++++-----
modules/stream_out/transcode/transcode.c | 2 +-
modules/stream_out/transcode/transcode.h | 2 +-
modules/stream_out/transcode/video.c | 92 ++++++++++-----------
modules/text_renderer/freetype/freetype.c | 4 +-
modules/video_chroma/swscale.c | 8 +-
modules/video_filter/canvas.c | 10 +--
modules/video_filter/deinterlace/deinterlace.c | 4 +-
modules/video_filter/fps.c | 17 ++--
modules/video_filter/scene.c | 2 +-
modules/video_filter/transform.c | 7 +-
modules/video_output/android/display.c | 21 +++--
modules/video_output/decklink.cpp | 10 +--
modules/video_output/opengl/internal.h | 10 +--
modules/video_output/win32/direct3d11.c | 22 ++---
modules/video_output/yuv.c | 11 ++-
modules/video_splitter/wall.c | 4 +-
modules/visualization/goom.c | 2 +-
modules/visualization/visual/visual.c | 4 +-
src/input/decoder.c | 20 ++---
src/input/es_out.c | 17 ++--
src/misc/es_format.c | 26 +++---
src/misc/fourcc_gen.c | 1 +
src/misc/image.c | 46 +++++------
src/misc/picture.c | 24 +++---
src/misc/subpicture.c | 4 +-
src/misc/variables.c | 16 ++--
src/video_output/display.c | 96 +++++++++-------------
src/video_output/video_epg.c | 14 ++--
src/video_output/video_output.c | 35 ++++----
src/video_output/video_text.c | 8 +-
src/video_output/video_widgets.c | 14 ++--
src/video_output/vout_subpictures.c | 14 ++--
test/libvlc/media.c | 2 +-
test/src/misc/variables.c | 58 ++++++-------
146 files changed, 996 insertions(+), 1082 deletions(-)
--
2.11.1
_______________________________________________
vlc-devel mailing list
To unsubscribe or modify your subscription options:
https://mailman.videolan.org/listinfo/vlc-devel</code></pre>
</blockquote>
</body>
</html>