- Jul 13, 2020
-
-
Alexandre Janniaux authored
-
Alexandre Janniaux authored
-
Alexandre Janniaux authored
Attachments are not coming from the filter but from the pipeline and is called by the filter implementation itself. Thus, this is defined by the owner implementation and should not be in the operation callbacks. It's particularily noticeable in the callsite given that the get_attachments implementation is using owner.sys.
-
Alexandre Janniaux authored
The metadata signalling the usage of a cubemap are defined in the spatial-media repository[1] and enforce a specific layout for layout identifier 0, which is the only one specified. Implement this layout instead of the previous one, which was Facebook one (using Mongolfiere 360 sample), especially given that Facebook has mostly gone to equirectangular 360 videos since then. It fixes the definition of each face so that they match their natual axis with the following coordinate system (x being forward, and z being a vector to the left, the whole in right-hand convention): y x \ | \| z <-----(+) It now uses the following picture layout: 1 +-------+-------+------+ | right | left | up | +-------+-------+------+ v | down | front | back | | +-------+-------+------+ +-- u 0 1 For testing purpose, one can generate a sample for this format by using ffmpeg, for example by converting an equirectangular video into cubemap using the v360 filter. -lavfi v360=input=equirect:output=c3x2 Matroska projection can also be set, for example with: mkvpropedit sample --edit track:v1 --set projection-type=2 [1]: https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md#cubemap-projection-box-cbmp
-
Alexandre Janniaux authored
-
Meson before 0.54.2 misdetect the cross-compilation to iPhone Simulator with architecture x86_64 and tries to execute tests, leading to compilation failures in contrib. Signed-off-by:
Felix Paul Kühne <felix@feepk.net>
-
Felix Paul Kühne authored
This is a manual forward-port of a8e6a381.
-
- Jul 10, 2020
-
-
Steve Lhomme authored
Unlike most UNIX calls [1] on Windows many calls expect a BOOL instead of an int [2]. It should be the same size, but make sure this is the case when building. We don't seem to use any of the options with a DWORD, LINGER or Service Provider values. [1] https://www.man7.org/linux/man-pages/man7/socket.7.html [2] https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-setsockopt
-
- Jul 09, 2020
-
-
Tristan Matthews authored
This is the first "official" release, see: https://aomedia.googlesource.com/aom/+/HEAD/CHANGELOG
-
Steve Lhomme authored
It's correct in there now.
-
Steve Lhomme authored
It's correct in there now.
-
Steve Lhomme authored
It contains a lot of things we don't need to build anymore. It's found in recent msys2 or our Docker images.
-
Steve Lhomme authored
Don't bypass steps and compile from the tarballs dir to the installation folder
-
Steve Lhomme authored
-
Steve Lhomme authored
The UNPACK_DIR matches the name of the tarball.
-
Steve Lhomme authored
We require mingw 5.0 in configure.ac so there's no need to support contribs for older versions.
-
- Jul 08, 2020
-
-
Alexandre Janniaux authored
The AWindow_ID is not used anymore since we moved the creation of SurfaceTexture to the usage site. We also don't need to store the SurfaceTexture in the AWindowHandler anymore. This finally makes the SurfaceTexture independant of the AWindowHandler and cleanup previous patches. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
They are not used anymore since we create the SurfaceTexture ourselves. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
Now that MediaCodec exposes a SurfaceTexture through the video context, stop using AWindowHandler in interop and directly use the vlc_asurfacetexture abstraction to bind the picture to the OpenGL textures. It means that, after dropping the hack in vlc_asurfacetexture_New, multiple interop will finally work within the same AWindowHandler instance and, for the future GPU Filter support, that filters can provide their own SurfaceTexture. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
Initially, the SurfaceTexture reference was created through AWindowHandler and typically was obtained through a TextureView. By creating the SurfaceTexture ourselves, we can avoid requesting Android libVLC user to use libvlc_media_player_set_android_context even if the user doesn't need any display. In addition, it means that we don't rely on code that is in the JNI android binding instead of vlc core when using MediaCodec, which helps other bindings like C# one to provide support for Android. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
Expose public functions to create and destroy the vlc_asurfacetexture objects from an AWindowHandler object. It will be used in particular by Mediacodec to output to OpenGL textures. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
Add a JNI variant of SurfaceTexture, which supports any Android API version starting from API 11. It effectively removes the need for SurfaceTexture function wrapping in the AWindow object. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
The new function use a `struct vlc_asurfacetexture` object and is written to be extended to the case in which we don't have the NDK ASurfaceTexture API. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
The API will be used when NDK API is not available. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
When creating a SurfaceTexture JNI object, we can, with recent API, transform the SurfaceTexture into an ASurfaceTexture NDK object. However, with previous Android version, the only way is to create the Surface JNI object directly from the SurfaceTexture JNI object, and then convert the Surface into a ANativeWindow NDK object for the producer side. This patch loads the class and the constructor taking a reference to SurfaceTexture. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
init_z needs API 26 and is the most suitable since it allows creating SurfaceTexture in a detached state, while init_iz needs API 19 and cannot be created without an EGL context currently bounded. init_i is the most compatible version (API 11) but won't allow single-buffering. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
Instead of passing the full path in the jfields structure, pass the jfields first-order structure and the method field within it separately, allowing to use it for future additional other classes too. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
Refactor SurfaceTexture related API into a structure with vtable, so as to implement both NDK and JNI API as separate vtable. It will be exposed to modules and will allow creating SurfaceTexture directly in the module needing them, instead of relying on an external SurfaceTexture provided by the binding. jsurface and ANativeWindow are also both exposed to the user since we don't expose the ANativeWindow/JNI functions. The object is made so that SurfaceTexture are always created in the detached state. The current error path is also relatively defensive in order to simplify the transition in the future commits, but is only a temporary path. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
Avoid forward-declaring SurfaceTexture implementation. In future refactor we will change their prototype and put them into vtable. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
Those helpers are used everywhere else in the file so having them at the beginning is easier.
-
Alexandre Janniaux authored
The cube coordinates were defined one by one, giving little possibility for readable refactoring or little explanation for those not knowing how the cube is built. Instead, provide a helper macro generating the coordinates and other helper macros in order to select the correct face to generate. It will ease future refactoring, in particular to rotate the cube.
-
Alexandre Janniaux authored
The cube coordinates were defined one by one, giving little possibility for readable refactoring or little explanation for those not knowing how the cube is built. Instead, provide a helper macro generating the coordinates and other helper macros in order to select the correct face to generate. It will ease future refactoring, in particular to rotate the cube.
-
- Jul 07, 2020
-
-
François Cartegnie authored
-
François Cartegnie authored
-
François Cartegnie authored
Otherwise codepoint == 0 always sets default font
-
François Cartegnie authored
Currently double free is only prevented by FT_Set_Pixel_Sizes error on pure bitmaps. FT_LOAD_NO_BITMAP does not exclude bitmap only fonts and FT_Glyph_To_Bitmap is no-op for bitmap fonts, shadow glyph pointer can then end pointing to same glyph as main glyph.
-
François Cartegnie authored
-
François Cartegnie authored
-
François Cartegnie authored
-
François Cartegnie authored
spu_Attach could occur before lock
-