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 (8)
  • Rémi Denis-Courmont's avatar
    splitter: create display with correct window size · 3b77d4bb
    Rémi Denis-Courmont authored
    So far, the display was created without a requested size. Then its size
    was immediately changed to that of the window.
    
    With this change, the display is created directly with the correct size.
    This matches the core video output behaviour.
    3b77d4bb
  • Rémi Denis-Courmont's avatar
    display: ignore display size in default computation · dfe512fe
    Rémi Denis-Courmont authored
    In practice, this function is used to compensate mismatches between
    the source format SAR and the display PAR and should only be based on
    those parameters and the source format visible dimensions. Indeed, in
    the two call sites of the function pass 0x0 as the display size.
    
    In the vout_display_New() call site, the function is used to
    work-around semi-broken window providers that do not provision a window
    size, or only do so with a delay. Normally, it just copies the dimensions
    from window_props.
    
    Either way cfg->display dimensions are always zeroes.
    
    Furthermore, the 3 hereto unused and hereby removed cases failed to
    account for orientation correctly: from_source should have been false.
    dfe512fe
  • Rémi Denis-Courmont's avatar
    display: avoid copy · e84106dc
    Rémi Denis-Courmont authored
    This is no longer necessary.
    e84106dc
  • Rémi Denis-Courmont's avatar
    display: partially inline vout_display_GetDefaultDisplaySize() · 958d2f56
    Rémi Denis-Courmont authored
    Only from vout_display_New() can (and should) the window size be used
    rather than the ideal default display size. In the other call sites,
    we actually want to compute the ideal size regardless of the actual
    window size.
    
    Take that case out of vout_display_GetDefaultDisplaySize() to enable
    further refactoring. This is a non-functional change, except for the
    added run-time warning.
    958d2f56
  • Rémi Denis-Courmont's avatar
    display: remove constant variable · 494ab046
    Rémi Denis-Courmont authored
    494ab046
  • Rémi Denis-Courmont's avatar
    display: pass initial size in cfg.display · 20abc11d
    Rémi Denis-Courmont authored
    ...rather than cfg.window_props. cfg.display was unused (always zeroes)
    on vout_display_New() until this change.
    
    This is consistent with vout_display_SetSize() affecting cfg.display
    rather than cfg.window_props.
    20abc11d
  • Rémi Denis-Courmont's avatar
    display: reorder to simplify · aaad9f9e
    Rémi Denis-Courmont authored
    No functional changes.
    aaad9f9e
  • Rémi Denis-Courmont's avatar
    display: remove window_props · 39c63441
    Rémi Denis-Courmont authored
    They were always zeroes.
    39c63441
......@@ -99,18 +99,6 @@ typedef struct vout_display_cfg {
vlc_rational_t sar; /**< Requested sample aspect ratio */
} display;
/**
* Window properties
*
* Should be ignored from display modules.
*/
struct {
/** Current window width */
unsigned width;
/** Current window height */
unsigned height;
} window_props;
/** Alignment of the video within the window */
vlc_video_align_t align;
......
......@@ -300,9 +300,14 @@ static int vlc_vidsplit_Open(vout_display_t *vd,
}
vdcfg.window = part->window;
vlc_sem_wait(&part->lock);
vdcfg.display.width = part->width;
vdcfg.display.height = part->height;
vout_display_t *display = vout_display_New(obj, &output->fmt, ctx, &vdcfg,
modname, NULL);
if (display == NULL) {
vlc_sem_post(&part->lock);
vout_window_Disable(part->window);
vout_window_Delete(part->window);
splitter->i_output = i;
......@@ -310,9 +315,7 @@ static int vlc_vidsplit_Open(vout_display_t *vd,
return VLC_EGENERIC;
}
vlc_sem_wait(&part->lock);
part->display = display;
vout_display_SetSize(display, part->width, part->height);
vlc_sem_post(&part->lock);
}
......
......@@ -75,29 +75,8 @@ void vout_display_GetDefaultDisplaySize(unsigned *width, unsigned *height,
const video_format_t *source,
const vout_display_cfg_t *cfg)
{
bool from_source = true;
/* Requested by the user */
if (cfg->display.width != 0 && cfg->display.height != 0) {
*width = cfg->display.width;
*height = cfg->display.height;
} else if (cfg->display.width != 0) {
*width = cfg->display.width;
*height = (int64_t)source->i_visible_height * source->i_sar_den * cfg->display.width * cfg->display.sar.num /
source->i_visible_width / source->i_sar_num / cfg->display.sar.den;
} else if (cfg->display.height != 0) {
*width = (int64_t)source->i_visible_width * source->i_sar_num * cfg->display.height * cfg->display.sar.den /
source->i_visible_height / source->i_sar_den / cfg->display.sar.num;
*height = cfg->display.height;
}
/* Size reported by the window module */
else if (cfg->window_props.width != 0 && cfg->window_props.height != 0) {
*width = cfg->window_props.width;
*height = cfg->window_props.height;
/* The dimensions are not initialized from the source format */
from_source = false;
}
/* Use the original video size */
else if (source->i_sar_num >= source->i_sar_den) {
if (source->i_sar_num >= source->i_sar_den) {
*width = (int64_t)source->i_visible_width * source->i_sar_num * cfg->display.sar.den / source->i_sar_den / cfg->display.sar.num;
*height = source->i_visible_height;
} else {
......@@ -108,7 +87,7 @@ void vout_display_GetDefaultDisplaySize(unsigned *width, unsigned *height,
*width = *width * cfg->zoom.num / cfg->zoom.den;
*height = *height * cfg->zoom.num / cfg->zoom.den;
if (from_source && ORIENT_IS_SWAP(source->orientation)) {
if (ORIENT_IS_SWAP(source->orientation)) {
/* Apply the source orientation only if the dimensions are initialized
* from the source format */
unsigned store = *width;
......@@ -122,11 +101,6 @@ void vout_display_PlacePicture(vout_display_place_t *place,
const video_format_t *source,
const vout_display_cfg_t *cfg)
{
/* vout_display_PlacePicture() is called from vd plugins. They should not
* care about the initial window properties. */
assert(cfg->window_props.width == 0 && cfg->window_props.height == 0);
/* */
memset(place, 0, sizeof(*place));
if (cfg->display.width == 0 || cfg->display.height == 0)
return;
......@@ -142,14 +116,9 @@ void vout_display_PlacePicture(vout_display_place_t *place,
if (cfg->is_display_filled) {
display_width = cfg->display.width;
display_height = cfg->display.height;
} else {
vout_display_cfg_t cfg_tmp = *cfg;
cfg_tmp.display.width = 0;
cfg_tmp.display.height = 0;
} else
vout_display_GetDefaultDisplaySize(&display_width, &display_height,
source, &cfg_tmp);
}
source, cfg);
const unsigned width = source->i_visible_width;
const unsigned height = source->i_visible_height;
......@@ -677,16 +646,15 @@ vout_display_t *vout_display_New(vlc_object_t *parent,
if (unlikely(osys == NULL))
return NULL;
unsigned display_width, display_height;
vout_display_GetDefaultDisplaySize(&display_width, &display_height,
source, cfg);
osys->cfg = *cfg;
/* The window size was used for the initial setup. Now it can be dropped in
* favor of the calculated display size. */
osys->cfg.display.width = display_width;
osys->cfg.display.height = display_height;
osys->cfg.window_props.width = osys->cfg.window_props.height = 0;
if (cfg->display.width == 0 || cfg->display.height == 0) {
/* Work around buggy window provider */
msg_Warn(parent, "window size missing");
vout_display_GetDefaultDisplaySize(&osys->cfg.display.width,
&osys->cfg.display.height,
source, cfg);
}
osys->pool = NULL;
......
......@@ -1647,8 +1647,8 @@ static int vout_Start(vout_thread_sys_t *vout, vlc_video_context *vctx, const vo
vlc_mutex_unlock(&sys->window_lock);
/* Setup the window size, protected by the display_lock */
dcfg.window_props.width = sys->window_width;
dcfg.window_props.height = sys->window_height;
dcfg.display.width = sys->window_width;
dcfg.display.height = sys->window_height;
sys->display = vout_OpenWrapper(&vout->obj, &sys->private, sys->splitter_name, &dcfg,
&sys->original, vctx);
......