Commit graph

76 commits

Author SHA1 Message Date
Leon Styhre 075ad393d0 Moved a #define in VideoFFmpegComponent 2023-06-21 20:35:19 +02:00
Leon Styhre 7b58d3256a Added a format exception to get around a clang-format bug. 2023-03-09 21:11:08 +01:00
Lubosz Sarnecki aae8eee6d0 VideoFFmpegComponent: Fix build with FFMpeg 6.0.
Version 58 of libav removes the deprecated enums AV_CODEC_CAP_TRUNCATED
and AV_CODEC_FLAG_TRUNCATED, just don't use these. They are "redunant
with parsers".
See https://github.com/FFmpeg/FFmpeg/commit/dd846bc4a91

The struct member `pkt_duration` was also deprecatred in favor of
`duration`.
See https://github.com/FFmpeg/FFmpeg/commit/4397f9a5a0

Remove LIBAVUTIL_VERSION_MINOR requirement in branches for FFmpeg 5.1+,
as they also apply for 6.0.
2023-03-09 11:26:01 +01:00
Leon Styhre eb9cc282a8 Fixed an incorrect cropSize calculation which sometimes triggered an assertion. 2023-03-08 19:47:30 +01:00
Leon Styhre 95ef3b0555 Added a new cropSize property to the video element. 2023-03-01 20:55:22 +01:00
Leon Styhre 549d78dfed (Windows) Changed a debug output entry in VideoFFmpegComponent to convert forward slashes to backslashes. 2023-01-01 19:59:08 +01:00
Leon Styhre f4d4abb33b Added theme support for defining relative brightness for images, videos and animations. 2022-12-14 20:17:41 +01:00
Leon Styhre 6037e80bf1 Added color shift support to VideoComponent. 2022-12-12 21:51:27 +01:00
Leon Styhre b4338a3fb7 Refactored some image resizing functions. 2022-11-07 23:58:22 +01:00
Leon Styhre 3c82bb4dfb Changed the renderer pixel format from RGBA to BGRA.
Also implemented premultiplied alpha for all images, animations and videos and improved the carousel reflection falloff logic.
2022-10-28 00:08:41 +02:00
Leon Styhre 45fa3d2c37 Added a pillarboxThreshold property to control these values for the video element. 2022-10-16 16:40:52 +02:00
Leon Styhre 8f6262a3a9 Fixed an issue where the video player output frame width was not set correctly. 2022-10-01 17:19:53 +02:00
Leon Styhre e7f1a0f36c Updated VideoFFmpegComponent for deprecated functions in FFmpeg 5.1 2022-09-30 23:20:36 +02:00
Leon Styhre bfdeb2e004 Video player code cleanup. 2022-09-29 22:32:57 +02:00
Leon Styhre 993efe8504 Fixed an issue where audio for static videos in the gamelist view would get muted on navigation. 2022-09-29 20:18:33 +02:00
Leon Styhre 720a6fcc22 Added support for fade-in and fade-out of static videos. 2022-09-16 23:54:13 +02:00
Leon Styhre 6fd47a5599 Fixed an issue where the video pillarboxes would not align precisely with the video content. 2022-09-16 23:30:51 +02:00
Leon Styhre a2769b98d4 Added a workaround for playing broken video files with invalid PTS values. 2022-09-08 18:38:19 +02:00
Leon Styhre 389dc6ed79 Added mOpacity video fading support to VideoFFmpegComponent 2022-08-18 22:38:09 +02:00
Leon Styhre 5de2855d60 Added theme support for defining color saturation for the image, video and animation components. 2022-03-17 19:33:09 +01:00
Leon Styhre 06a037d8cf Shader flags are now sent as bit masks instead of via discreet values.
Also changed the shader flags to enums.
2022-03-14 22:30:24 +01:00
Leon Styhre f0c35d8509 Refactored the rendering code into proper classes. 2022-03-14 19:51:48 +01:00
Leon Styhre 32251e0264 Fixed multiple issues with the shader post-processing.
Also removed an unnecessary parameter for the createTexture() function.
2022-03-12 14:22:27 +01:00
Leon Styhre 755b2c9f50 Changed some render variables to more verbose names.
Also fixed an issue with fade transitions for legacy themes.
2022-03-11 23:51:41 +01:00
Leon Styhre 63af859618 Modernized the OpenGL renderer and replaced most fixed function pipeline code with shaders.
Also greatly improved the shader post processing performance and added component dimming support.
2022-03-11 23:17:04 +01:00
Leon Styhre 9e2c24ef79 Fixed an issue where videos would still play if the video theme configuration was broken. 2022-03-06 22:52:13 +01:00
Leon Styhre 2df8a867ad Fixed some compiler errors when building with FFmpeg 5.0 2022-03-06 14:38:19 +01:00
Leon Styhre a97e86a6aa Renamed the menu option to enable or disable audio playback for gamelist videos. 2022-02-20 16:07:27 +01:00
Leon Styhre 73e0e59b8c Fixed an issue where hidden videos would still play. 2022-02-20 15:04:05 +01:00
Leon Styhre f803e23fd2 Added theme support for disabling audio playback for each defined video. 2022-02-19 21:45:31 +01:00
Leon Styhre 77beb39801 Fixed an issue where videos would not get centered if pillarboxes were enabled. 2022-02-19 20:31:54 +01:00
Leon Styhre c4eb1b8b97 Greatly simplified the video controls code.
Also fixed a cosmetic issue with carousel fade transitions.
2022-02-19 17:04:23 +01:00
Leon Styhre 0266a6e7e6 Fixed a video fade-in issue when using the GLES renderer. 2022-02-15 22:34:26 +01:00
Leon Styhre 5ac6bcb902 Added opacity support to the scanline shader. 2022-02-15 22:13:11 +01:00
Leon Styhre e0540ee03b Video pillarboxes and scanline rendering can now be controlled from the theme configuration. 2022-02-12 17:46:31 +01:00
Leon Styhre c35a297d9a Large update to get the new theme engine up and running. 2022-01-29 18:41:22 +01:00
Leon Styhre a443f86235 Removed a huge amount of unnecessary Window* function arguments. 2022-01-19 18:01:54 +01:00
Leon Styhre 0c8efee8ad General refactoring and code cleanup. 2022-01-16 18:18:28 +01:00
Leon Styhre 8a6652552f Set the clang-format option SpaceBeforeCpp11BracedList to true. 2022-01-16 12:09:55 +01:00
Leon Styhre c62a069448 Fixed an issue where the audio device was accessed after it had been closed. 2022-01-05 00:08:50 +01:00
Leon Styhre 2bbbab7d70 Small optimization in VideoFFmpegComponent. 2021-11-18 17:25:09 +01:00
Leon Styhre af52d9b0ac Changed most increment and decrement operators from postfix to prefix for es-core. 2021-11-17 17:48:49 +01:00
Leon Styhre 9937476e18 Replaced some mutex locks with atomic variables.
Also removed an SDL audio issue workaround from AudioManager.
2021-11-16 17:49:05 +01:00
Leon Styhre 6bc4a09c9b Multiple thread safety improvements to AudioManager and VideoFFmpegComponent.
Also some general refactoring and re-enabling of some SDL_AudioStream functions.
2021-11-15 22:43:06 +01:00
Leon Styhre 36b7146d7f Made the video player shut down slightly faster under some circumstances. 2021-11-12 23:48:12 +01:00
Leon Styhre 3e12fcb420 General refactoring and minor optimizations throughout the codebase. 2021-11-09 22:40:08 +01:00
Leon Styhre d3b135e387 Set the FFmpeg video player HW decoding as disabled by default. 2021-11-08 17:58:36 +01:00
Leon Styhre ac4710a18e Added proper support for the Raspberry Pi 4. 2021-11-07 23:54:52 +01:00
Leon Styhre c5a1555de3 Added proper frame drop support to the FFmpeg video player.
Also made multiple large optimizations.
2021-11-07 18:14:38 +01:00
Leon Styhre 63767347f2 Fixed numerous compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-19 14:37:10 +02:00