Opened 4 years ago

Closed 4 years ago

#10361 closed enhancement (fixed)

vlc-3.0.0

Reported by: bdubbs@… Owned by: bdubbs@…
Priority: normal Milestone: 8.2
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

New major version.

Change History (3)

comment:1 by bdubbs@…, 4 years ago

Owner: changed from blfs-book@… to bdubbs@…
Status: newassigned

comment:2 by bdubbs@…, 4 years ago

Changes between 2.2.8 and 3.0.0:

Platform support changes:

  • 3.0.x will be maintained as a LTS (best-effort basis, mostly for security) that will be the last working version for quite a few systems.
  • Indeed the 3.0.x branch will contain the last releases running on:
    • Windows XP, Vista, and the servers equivalent of those Windows versions
    • macOS 10.7, 10.8 & 10.9, iOS 7 & 8
    • Android 2.x, 3.x, 4.0.x & 4.1.x
    • Compilers before gcc 5.0 and clang 3.4, or equivalent
  • For the 3.0 branch, please note:
    • The Windows XP/2003/2003R2 support for VLC is now on a best-effort basis: it should work, but not without limitations. libVLC support for Windows XP is deprecated. You _really_ should upgrade to a more modern Windows version!
    • Windows Vista (all versions) without Platform Upgrade is not supported.
    • 64bit version of VLC for Windows is recommended.
    • Linux support requires now a kernel newer than 2.6.26.
    • Mac OS X 10.6 support is now removed. You need OS X 10.7.

Core:

  • Support network browsing for distant filesystems (SMB, FTP, SFTP, NFS...) and rewrite the parsing of the media files and inputs
  • Support keystores: fetch and store passwords securely (sic!) for common protocols (HTTP, SMB, SFTP, FTP, RTSP ...)
  • Autodetect external audio tracks (ac3, m4a, aac, dts...) similar to subtitles
  • Support HDMI passthrough for Audio HD codecs, like E-AC3, TrueHD or DTS-HD
  • Support for 12bits codec and extended colorspaces (HDR)
  • Support output renderers, like ChromeCast
  • VLC now assumes vlcrc config file is in UTF-8
  • Support portable version of Windows build (create a "portable/" folder)
  • Support wayland surface type
  • Allow to start the video paused on the first frame
  • Refactor preparsing input
  • EPG rework: table and single event updates, now using network time
  • Refactor and fix subtitles es selection. Demuxers can now override es category single only or multiple es behavior
  • Support for 360 video and audio, including viewpoint modification
  • Support for ambisonic audio and more than 8 audio channels
  • Support subtitles size live adjustments

Access:

  • New NFS access module using libnfs
  • New SMB access module using libdsm
  • Adaptive streaming:
    • Rewrite MPEG-DASH (Dynamic Adaptive Streaming over HTTP) support, including MPEG2TS and ISOBMFF profiles
    • Support HDS (Http Dynamic Streaming) from Adobe (f4m, f4v, etc.)
    • Large rework of the Smooth Streaming module
    • Replaced httplive stream filter with new HLS demuxer, replaced smooth stream filter with new Smooth demuxer, both using unified adaptive module
    • Support HLSv4-7, including MP4 and raw muxing and ID3 tags
  • Support decompression and extraction through libarchive (tar, zip, rar...)
  • New HTTP/TLS access module for HTTP 2.0 support
  • Improvements of cookie handling (share cookies between playlist items, domain / path matching, Secure cookies)
  • Support DVB-T2 on Windows BDA
  • Support depayloading Opus from RTP
  • New UPnP access module, to list directories without infinite recursions
  • SMB/FTP/SFTP accesses can list directories
  • Support sftp username and passwords options in URL, and key authentication
  • New WASAPI audio capture module on Windows
  • New "concat" access module for concatenating byte streams
  • Named pipes and device nodes are no longer included in directory listings by default. Use --list-special-files to include them back.
  • Support for timeout in UDP input --udp-timeout=<seconds>
  • New SAT>IP access module, to receive DVB-S via IP networks
  • Improvements on DVB scanning
  • BluRay module can open ISO over network and has full BD-J support
  • Support for DVD ISO over network
  • New SRT access module using libsrt

Hardware Decoder:

  • Support HEVC hardware decoding on Windows, using DxVA2 and D3D11
  • Support hardware decoding using Direct3D11, including GPU-zerocopy mode, and hardware filtering, for deinterlace and adjust
  • DxVA2 GPU-zerocopy for hardware decoding and displaying on Windows, and support for hardware filtering, for deinterlace and adjust
  • Support HEVC hardware decoding using OMX and MediaCodec (Android)
  • Use MediaCodec via NDK native API after Android Lollipop
  • Support MPEG-2, VC1/WMV3 on Android using MediaCodec
  • OMX GPU-zerocopy support for decoding and display on Android using OpenMax IL
  • Support 4:4:4 and 4:2:2 chroma samplings with VDPAU hw acceleration
  • Important VAAPI improvements for 10bits, HEVC, direct-rendering support
  • Support VP9 and WMV3 decoding using OMX and performance improvements
  • Important improvements for the MMAL decoder and output for rPI and rPI2
  • New hardware accelerated decoder for OS X and and iOS based on Video Toolbox supporting H.263, H.264/MPEG-4 AVC, H.265/HEVC, MPEG-4 Part 2, and DV

Decoders:

  • Support for experimental AV1 video
  • Support for ARIB STD-B24 subtitles
  • Support for experimental Daala video
  • New MPEG-1 & 2 audio layer I, II, III + MPEG 2.5 decoder based on libmpg123
  • New BPG decoder based on libbpg
  • Fix uncompressed DVD-Audio (AOB) LPCM decoding
  • Rewrite WPL playlists and add ZPL playlists support (Zune)
  • Support TDSC, Canopus HQX, Cineform, SpeedHQ, Pixlet, QDMC and FMVC codecs
  • TTML subtitles support, including EBU-TT-D variant
  • Rewrite of webVTT subtitles support, including CSS style support
  • Support 9-bit and 10-bit GBR planar formats
  • Support for the OggSpots video codec
  • HEVC packetization is mostly fixed
  • H264 packetizer can now generate timestamps
  • Packetizers have support for captions in SEI
  • DTS packetizer handle DTS extensions (like DTS-HD): decoders like avcodec can now decode up to 8 channels
  • JPEG images correctly oriented using embedded orientation tag, if present
  • Support VPX high bit depth support
  • Extend MicroDVD support with color, fontname, size, position extensions
  • BluRay text subtitles (HDMV) are now decoded
  • Improve Closed Captions detection, notably inside the video streams
  • CEA-708 decoder
  • New MIDI decoder for macOS and iOS using the AudioToolbox framework, works without a soundfont or with SoundFont2 and DLS soundfonts

Demuxers:

  • Important rework of the MP4 demuxer, including:
    • Support for fragmented MP4
    • Support EIA-608/708 subtitles in MP4/mov
    • Support WMV and WMAV in MP4/mov, aka Flip4Mac files
    • Support bitmap audio channel reordering in MP4/mov
    • Support for RTP Reception Hint Track with H.264, GSM and Speex payloads
    • Support for XiphQT(MP4) vorbis and Flac
    • Support for VP8/VP9/VP10/AV1 in MP4
    • Support GoPro HiLight chapters
    • Support for TTML and WebVTT in ISOBMFF/MP4 and DASH
    • Add new metadata fields
  • Important rework of the TS demuxer, including:
    • Support Opus in MPEG Transport Stream
    • Fix program selection with recorded TS (TopField, DreamBox and others)
    • Fix TS playback with PAT/PMT less recordings
    • Basic support for MPEG4-SL in TS and T-DMB
    • Support SCTE-18 / EAS inside TS
    • Support for new descriptors and ETT tables
    • Support for ARIB channel logos, as attachements, ARIB TR-B21/TR-B14-1
    • Improve broken-PCR probing and fixing
    • Improvements for scrambled state detection
  • Support HD-DVD .evo (H.264, VC-1, MPEG-2, PCM, AC-3, E-AC3, MLP, DTS)
  • Important rework of the PS demuxer, including:
    • HEVC support
    • Fix large number of samples, notably with PSM-less H264
    • Partial support of PSMF
    • Fix broken SCR samples
    • Fix CDXA mpeg-1 support
  • Improvements on MKV:
    • Rewrite MKV seeking
    • Support FFv1 inside MKV
    • Improve ADTS and LATM inside MKV
    • Improve DVD-menus support
  • Support for lame's replaygain extension in mpeg files
  • Support Daala in Ogg
  • Improve Chained-Ogg support
  • Fixes for DTS detection in WAV and MKV files
  • Support for Creative ADPCM/alaw/ulaw/S16L in VOC files
  • Support for Creative ADPCM in AVI
  • Support WMV extended content metadata
  • Directory Demux can now sort items, ignore extensions and hidden files
  • Support AlbumArtist and DiscNumber metadata
  • Support raw H265/HEVC files
  • Support multi-channel WAV without channel-maps
  • Support SBV subtitles
  • Support for Scenarist Closed Caption
  • Fix Quicktime Mp4 inside MKV and unpacketized VC1
  • Support for isofLaC
  • Improve fLaC seeking
  • Replace --demux dvb-open option with --stream-filter dvb to parse channels.conf digital TV channel list files

Stream filter:

  • Add an ADF stream filter
  • Add a ARIB STD-B25 TS streams decoder
  • Add a stream prebuffering plugin
  • Rewrite libarchive module as a stream_extractor
  • Remove HTTP Live streaming stream filter
  • Add a zlib (a.k.a. deflate) decompression filter
  • Add a skiptags module to help demuxers skip ID3/APE tags

Demux filter:

  • Add a demuxer filter chain to filter or intercept control commands and demuxing
  • Add a demuxer filter to block seeking (--demux-filter noseek)

Audio output:

  • Complete rewrite of the AudioTrack Android module, it is now the default module for Android. It now supports HDMI/SPDIF passthrough for AC3/DTS/EAC3, 5.1/7.1 channels and float output, depending on the Android version.
  • Add Tizen audio module
  • HDMI/SPDIF pass-through support for WASAPI (AC3/DTS/DTSHD/EAC3/TRUEHD)
  • Support EAC3 and TRUEHD pass-through for PulseAudio
  • Important rework of the AudioUnit modules to share more code between iOS and macOS
  • Support Ambisonics audio with viewpoint changes

Audio filters:

  • Add SoX Resampler library audio filter module (converter and resampler)
  • a52tospdif and dtstospdif audio converters are merged into tospdif, this new converter can convert AC3, DTS, EAC3 and TRUEHD to a IEC61937 frame
  • Add a Spatialaudio module with 2 submodules:
    • an Ambisonics audio renderer, supporting up to 3rd order
    • an Binauralizer audio filter, working with Ambisonics or 5.1/7.1 streams
  • Add Headphones option in Stereo Mode: use the spatialaudio module for headphones effects
  • Add a pitch shifting module

Video ouput:

  • Linux/BSD default video output is now OpenGL, instead of Xvideo
  • OpenGL:
    • New OpenGL provider for Windows
    • Drop OpenGL 1.x and OpenGL ES 1 support
    • Direct rendering with OpenGL (starting OpenGL 4.4)
    • Hardware direct displaying with VA-API interop
    • Hardware direct displaying with VDPAU interop
    • Hardware direct displaying with DxVA2/D3D9Ex interop
    • Hardware direct displaying with VideoToolbox interop (iOS and macOS)
    • HDR tonemapping support through libplacebo
  • Wayland shell surface window provider
  • Wayland shared memory video output
  • Large rework of the Android video outputs: there is now Surface (2.1, 2.2) NativeWindow (2.3+, supports hw rotation, subpicture blending, opaque)
  • Support rotation in Android NativeWindow output and hardware decoders
  • Rename the Direct3D output module to Direct3D9
  • Add a Direct3D11 video output supporting both Windows desktop and WinRT modes, supporting subpicture blending and hardware acceleration
  • Support HDR10 in Direct3D11 with Windows 10 Fall Creator Update
  • EFL Evas video output with Tizen TBM Surface support

Video filter:

  • Hardware deinterlacing on the rPI, using MMAL
  • New video filter to convert between fps rates
  • Add 9-bit and 10-bit support to image adjust filter
  • New edge detection filter uses the Sobel operator to detect edges
  • Hardware accelerated deinterlacing/adjust/sharpen/chroma with VA-API
  • Hardware accelerated adjust/invert/posterize/sepia/sharpen with CoreImage
  • Hardware accelerated deinterlacing/adjust/chroma with D3D9 and D3D11

Text renderer:

  • CTL support through Harfbuzz in the Freetype module
  • New font fallback algorithm on most platforms
  • More conforming EIA608 captions layout and aspect ratio
  • More styles support for TTML, WebVTT and 708

Stream Output:

  • Chromecast output module
  • RGB24 and YCbCr 4:2:0 RTP packetization

Encoder:

  • Support for Daala video in 4:2:0 and 4:4:4
  • VP8 and VP9 encoder using libvpx

Muxers:

  • Add fragmented/streamable MP4 muxer
  • Add support for muxing VC1 and WMAPro in MP4
  • Opus in MPEG Transport Stream
  • Daala in Ogg

Service Discovery:

  • New NetBios service discovery using libdsm
  • New mDNS services discovery using libmicrodns
  • New mDNS services discovery using Bonjour (Mac OS X, tvOS, iOS)
  • Rewrite of the UPnP service discovery

Mac OS X Interface

  • Drop support for Mac OS X 10.6 Snow Leopard
  • Support right-to-left user interface layout for right-to-left languages
  • New resizable fullscreen controller with improved design
  • Add status bar icon which displays metadata and play controls
  • Add support for keyboard blacklight dimming during fullscreen video playback
  • Improve and simplify preferences window
  • Huge performance improvements in playlist handling and other areas
  • New AppleScript API giving access to audio desynchronization
  • Expand AppleScript API for menu detection and navigation
  • Support for building with disabled sparkle update mechanism
  • Remove deprecated transcoding wizard, use convert and save dialog instead

iOS:

  • Drop support for iOS 6.x

Qt interface:

  • Batch convert support
  • It is now possible to specify 'stop-time' in Convert/Save dialog

Skins2:

  • Support key accelerators

libVLC:

  • Add libvlc_media_new_callbacks for custom input byte streams
  • Add libvlc_audio_output_device_enum to enumerate devices of current aout
  • Split of libvlc_media_discoverer_new_from_name into libvlc_media_discoverer_new, libvlc_media_discoverer_start and libvlc_media_discoverer_stop This allows to attach media events between create and start
  • Add libvlc_media_get_codec_description to get a human readable description of a codec
  • Add libvlc_MediaListEndReached Event to get notified when a media list reached the end
  • Add libvlc_media_list_player_get_media_player to get the media player instance of a list player
  • Add libvlc_media_parse_with_options that uses a flag to specify parse options
  • Add libvlc_audio_output_device_get to get the currently selected audio output device identifier (if there is one available)
  • Add libvlc_media_get_type to get the type of the media
  • Add libvlc_media_player_get_full_title_descriptions to get full title info of the media and +libvlc_title_descriptions_release to match it
  • Add libvlc_media_player_get_full_chapter_descriptions to get full chapter info of the media and libvlc_chapter_descriptions_release to match it
  • Deprecate libvlc_video_get_title_description, libvlc_video_get_chapter_description, libvlc_media_player_get_agl, libvlc_media_player_set_agl
  • Add libvlc_media_player_set_android_context to integrate in an Android surface
  • Add a new libvlc dialog API to forward dialogs requests to the applications: libvlc_dialog_set_context, libvlc_dialog_get_context, libvlc_dialog_set_callbacks, libvlc_dialog_dismiss, libvlc_dialog_post_action, libvlc_dialog_post_login
  • Add libvlc_media_discoverer_list_get|release to list the media discoverers
  • Add libvlc_media_slaves_add, libvlc_media_slaves_clear libvlc_media_slaves_get, libvlc_media_slaves_release to add and get slaves from a libvlc_media
  • Add libvlc_media_player_(get|set)_role to set the media role
  • Add libvlc_media_player_add_slave to replace libvlc_video_set_subtitle_file, working with MRL and supporting also audio slaves
  • Add vlc_epg_event_(New|Delete|Duplicate), vlc_epg_AddEvent, vlc_epg_Duplicate and removes vlc_epg_Merge

Logging

  • Support for the SystemD Journal
  • Use --syslog and --syslog-debug command line options to include debug messages in syslog. With --syslog, errors and warnings will be sent only.
  • New Android module for logging

Misc

  • remove langfromtelx
  • remove ZPL playlist format
  • Update libVLC doxygen modules
  • Add a text-to-speech renderer for subtitles on OS X/iOS
  • Add a text-to-speech renderer for subtitles on Windows
  • Add Gnome libsecret-based crypto keystore
  • Add KDE Kwallet-based crypto keystore
  • Add a memory keystore
  • Add a file keystore that can use a submodule to crypt secrets
  • Add Keychain based crypto keystore for iOS, Mac OS X and tvOS

Removed modules

  • Atmo video filter
  • QTCapture access module (use AVCapture instead)
  • httplive (use adaptive instead)
  • smooth (use adaptive instead)
  • Gnome-VFS access module (i.e. Gnome 2.x)
  • QuartzText text renderer module (use Freetype instead)
  • Win32 GDI text renderer module (use Freetype instead)
  • Growl notification (replaced by osx_notifications)
  • VCDX "extended" Video CD access module (use the normal VCD module)
  • Mac OS X Dialog Provider (use VLCKit instead)
  • iOS Dialog Provider (use MobileVLCKit / TVVLCKit instead)
  • QuickTime decoder module (use native codecs)
  • BD access module (use libbluray)
  • Direct2D module (use Direct3D11)
  • EyeTV access module
  • Rar access and stream filter: use libarchive
  • VDA decoder: use VT
  • Audioqueue: use audiounit
  • SDL video output module
  • DirectFB video output module
  • RAOP stream output module

comment:3 by bdubbs@…, 4 years ago

Resolution: fixed
Status: assignedclosed

Fixed at revision 19748.

Note: See TracTickets for help on using tickets.