Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (2)
......@@ -28,6 +28,8 @@
#include <libplacebo/shaders/colorspace.h>
#include <libplacebo/utils/upload.h>
#include "../opengl/gl_scale.h"
// Create a libplacebo context, hooked up to the log system; or NULL on OOM
struct pl_context *vlc_placebo_CreateContext(vlc_object_t *);
......@@ -301,6 +303,30 @@ enum {
SCALE_CUSTOM,
};
static const int libplacebo_scale_map[] = {
[VLC_GLSCALE_BUILTIN] = SCALE_BUILTIN,
[VLC_GLSCALE_SPLINE16] = SCALE_SPLINE16,
[VLC_GLSCALE_SPLINE36] = SCALE_SPLINE36,
[VLC_GLSCALE_SPLINE64] = SCALE_SPLINE64,
[VLC_GLSCALE_MITCHELL] = SCALE_MITCHELL,
[VLC_GLSCALE_BICUBIC] = SCALE_BICUBIC,
[VLC_GLSCALE_EWA_LANCZOS] = SCALE_EWA_LANCZOS,
[VLC_GLSCALE_NEAREST] = SCALE_NEAREST,
[VLC_GLSCALE_BILINEAR] = SCALE_BILINEAR,
[VLC_GLSCALE_GAUSSIAN] = SCALE_GAUSSIAN,
[VLC_GLSCALE_LANCZOS] = SCALE_LANCZOS,
[VLC_GLSCALE_GINSENG] = SCALE_GINSENG,
[VLC_GLSCALE_EWA_GINSENG] = SCALE_EWA_GINSENG,
[VLC_GLSCALE_EWA_HANN] = SCALE_EWA_HANN,
[VLC_GLSCALE_CATMULL_ROM] = SCALE_CATMULL_ROM,
[VLC_GLSCALE_ROBIDOUX] = SCALE_ROBIDOUX,
[VLC_GLSCALE_ROBIDOUXSHARP] = SCALE_ROBIDOUXSHARP,
[VLC_GLSCALE_EWA_ROBIDOUX] = SCALE_EWA_ROBIDOUX,
[VLC_GLSCALE_EWA_ROBIDOUXSHARP] = SCALE_EWA_ROBIDOUXSHARP,
[VLC_GLSCALE_SINC] = SCALE_SINC,
[VLC_GLSCALE_EWA_JINC] = SCALE_EWA_JINC,
};
static const int scale_values[] = {
SCALE_BUILTIN,
SCALE_SPLINE16,
......
......@@ -29,6 +29,7 @@ OPENGL_COMMONLIBS += libplacebo_utils.la
endif
OPENGL_VOUT_COMMONSOURCES = \
video_output/opengl/gl_scale.h \
video_output/opengl/renderer.c \
video_output/opengl/renderer.h \
video_output/opengl/sub_renderer.c \
......@@ -124,6 +125,7 @@ libglfilter_mock_plugin_la_CFLAGS = -DUSE_OPENGL_ES2=1
noinst_LTLIBRARIES += libglfilter_mock_plugin.la
endif
if HAVE_LIBPLACEBO
if HAVE_LIBPLACEBO_SCALE
libpl_scale_plugin_la_SOURCES = video_output/opengl/pl_scale.c
......@@ -150,6 +152,7 @@ libpl_scale_plugin_la_CPPFLAGS += -DUSE_OPENGL_ES2=1
video_filter_LTLIBRARIES += libpl_scale_plugin.la
endif
endif
endif
libegl_display_generic_plugin_la_SOURCES = video_output/opengl/egl_display_generic.c
......
/*****************************************************************************
+ * gl_scale.h
+ *****************************************************************************
+ * Copyright (C) 2021 VLC authors and VideoLAN
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
#ifndef VLC_GL_SCALE_H
#define VLC_GL_SCALE_H
enum vlc_gl_scale {
VLC_GLSCALE_BUILTIN,
VLC_GLSCALE_SPLINE16,
VLC_GLSCALE_SPLINE36,
VLC_GLSCALE_SPLINE64,
VLC_GLSCALE_MITCHELL,
VLC_GLSCALE_BICUBIC,
VLC_GLSCALE_EWA_LANCZOS,
VLC_GLSCALE_NEAREST,
VLC_GLSCALE_BILINEAR,
VLC_GLSCALE_GAUSSIAN,
VLC_GLSCALE_LANCZOS,
VLC_GLSCALE_GINSENG,
VLC_GLSCALE_EWA_GINSENG,
VLC_GLSCALE_EWA_HANN,
VLC_GLSCALE_CATMULL_ROM,
VLC_GLSCALE_ROBIDOUX,
VLC_GLSCALE_ROBIDOUXSHARP,
VLC_GLSCALE_EWA_ROBIDOUX,
VLC_GLSCALE_EWA_ROBIDOUXSHARP,
VLC_GLSCALE_SINC,
VLC_GLSCALE_EWA_JINC,
};
static const int vlc_glscale_values[] = {
VLC_GLSCALE_BUILTIN,
VLC_GLSCALE_SPLINE16,
VLC_GLSCALE_SPLINE36,
VLC_GLSCALE_SPLINE64,
VLC_GLSCALE_MITCHELL,
VLC_GLSCALE_BICUBIC,
VLC_GLSCALE_EWA_LANCZOS,
VLC_GLSCALE_NEAREST,
VLC_GLSCALE_BILINEAR,
VLC_GLSCALE_GAUSSIAN,
VLC_GLSCALE_LANCZOS,
VLC_GLSCALE_GINSENG,
VLC_GLSCALE_EWA_GINSENG,
VLC_GLSCALE_EWA_HANN,
VLC_GLSCALE_CATMULL_ROM,
VLC_GLSCALE_ROBIDOUX,
VLC_GLSCALE_ROBIDOUXSHARP,
VLC_GLSCALE_EWA_ROBIDOUX,
VLC_GLSCALE_EWA_ROBIDOUXSHARP,
VLC_GLSCALE_SINC,
VLC_GLSCALE_EWA_JINC,
};
static const char *const vlc_glscale_text[] = {
"Built-in / fixed function (fast)",
"Spline 2 taps",
"Spline 3 taps (recommended upscaler)",
"Spline 4 taps",
"Mitchell-Netravali (recommended downscaler)",
"Bicubic",
"Jinc / EWA Lanczos 3 taps (high quality, slow)",
"Nearest neighbor",
"Bilinear",
"Gaussian",
"Lanczos 3 taps",
"Ginseng 3 taps",
"EWA Ginseng",
"EWA Hann",
"Catmull-Rom",
"Robidoux",
"RobidouxSharp",
"EWA Robidoux",
"EWA RobidouxSharp",
"Unwindowed sinc (clipped)",
"Unwindowed EWA Jinc (clipped)",
};
#define VLC_GL_UPSCALER_TEXT "OpenGL upscaler"
#define VLC_GL_UPSCALER_LONGTEXT "Upscaler filter to apply during rendering"
#define VLC_GL_DOWNSCALER_TEXT "OpenGL downscaler"
#define VLC_GL_DOWNSCALER_LONGTEXT "Downscaler filter to apply during rendering"
#define add_glscale_opts() \
set_section(N_("Scaling"), NULL) \
add_integer("gl-upscaler", VLC_GLSCALE_BUILTIN, VLC_GL_UPSCALER_TEXT, \
VLC_GL_UPSCALER_LONGTEXT) \
change_integer_list(vlc_glscale_values, vlc_glscale_text) \
add_integer("gl-downscaler", VLC_GLSCALE_BUILTIN, VLC_GL_DOWNSCALER_TEXT, \
VLC_GL_DOWNSCALER_LONGTEXT) \
change_integer_list(vlc_glscale_values, vlc_glscale_text) \
#endif
......@@ -39,6 +39,7 @@
#include "video_output/opengl/filter.h"
#include "video_output/opengl/gl_api.h"
#include "video_output/opengl/gl_common.h"
#include "video_output/opengl/gl_scale.h"
#include "video_output/opengl/gl_util.h"
#include "video_output/opengl/sampler.h"
#include "video_output/libplacebo/utils.h"
......@@ -319,8 +320,12 @@ Open(struct vlc_gl_filter *filter, const config_chain_t *config,
};
sys->render_params = pl_render_default_params;
sys->render_params.upscaler = scale_config[upscaler];
sys->render_params.downscaler = scale_config[downscaler];
int upscaler_idx = libplacebo_scale_map[upscaler];
sys->render_params.upscaler = scale_config[upscaler_idx];
int downscaler_idx = libplacebo_scale_map[downscaler];
sys->render_params.downscaler = scale_config[downscaler_idx];
static const struct vlc_gl_filter_ops ops = {
.draw = Draw,
......
......@@ -147,8 +147,8 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
goto delete_interop;
}
int upscaler = var_InheritInteger(gl, "pl-upscaler");
int downscaler = var_InheritInteger(gl, "pl-downscaler");
int upscaler = var_InheritInteger(gl, "gl-upscaler");
int downscaler = var_InheritInteger(gl, "gl-downscaler");
if (upscaler || downscaler)
{
......
......@@ -30,17 +30,11 @@
#define VLC_OPENGL_VOUT_HELPER_H
#include "gl_common.h"
#include "gl_scale.h"
#ifdef HAVE_LIBPLACEBO
#include "../libplacebo/utils.h"
#define UPSCALER_TEXT "OpenGL upscaler"
#define UPSCALER_LONGTEXT "Upscaler filter to apply during rendering"
#define DOWNSCALER_TEXT "OpenGL downscaler"
#define DOWNSCALER_LONGTEXT "Downscaler filter to apply during rendering"
#if PL_API_VER >= 10
#define add_desat_params() \
add_float("desat-strength", pl_color_map_default_params.desaturation_strength, \
......@@ -57,13 +51,6 @@
#endif
#define add_glopts_placebo() \
set_section(N_("Scaling"), NULL) \
add_integer("pl-upscaler", SCALE_BUILTIN, UPSCALER_TEXT, \
UPSCALER_LONGTEXT) \
change_integer_list(scale_values, scale_text) \
add_integer("pl-downscaler", SCALE_BUILTIN, DOWNSCALER_TEXT, \
DOWNSCALER_LONGTEXT) \
change_integer_list(scale_values, scale_text) \
set_section(N_("Colorspace conversion"), NULL) \
add_integer("rendering-intent", pl_color_map_default_params.intent, \
RENDER_INTENT_TEXT, RENDER_INTENT_LONGTEXT) \
......@@ -95,6 +82,7 @@
#define add_glopts() \
add_module("glinterop", "glinterop", NULL, GLINTEROP_TEXT, GLINTEROP_LONGTEXT) \
add_glscale_opts() \
add_glopts_placebo ()
typedef struct vout_display_opengl_t vout_display_opengl_t;
......