vlc.git
4 years agomacOS: Move NSSound category to its own file
Marvin Scholz [Thu, 16 Mar 2017 08:15:16 +0000 (09:15 +0100)]
macOS: Move NSSound category to its own file

This makes it easier to find the relevant code and
additionally has the benefit that imports can be more fine-grained
in the future, instead of just having one misc.h import,
where it is hard to know, without looking at it, what it is
actually needed for.

4 years agopotfiles: Reflect recent file changes
Hugo Beauzée-Luyssen [Wed, 15 Mar 2017 18:55:49 +0000 (19:55 +0100)]
potfiles: Reflect recent file changes

4 years agopacketizer: h264: don't reset current frame pts on discontinuity
Francois Cartegnie [Wed, 15 Mar 2017 18:23:42 +0000 (19:23 +0100)]
packetizer: h264: don't reset current frame pts on discontinuity

otherwise outputs timings less frame

4 years agodemux/playlist/dvb: simplify parsing
Filip Roséen [Wed, 15 Mar 2017 09:10:38 +0000 (10:10 +0100)]
demux/playlist/dvb: simplify parsing

the variable named str is not referred to after the lines in question,
as such this simplifies the implementation after the recent changes to
ParseFEC, ParseModulation, and ParseGuard.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodemux/playlist/dvb: prevent null-dereference on truncated lines
Filip Roséen [Wed, 15 Mar 2017 09:10:37 +0000 (10:10 +0100)]
demux/playlist/dvb: prevent null-dereference on truncated lines

All three of ParseFec, ParseModulation, and Parseguard, are
potentially called with NULL (on unexpected (truncated) input), these
changes make sure that we do not dereference the passed pointer if
such happens.

Instead NULL is returned to signal that the parsing failed.

fixes: #18126

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodemux/playlist/itml: new_track: minor clean-up
Filip Roséen [Wed, 15 Mar 2017 09:10:14 +0000 (10:10 +0100)]
demux/playlist/itml: new_track: minor clean-up

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodemux/playlist/itml: remove unnecessary branch
Filip Roséen [Wed, 15 Mar 2017 09:10:13 +0000 (10:10 +0100)]
demux/playlist/itml: remove unnecessary branch

An xml-document containing a tag without a name is ill-formed, so this
case will never happen in practice (as the xml-reader will error out
before).

However, if it for some reason would happen, it will be handled due to
the fact that there will not be any handler matching "".

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodemux/playlist/itml: remove usage of fprintf
Filip Roséen [Wed, 15 Mar 2017 09:10:12 +0000 (10:10 +0100)]
demux/playlist/itml: remove usage of fprintf

This diagnostic is not helpful, and should definitely not use fprintf
(as such it is removed).

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agomisc/gnutls: do not declare variable if not needed
Filip Roséen [Wed, 15 Mar 2017 09:07:47 +0000 (10:07 +0100)]
misc/gnutls: do not declare variable if not needed

The variable in question is only needed within the preprocessor-if
that follows, as such it makes more sense to declare only declare it
if that is actually reached (while also supressing a warning
diagnostic related to the variable being unused).

An empty statement has been added after the label in order to comply
with the ISO C Standard, which mandates that a label preceedes a
statement (which a variable declaration is not).

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agogui/skins2: polish error diagnostics on dialog provider failure
Filip Roséen [Wed, 15 Mar 2017 09:07:45 +0000 (10:07 +0100)]
gui/skins2: polish error diagnostics on dialog provider failure

There can be more dialogs providers than qt, and qt might be compiled
even though the affected diagnostics are issued. To make the behavior
more relevant in/suitable for all circumstances:

 - the duplicate diagnostic has been removed, and;
 - mention of qt is removed.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodemux/playlist: wpl: reimplement parsing
Filip Roséen [Wed, 15 Mar 2017 09:07:28 +0000 (10:07 +0100)]
demux/playlist: wpl: reimplement parsing

The previous implementation suffered from a bunch of different issues,
mostly related to not properly checking errors and the current state
of the XML-parser.

This new implementation is somewhat more verbose, but manages things
in a correct manner:

 - prevents infinite loops on unexpected data
 - prevents memory corruption on unexpected data
 - prevents memory-leaks on error

fixes: #18124

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodemux/adaptive: DOMParser: retain root element if empty
Filip Roséen [Wed, 15 Mar 2017 09:06:48 +0000 (10:06 +0100)]
demux/adaptive: DOMParser: retain root element if empty

An XML file containing a single root element without children would,
given the previous implementation, have its only element ignored.
Resulting in a memory-leak of the node in question, while also (more
importantly) making it impossible to access the associated data.

As XML does not allow documents such as the below (only a single root
is allowed):

   <?xml version="1.0">
   <ill-formed />
   <ill-formed></ill-formed>

Simply checking to see so that we are not popping away all our tags
are sufficient in order to fix this bug. The changes also make sure
that we do not invoke std::stack<...>::pop on an empty container
(which is undefined-behavior).

fixes: #18122

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agotext_renderer/freetype: FontConfig_GetFamily: simplify bold/italic flags
Filip Roséen [Wed, 15 Mar 2017 09:07:52 +0000 (10:07 +0100)]
text_renderer/freetype: FontConfig_GetFamily: simplify bold/italic flags

The previous implementation would result in a diagnostic from gcc due
to it being unable to prove that b_bold and b_italic was always
initialized before usage.

These changes get rid of the diagnostic, while also simplifying the
implementation. A comment was added to make the purpose of the loop
clear.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agonetwork/tcp: socks: diagnose ill-formed authentication
Filip Roséen [Wed, 15 Mar 2017 09:07:50 +0000 (10:07 +0100)]
network/tcp: socks: diagnose ill-formed authentication

The socks protocol does not allow username/password to be longer than
255 characters. Instead of silently truncating the entities to the
maximum limit we should simply reject them.

These changes also removes the XXX comment, as it is not strictly "we"
who does not support longer username/passwords.. it's the protocol
itself.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agogui/qt: dialogs/plugins: remove extraneous parentheses to silence warning
Filip Roséen [Wed, 15 Mar 2017 09:07:42 +0000 (10:07 +0100)]
gui/qt: dialogs/plugins: remove extraneous parentheses to silence warning

The code of course works as it should, but llvm will spit out a
warning diagnostic due to extraneous parenthesis (thinking that it
probably should be "=" instead of "==").

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agodemux/xiph_metadata: use ARRAY_SIZE
Filip Roséen [Wed, 15 Mar 2017 09:07:39 +0000 (10:07 +0100)]
demux/xiph_metadata: use ARRAY_SIZE

increases readability.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agodemux/playlist/xspf: prevent crash on empty <vlc:id>
Filip Roséen [Wed, 15 Mar 2017 09:07:32 +0000 (10:07 +0100)]
demux/playlist/xspf: prevent crash on empty <vlc:id>

psz_value is given a value when the node type is XML_READER_TEXT, but
given that this is not guaranteed to ever happen before
XML_READER_ENDELEM there is nothing stating that psz_value is not
NULL.

fixes: #18125

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agodemux/playlist/qtl: prevent crash during root-node searching
Filip Roséen [Wed, 15 Mar 2017 09:07:25 +0000 (10:07 +0100)]
demux/playlist/qtl: prevent crash during root-node searching

The previous implementation would crash on malformed/unexpected input
due to xml_ReaderNextNode returning a value different than
XML_READER_STARTELEM, meaning that accessing "node" is ill-formed.

fixes: #18123

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agodemux/playlist/podcast: fix usage of wrong variable in if-condition
Filip Roséen [Wed, 15 Mar 2017 09:06:53 +0000 (10:06 +0100)]
demux/playlist/podcast: fix usage of wrong variable in if-condition

The relevant if-statement is meant to abort parsing if strdup fails,
and should therfore check the value of "psz_elname" (as node is always
not-NULL on the line in question).

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agocodec/Makefile: svgdec: fix typo in CFLAGS specification
Filip Roséen [Wed, 15 Mar 2017 09:06:45 +0000 (10:06 +0100)]
codec/Makefile: svgdec: fix typo in CFLAGS specification

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agocodec/dca: remove dead code
Filip Roséen [Wed, 15 Mar 2017 09:06:29 +0000 (10:06 +0100)]
codec/dca: remove dead code

see commits prior to a4b486148b5

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agoaccess/satip: remove write only variable
Filip Roséen [Wed, 15 Mar 2017 09:06:21 +0000 (10:06 +0100)]
access/satip: remove write only variable

The now removed lines of code are part of the legacy implementation
(before vlc_UrlParse was used), and are no longer required.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agowin32: fix log typo
Steve Lhomme [Wed, 15 Mar 2017 08:25:53 +0000 (09:25 +0100)]
win32: fix log typo

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodxva2: fix compilation warning
Steve Lhomme [Wed, 15 Mar 2017 08:12:36 +0000 (09:12 +0100)]
dxva2: fix compilation warning

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agod3d11va: fix leak from a FromWide() call
Steve Lhomme [Wed, 15 Mar 2017 08:12:02 +0000 (09:12 +0100)]
d3d11va: fix leak from a FromWide() call

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agovlc_stream_extractor: remove extra comma for VLC_COMMON_MEMBERS
Steve Lhomme [Tue, 14 Mar 2017 14:17:12 +0000 (15:17 +0100)]
vlc_stream_extractor: remove extra comma for VLC_COMMON_MEMBERS

it is not set in other places and some compilers don't like a stray comma.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agocore: win32: fix compilation for Winstore
Steve Lhomme [Tue, 14 Mar 2017 14:15:23 +0000 (15:15 +0100)]
core: win32: fix compilation for Winstore

MMRESULT is not defined in that case with MS headers

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agopacketizer: h264: parse SEI after sps/pps activation
Francois Cartegnie [Wed, 15 Mar 2017 16:53:58 +0000 (17:53 +0100)]
packetizer: h264: parse SEI after sps/pps activation

meets TIMING_SEI dependency on SPS

4 years agopacketizer: h264: store SEI nal apart
Francois Cartegnie [Wed, 15 Mar 2017 16:23:35 +0000 (17:23 +0100)]
packetizer: h264: store SEI nal apart

Some SEI requires parsing context from picture
header. We are then currently always wrong for
first frame or first frame before a change in those
params. We need to delay parsing.

4 years agopacketizer: h264: gather nals incrementally
Francois Cartegnie [Wed, 15 Mar 2017 16:15:34 +0000 (17:15 +0100)]
packetizer: h264: gather nals incrementally

allows to insert something else than sps/pps
and uses last block pointer

4 years agoqt: Account for DPI scaling when resizing the video widget
Hugo Beauzée-Luyssen [Mon, 13 Mar 2017 10:27:32 +0000 (11:27 +0100)]
qt: Account for DPI scaling when resizing the video widget

4 years agocontribs: qt: Fix win32 window decorations on HiDPI screens
Hugo Beauzée-Luyssen [Tue, 7 Mar 2017 14:11:04 +0000 (15:11 +0100)]
contribs: qt: Fix win32 window decorations on HiDPI screens

https://bugreports.qt.io/browse/QTBUG-53255
As a side note, Qt have been asked to include those patches included in Qt 5.6.x
branch, but it won't happen until 5.9 gets released, if ever.

4 years agoQt: Properly report vout size when HiDPI scaling enabled
Anatoliy Anischovich [Sat, 15 Oct 2016 18:09:17 +0000 (21:09 +0300)]
Qt: Properly report vout size when HiDPI scaling enabled

Fix #17484
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Modified-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agopacketizer: h264: split first vcl unit test
Francois Cartegnie [Wed, 15 Mar 2017 10:05:26 +0000 (11:05 +0100)]
packetizer: h264: split first vcl unit test

4 years agopacketizer: h264: factorize slice_t init
Francois Cartegnie [Wed, 15 Mar 2017 09:35:04 +0000 (10:35 +0100)]
packetizer: h264: factorize slice_t init

4 years agopacketizer: h264: only set fmtout to active sps
Francois Cartegnie [Wed, 15 Mar 2017 09:21:05 +0000 (10:21 +0100)]
packetizer: h264: only set fmtout to active sps

previously was setting format to any seen sps

4 years agopacketizer: h264: rework pps/sps storage and references
Francois Cartegnie [Tue, 14 Mar 2017 13:35:41 +0000 (14:35 +0100)]
packetizer: h264: rework pps/sps storage and references

- copying any seen sps/pps values for use is wrong
- any sps/pps can't match slice
- need to be more flexible to add new fields

4 years agodemux: ts: don't update last pts with dvb
Francois Cartegnie [Tue, 14 Mar 2017 17:21:04 +0000 (18:21 +0100)]
demux: ts: don't update last pts with dvb

regression from growing files

4 years agopacketizer: h264: blockchaingather can fail
Francois Cartegnie [Tue, 14 Mar 2017 13:27:13 +0000 (14:27 +0100)]
packetizer: h264: blockchaingather can fail

4 years agopacketizer: h264: missing leak handling
Francois Cartegnie [Tue, 14 Mar 2017 12:15:26 +0000 (13:15 +0100)]
packetizer: h264: missing leak handling

should not happen anyway

4 years agovout: fix comment
Thomas Guillem [Wed, 15 Mar 2017 09:42:07 +0000 (10:42 +0100)]
vout: fix comment

4 years agomacOS: Move some classes to their own files
Marvin Scholz [Wed, 15 Mar 2017 13:43:32 +0000 (14:43 +0100)]
macOS: Move some classes to their own files

Put VLCSimplePrefsWindow and VLCHotkeyChangeWindow in their own files
as they do not belong inside the VLCSimplePrefsController and makes
it easier to find these classes.

4 years agomacOS: Rename simple_prefs to VLCSimplePrefsController
Marvin Scholz [Wed, 15 Mar 2017 13:42:20 +0000 (14:42 +0100)]
macOS: Rename simple_prefs to VLCSimplePrefsController

VLCSimplePrefsController describes better what it is.

4 years agomacOS: Remove BWQuincyKit crash reporter
Marvin Scholz [Wed, 15 Mar 2017 13:09:15 +0000 (14:09 +0100)]
macOS: Remove BWQuincyKit crash reporter

Breakpad is used now, so Quincy is no longer necessary.

4 years agoaccess: fix typo
Thomas Guillem [Wed, 15 Mar 2017 09:48:11 +0000 (10:48 +0100)]
access: fix typo

strcasecmp should replace strcoll if HAVE_STRCOLL is not defined.

4 years agoWin32: sign also the installer with sha2
Jean-Baptiste Kempf [Tue, 14 Mar 2017 23:27:37 +0000 (00:27 +0100)]
Win32: sign also the installer with sha2

And also fix the rules

4 years agoopengl: add missing GL_MAP_FLUSH_EXPLICIT_BIT flag
Thomas Guillem [Tue, 14 Mar 2017 18:08:28 +0000 (19:08 +0100)]
opengl: add missing GL_MAP_FLUSH_EXPLICIT_BIT flag

glFlushMappedBufferRange documentation:

"The buffer object must previously have been mapped with the
GL_MAP_FLUSH_EXPLICIT_BIT flag."

4 years agolib: deprecate libvlc_toggle_teletext
Thomas Guillem [Tue, 14 Mar 2017 16:23:48 +0000 (17:23 +0100)]
lib: deprecate libvlc_toggle_teletext

4 years agolib/video: toggle teletext from libvlc_video_set_teletext
Thomas Guillem [Tue, 14 Mar 2017 09:20:48 +0000 (10:20 +0100)]
lib/video: toggle teletext from libvlc_video_set_teletext

If the page is in the range [0; 1000[ the teletext spu will be enabled. If the
page is -1, the teletext spu will be disabled. Otherwise do nothing and print
an error.

4 years agolib/video: refactor teletext activation
Thomas Guillem [Tue, 14 Mar 2017 09:00:02 +0000 (10:00 +0100)]
lib/video: refactor teletext activation

4 years agolib/video: fix video filters not set when there is no vout
Thomas Guillem [Tue, 14 Mar 2017 13:23:51 +0000 (14:23 +0100)]
lib/video: fix video filters not set when there is no vout

Set the video filter variable to the media_player, the vout will inherit from
it.

Fix #17761

4 years agolib/video: use a vlc_object_t to enable vout filters
Thomas Guillem [Tue, 14 Mar 2017 13:08:47 +0000 (14:08 +0100)]
lib/video: use a vlc_object_t to enable vout filters

Ref #17761

4 years agolib/video: remove unused variable
Thomas Guillem [Tue, 14 Mar 2017 13:23:15 +0000 (14:23 +0100)]
lib/video: remove unused variable

configs are generally not written from libvlc.

Ref #17761

4 years agovout: move and hide vout_EnableFilter()
Thomas Guillem [Tue, 14 Mar 2017 13:05:14 +0000 (14:05 +0100)]
vout: move and hide vout_EnableFilter()

Since it's only used by lib/video.c.

Ref #17761

4 years agolib/video: fix invalid id in input_GetEsObjects
Thomas Guillem [Tue, 14 Mar 2017 09:20:36 +0000 (10:20 +0100)]
lib/video: fix invalid id in input_GetEsObjects

This fixes a SEGFAULT when calling libvlc_video_set_teletext when there is no
teletext-es.

Fixes #11854

4 years agoqt: fix compilation on Qt4
KO Myung-Hun [Mon, 13 Mar 2017 06:17:33 +0000 (15:17 +0900)]
qt: fix compilation on Qt4

QStringList::join( QChar ) was introduced in Qt 5.0.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
4 years agodemux: ps: add support for PSM-less gen videotype H264 (fix #2709)
Francois Cartegnie [Sun, 12 Mar 2017 20:25:57 +0000 (21:25 +0100)]
demux: ps: add support for PSM-less gen videotype H264 (fix #2709)

4 years agodemux: ts: fix parsing of program_map
Francois Cartegnie [Sun, 12 Mar 2017 13:54:36 +0000 (14:54 +0100)]
demux: ts: fix parsing of program_map

and removes descriptors storage

4 years agodemux: ps: directly flag winsubmux as bad scr source
Francois Cartegnie [Sun, 12 Mar 2017 18:34:05 +0000 (19:34 +0100)]
demux: ps: directly flag winsubmux as bad scr source

Should not change logic, but untested: no samples.

4 years agodemux: ts: map AAC original codec
Francois Cartegnie [Sun, 12 Mar 2017 14:25:11 +0000 (15:25 +0100)]
demux: ts: map AAC original codec

avoids misdetection

4 years agodemux: ps: fix AAC regression
Francois Cartegnie [Sun, 12 Mar 2017 14:02:13 +0000 (15:02 +0100)]
demux: ps: fix AAC regression

non packetized AAC should be ADTS or LATM

4 years agodemux: ps: fix parsing system_header
Francois Cartegnie [Fri, 10 Mar 2017 17:23:24 +0000 (18:23 +0100)]
demux: ps: fix parsing system_header

4 years agodemux: ps: fix system header data passed to probing
Francois Cartegnie [Fri, 10 Mar 2017 16:08:37 +0000 (17:08 +0100)]
demux: ps: fix system header data passed to probing

4 years agodemux: ps: fix potential oob read
Francois Cartegnie [Fri, 10 Mar 2017 15:19:06 +0000 (16:19 +0100)]
demux: ps: fix potential oob read

4 years agotls: fix file description
Rémi Denis-Courmont [Sun, 12 Mar 2017 18:44:19 +0000 (20:44 +0200)]
tls: fix file description

4 years agohttp: inline one function
Rémi Denis-Courmont [Sun, 12 Mar 2017 17:43:06 +0000 (19:43 +0200)]
http: inline one function

...whose name had become somewhat misleading.

4 years agolua: use net_ConnectTCP() where applicable
Rémi Denis-Courmont [Sun, 12 Mar 2017 17:26:57 +0000 (19:26 +0200)]
lua: use net_ConnectTCP() where applicable

4 years agosftp: use TCP, not just any protocol
Rémi Denis-Courmont [Sun, 12 Mar 2017 17:26:42 +0000 (19:26 +0200)]
sftp: use TCP, not just any protocol

4 years agosoundcloud.lua: update API magic
Pierre Ynard [Sat, 11 Mar 2017 17:37:29 +0000 (18:37 +0100)]
soundcloud.lua: update API magic

4 years agodoc: libvlc_new: fix spelling, add code examples
Rémi Denis-Courmont [Sat, 11 Mar 2017 09:54:15 +0000 (11:54 +0200)]
doc: libvlc_new: fix spelling, add code examples

4 years agodirect3d11: pass the Whitepoint shifts as a Matrix
Steve Lhomme [Tue, 7 Mar 2017 15:39:39 +0000 (16:39 +0100)]
direct3d11: pass the Whitepoint shifts as a Matrix

This way we get the RGB from the sampled pixel using 2 matrix multiplications.
It may be more efficient than adding values separately

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodirect3d11: generalize the full to studio/limited conversion used on the Xbox
Steve Lhomme [Tue, 7 Mar 2017 15:39:38 +0000 (16:39 +0100)]
direct3d11: generalize the full to studio/limited conversion used on the Xbox

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodirect3d11: ajdust the black level/achromacy/range based on the bit depth
Steve Lhomme [Tue, 7 Mar 2017 15:39:37 +0000 (16:39 +0100)]
direct3d11: ajdust the black level/achromacy/range based on the bit depth

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodirect3d11: fix the YCbRb BT2020 to RGB conversion matrix
Steve Lhomme [Tue, 7 Mar 2017 15:39:36 +0000 (16:39 +0100)]
direct3d11: fix the YCbRb BT2020 to RGB conversion matrix

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodirect3d11: document the pixel conversion matrices
Steve Lhomme [Tue, 7 Mar 2017 15:39:35 +0000 (16:39 +0100)]
direct3d11: document the pixel conversion matrices

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodirect3d11: keep the default pixel conversion matrices static
Steve Lhomme [Tue, 7 Mar 2017 15:39:34 +0000 (16:39 +0100)]
direct3d11: keep the default pixel conversion matrices static

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodirect3d11: simplify float4 to float3 conversion in the Pixel Shader
Steve Lhomme [Tue, 7 Mar 2017 15:39:08 +0000 (16:39 +0100)]
direct3d11: simplify float4 to float3 conversion in the Pixel Shader

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodirect3d11: fix HLG displaying on LDR displays
Steve Lhomme [Tue, 7 Mar 2017 15:39:07 +0000 (16:39 +0100)]
direct3d11: fix HLG displaying on LDR displays

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodirect3d11: handle output to a SMPTE ST 2084 display
Steve Lhomme [Tue, 7 Mar 2017 15:39:06 +0000 (16:39 +0100)]
direct3d11: handle output to a SMPTE ST 2084 display

This is especially important for sub pictures that are not HDR but displayed on
HDR display.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agodirect3d11: use values directly from the SMPTE ST 2084 standard
Steve Lhomme [Tue, 7 Mar 2017 15:39:05 +0000 (16:39 +0100)]
direct3d11: use values directly from the SMPTE ST 2084 standard

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agoadd FM Screen Capture Codec
Paul B Mahol [Fri, 10 Mar 2017 10:21:15 +0000 (11:21 +0100)]
add FM Screen Capture Codec

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agocontrib: matroska: update libmatroska to 1.4.6
Steve Lhomme [Fri, 10 Mar 2017 16:29:08 +0000 (17:29 +0100)]
contrib: matroska: update libmatroska to 1.4.6

We'll now have 360° elements by default

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agoopengl: add PBO support for old OpenGL versions
Thomas Guillem [Thu, 9 Mar 2017 14:12:03 +0000 (15:12 +0100)]
opengl: add PBO support for old OpenGL versions

Direct rendering is already present using PBO (GL_EXT_pixel_buffer_object) and
persistent buffers (GL_EXT_buffer_storage). But these extensions are available
only since OpenGL 4.4.

For older OpenGL versions (OpenGL 2.0 and OpenGL ES3 (or as an extension since
OpenGL ES2)), we can still improve quite a bit the performances by using a
non-mapped PBO and updating it via glBufferSubData. This won't be true direct
rendering since you must copy the data from the decoded picture to the GPU.

By using 2 PBOs (double buffering), we make sure that we can upload to the GPU
while the previous picture is beeing rendered.

Performances gains measured by playing 4K30fps video during 1 minute: 7 seconds
spent in vout->prepare() instead of 10 seconds. This result may vary with the
platform/device/drivers.

Thanks to sesse for the advices.

4 years agoopengl: improve pbo and buffer_storage extension check
Thomas Guillem [Fri, 10 Mar 2017 09:10:13 +0000 (10:10 +0100)]
opengl: improve pbo and buffer_storage extension check

4 years agoopengl: use a specific release callback for persistent
Thomas Guillem [Fri, 10 Mar 2017 08:34:55 +0000 (09:34 +0100)]
opengl: use a specific release callback for persistent

4 years agoopengl: move pbo pic creation
Thomas Guillem [Thu, 9 Mar 2017 17:23:24 +0000 (18:23 +0100)]
opengl: move pbo pic creation

4 years agoopengl: don't handle direct rendering with subpictures
Thomas Guillem [Thu, 9 Mar 2017 15:50:30 +0000 (16:50 +0100)]
opengl: don't handle direct rendering with subpictures

As picture_t used to render subptictures are not allocated by the converter
pool, they are not configured for direct rendering.

4 years agoopengl: refactor
Thomas Guillem [Thu, 9 Mar 2017 16:00:14 +0000 (17:00 +0100)]
opengl: refactor

Rename tc_xyz12_init to xyz12_shader_init, and only initialise the shader.

4 years agoopengl: check return values of vlc_gl_GetProcAddress
Thomas Guillem [Thu, 9 Mar 2017 14:57:23 +0000 (15:57 +0100)]
opengl: check return values of vlc_gl_GetProcAddress

Modify the GET_PROC_ADDR macro to do so and add a critical argument. If
critical is no, the function is not mandatory, this is the case for persistent
mapping functions (converters.c do check these functions pointer).

4 years agoopengl: rename VLCGL_HAS_PBO to VLCGL_HAS_MAP_PERSISTENT
Thomas Guillem [Thu, 9 Mar 2017 13:59:11 +0000 (14:59 +0100)]
opengl: rename VLCGL_HAS_PBO to VLCGL_HAS_MAP_PERSISTENT

4 years agodirectory: fix compare between digit and nondigit
Thomas Guillem [Fri, 10 Mar 2017 14:10:27 +0000 (15:10 +0100)]
directory: fix compare between digit and nondigit

strcoll should be used if a or b are nondigit.

4 years agowinvlc: Remove trailing whitespace
Hugo Beauzée-Luyssen [Fri, 10 Mar 2017 14:05:19 +0000 (15:05 +0100)]
winvlc: Remove trailing whitespace

4 years agowinvlc: Try to load DLLs from system32 before any other folder
Hugo Beauzée-Luyssen [Fri, 10 Mar 2017 13:48:51 +0000 (14:48 +0100)]
winvlc: Try to load DLLs from system32 before any other folder

4 years agoandroid/thread: rework THREAD_ASSERT
Thomas Guillem [Fri, 10 Mar 2017 16:37:07 +0000 (17:37 +0100)]
android/thread: rework THREAD_ASSERT

Don't depend on android liblog. Print the error message on stderr. This message
can be lost, but the most important part is the full backtrace produced by the
failing assert.

4 years agoandroid/thread: don't use custom assert
Thomas Guillem [Fri, 10 Mar 2017 16:11:10 +0000 (17:11 +0100)]
android/thread: don't use custom assert

The backtrace produced by the failing assert is enough.

4 years agocodec: lpcm: remove noop
Francois Cartegnie [Fri, 10 Mar 2017 13:57:43 +0000 (14:57 +0100)]
codec: lpcm: remove noop

4 years agocodec: lpcm: fix leak on error
Francois Cartegnie [Fri, 10 Mar 2017 13:41:15 +0000 (14:41 +0100)]
codec: lpcm: fix leak on error

4 years agowin32: do not load wininet.dll on startup, it's not a Known DLL
Steve Lhomme [Fri, 10 Mar 2017 13:20:00 +0000 (14:20 +0100)]
win32: do not load wininet.dll on startup, it's not a Known DLL

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
4 years agolibvlc_new: mention the call to SetDefaultDllDirectories in the doc
Jean-Baptiste Kempf [Fri, 10 Mar 2017 13:06:18 +0000 (14:06 +0100)]
libvlc_new: mention the call to SetDefaultDllDirectories in the doc

4 years agoWinvlc: add comments
Jean-Baptiste Kempf [Fri, 10 Mar 2017 12:58:57 +0000 (13:58 +0100)]
Winvlc: add comments