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 (5)
......@@ -140,7 +140,7 @@ void d3d11_quad_t::Reset()
#undef D3D11_UpdateQuadPosition
bool D3D11_UpdateQuadPosition( vlc_object_t *o, d3d11_device_t *d3d_dev, d3d11_quad_t *quad,
const RECT *output, video_transform_t orientation )
video_transform_t orientation )
{
bool result = true;
HRESULT hr;
......@@ -166,7 +166,13 @@ bool D3D11_UpdateQuadPosition( vlc_object_t *o, d3d11_device_t *d3d_dev, d3d11_q
return false;
}
result = D3D_SetupQuadData(o, &quad->generic, output, dst_data, mappedResource.pData, orientation);
RECT output;
output.left = quad->quad_fmt.i_x_offset;
output.right = quad->quad_fmt.i_x_offset + quad->quad_fmt.i_visible_width;
output.top = quad->quad_fmt.i_y_offset;
output.bottom = quad->quad_fmt.i_y_offset + quad->quad_fmt.i_visible_height;
result = D3D_SetupQuadData(o, &quad->generic, &output, dst_data, mappedResource.pData, orientation);
d3d_dev->d3dcontext->Unmap(quad->indexBuffer.Get(), 0);
d3d_dev->d3dcontext->Unmap(quad->vertexBuffer.Get(), 0);
......@@ -298,26 +304,21 @@ int D3D11_SetupQuad(vlc_object_t *o, d3d11_device_t *d3d_dev, const video_format
return VLC_SUCCESS;
}
void d3d11_quad_t::UpdateViewport(const RECT *rect, const d3d_format_t *display)
void d3d11_quad_t::UpdateViewport(const vout_display_place_t *place, const d3d_format_t *display)
{
LONG srcAreaWidth, srcAreaHeight;
srcAreaWidth = RECTWidth(*rect);
srcAreaHeight = RECTHeight(*rect);
cropViewport[0].TopLeftX = rect->left;
cropViewport[0].TopLeftY = rect->top;
cropViewport[0].Width = srcAreaWidth;
cropViewport[0].Height = srcAreaHeight;
cropViewport[0].TopLeftX = place->x;
cropViewport[0].TopLeftY = place->y;
cropViewport[0].Width = place->width;
cropViewport[0].Height = place->height;
switch ( generic.textureFormat->formatTexture )
{
case DXGI_FORMAT_NV12:
case DXGI_FORMAT_P010:
cropViewport[1].TopLeftX = rect->left / 2;
cropViewport[1].TopLeftY = rect->top / 2;
cropViewport[1].Width = srcAreaWidth / 2;
cropViewport[1].Height = srcAreaHeight / 2;
cropViewport[1].TopLeftX = place->x / 2;
cropViewport[1].TopLeftY = place->y / 2;
cropViewport[1].Width = place->width / 2;
cropViewport[1].Height = place->height / 2;
break;
case DXGI_FORMAT_R8G8B8A8_UNORM:
case DXGI_FORMAT_B8G8R8A8_UNORM:
......@@ -332,10 +333,10 @@ void d3d11_quad_t::UpdateViewport(const RECT *rect, const d3d_format_t *display)
if ( display->formatTexture == DXGI_FORMAT_NV12 ||
display->formatTexture == DXGI_FORMAT_P010 )
{
cropViewport[1].TopLeftX = rect->left / 2;
cropViewport[1].TopLeftY = rect->top / 2;
cropViewport[1].Width = srcAreaWidth / 2;
cropViewport[1].Height = srcAreaHeight / 2;
cropViewport[1].TopLeftX = place->x / 2;
cropViewport[1].TopLeftY = place->y / 2;
cropViewport[1].Width = place->width / 2;
cropViewport[1].Height = place->height / 2;
}
break;
case DXGI_FORMAT_UNKNOWN:
......@@ -363,10 +364,10 @@ void d3d11_quad_t::UpdateViewport(const RECT *rect, const d3d_format_t *display)
case VLC_CODEC_I420_10L:
case VLC_CODEC_I420:
case VLC_CODEC_YUV420A:
cropViewport[1].TopLeftX = cropViewport[0].TopLeftX / 2;
cropViewport[1].TopLeftY = cropViewport[0].TopLeftY / 2;
cropViewport[1].Width = cropViewport[0].Width / 2;
cropViewport[1].Height = cropViewport[0].Height / 2;
cropViewport[1].TopLeftX = place->x / 2;
cropViewport[1].TopLeftY = place->y / 2;
cropViewport[1].Width = place->width / 2;
cropViewport[1].Height = place->height / 2;
break;
}
break;
......
......@@ -61,8 +61,8 @@ int D3D11_SetupQuad(vlc_object_t *, d3d11_device_t *, const video_format_t *, d3
#define D3D11_SetupQuad(a,b,c,d,e) D3D11_SetupQuad(VLC_OBJECT(a),b,c,d,e)
bool D3D11_UpdateQuadPosition( vlc_object_t *, d3d11_device_t *, d3d11_quad_t *,
const RECT *output, video_transform_t );
#define D3D11_UpdateQuadPosition(a,b,c,d,e) D3D11_UpdateQuadPosition(VLC_OBJECT(a),b,c,d,e)
video_transform_t );
#define D3D11_UpdateQuadPosition(a,b,c,d) D3D11_UpdateQuadPosition(VLC_OBJECT(a),b,c,d)
void D3D11_UpdateQuadOpacity(vlc_object_t *, d3d11_device_t *, d3d11_quad_t *, float opacity);
#define D3D11_UpdateQuadOpacity(a,b,c,d) D3D11_UpdateQuadOpacity(VLC_OBJECT(a),b,c,d)
......
......@@ -51,7 +51,7 @@ struct d3d11_quad_t
}
void Reset();
void UpdateViewport(const RECT *, const d3d_format_t *display);
void UpdateViewport(const vout_display_place_t *, const d3d_format_t *display);
picture_sys_d3d11_t picSys = {};
d3d_quad_t generic = {};
......
......@@ -338,22 +338,11 @@ static void UpdateSize(vout_display_t *vd)
UpdateDisplayFormat(vd, vd->fmt);
RECT rect_dst;
rect_dst.left = sys->area.place.x;
rect_dst.right = sys->area.place.x + sys->area.place.width;
rect_dst.top = sys->area.place.y;
rect_dst.bottom = sys->area.place.y + sys->area.place.height;
sys->picQuad.UpdateViewport( &rect_dst, sys->display.pixelFormat );
RECT source_rect;
source_rect.left = sys->picQuad.quad_fmt.i_x_offset;
source_rect.right = sys->picQuad.quad_fmt.i_x_offset + sys->picQuad.quad_fmt.i_visible_width;
source_rect.top = sys->picQuad.quad_fmt.i_y_offset;
source_rect.bottom = sys->picQuad.quad_fmt.i_y_offset + sys->picQuad.quad_fmt.i_visible_height;
sys->picQuad.UpdateViewport( &sys->area.place, sys->display.pixelFormat );
d3d11_device_lock( sys->d3d_dev );
D3D11_UpdateQuadPosition(vd, sys->d3d_dev, &sys->picQuad, &source_rect,
D3D11_UpdateQuadPosition(vd, sys->d3d_dev, &sys->picQuad,
video_format_GetTransform(vd->source->orientation, sys->display.orientation));
D3D11_UpdateViewpoint( vd, sys->d3d_dev, &sys->picQuad, &vd->cfg->viewpoint,
......@@ -1309,12 +1298,7 @@ static int Direct3D11CreateFormatResources(vout_display_t *vd, const video_forma
return VLC_EGENERIC;
}
RECT source_rect;
source_rect.left = sys->picQuad.quad_fmt.i_x_offset;
source_rect.right = sys->picQuad.quad_fmt.i_x_offset + sys->picQuad.quad_fmt.i_visible_width;
source_rect.top = sys->picQuad.quad_fmt.i_y_offset;
source_rect.bottom = sys->picQuad.quad_fmt.i_y_offset + sys->picQuad.quad_fmt.i_visible_height;
if (!D3D11_UpdateQuadPosition(vd, sys->d3d_dev, &sys->picQuad, &source_rect,
if (!D3D11_UpdateQuadPosition(vd, sys->d3d_dev, &sys->picQuad,
video_format_GetTransform(sys->picQuad.quad_fmt.orientation, sys->display.orientation)))
{
msg_Err(vd, "Could not set quad picture position.");
......@@ -1424,13 +1408,7 @@ static int Direct3D11CreateGenericResources(vout_display_t *vd)
return VLC_EGENERIC;
}
RECT rect_dst;
rect_dst.left = sys->area.place.x;
rect_dst.right = sys->area.place.x + sys->area.place.width;
rect_dst.top = sys->area.place.y;
rect_dst.bottom = sys->area.place.y + sys->area.place.height;
sys->picQuad.UpdateViewport( &rect_dst, sys->display.pixelFormat );
sys->picQuad.UpdateViewport( &sys->area.place, sys->display.pixelFormat );
#ifndef NDEBUG
msg_Dbg( vd, "picQuad position (%.02f,%.02f) %.02fx%.02f",
......@@ -1569,6 +1547,7 @@ static int Direct3D11MapSubpicture(vout_display_t *vd, int *subpicture_region_co
i++;
continue;
}
video_format_Copy(&d3dquad->quad_fmt, &r->p_picture->format);
d3dquad->generic.i_width = r->p_picture->format.i_width;
d3dquad->generic.i_height = r->p_picture->format.i_height;
......@@ -1636,22 +1615,10 @@ static int Direct3D11MapSubpicture(vout_display_t *vd, int *subpicture_region_co
continue;
}
RECT output;
output.left = r->p_picture->format.i_x_offset;
output.right = r->p_picture->format.i_x_offset + r->p_picture->format.i_visible_width;
output.top = r->p_picture->format.i_y_offset;
output.bottom = r->p_picture->format.i_y_offset + r->p_picture->format.i_visible_height;
D3D11_UpdateQuadPosition(vd, sys->d3d_dev, quad, &output,
D3D11_UpdateQuadPosition(vd, sys->d3d_dev, quad,
video_format_GetTransform(ORIENT_NORMAL, sys->display.orientation));
RECT spuViewport;
spuViewport.left = r->place.x;
spuViewport.top = r->place.y;
spuViewport.right = r->place.x + r->place.width;
spuViewport.bottom = r->place.y + r->place.height;
quad->UpdateViewport( &spuViewport, sys->display.pixelFormat );
quad->UpdateViewport( &r->place, sys->display.pixelFormat );
D3D11_UpdateQuadOpacity(vd, sys->d3d_dev, quad, r->i_alpha / 255.0f );
i++;
......
......@@ -266,17 +266,31 @@ static void orientationVertexOrder(video_orientation_t orientation, int vertex_o
}
static void Direct3D9SetupVertices(CUSTOMVERTEX *vertices,
const RECT *full_texture, const RECT *visible_texture,
const RECT *rect_in_display,
const RECT *full_texture, const video_format_t *src_fmt,
const vout_display_place_t *place_in_display,
int alpha,
video_orientation_t orientation)
{
RECT rect_in_display = {
.left = place_in_display->x,
.right = place_in_display->x + place_in_display->width,
.top = place_in_display->y,
.bottom = place_in_display->y + place_in_display->height,
};
RECT visible_texture = {
.left = src_fmt->i_x_offset,
.right = src_fmt->i_x_offset + src_fmt->i_visible_width,
.top = src_fmt->i_y_offset,
.bottom = src_fmt->i_y_offset + src_fmt->i_visible_height,
};
/* Vertices of the dst rectangle in the unrotated (clockwise) order. */
const int vertices_coords[4][2] = {
{ rect_in_display->left, rect_in_display->top },
{ rect_in_display->right, rect_in_display->top },
{ rect_in_display->right, rect_in_display->bottom },
{ rect_in_display->left, rect_in_display->bottom },
{ rect_in_display.left, rect_in_display.top },
{ rect_in_display.right, rect_in_display.top },
{ rect_in_display.right, rect_in_display.bottom },
{ rect_in_display.left, rect_in_display.bottom },
};
/* Compute index remapping necessary to implement the rotation. */
......@@ -288,10 +302,10 @@ static void Direct3D9SetupVertices(CUSTOMVERTEX *vertices,
vertices[i].y = vertices_coords[vertex_order[i]][1];
}
float texture_right = (float)visible_texture->right / (float)full_texture->right;
float texture_left = (float)visible_texture->left / (float)full_texture->right;
float texture_top = (float)visible_texture->top / (float)full_texture->bottom;
float texture_bottom = (float)visible_texture->bottom / (float)full_texture->bottom;
float texture_right = (float)visible_texture.right / (float)full_texture->right;
float texture_left = (float)visible_texture.left / (float)full_texture->right;
float texture_top = (float)visible_texture.top / (float)full_texture->bottom;
float texture_bottom = (float)visible_texture.bottom / (float)full_texture->bottom;
vertices[0].tu = texture_left;
vertices[0].tv = texture_top;
......@@ -398,14 +412,8 @@ static int Direct3D9ImportPicture(vout_display_t *vd,
/* */
region->texture = sys->sceneTexture;
RECT rect_in_display = {
.left = sys->area.place.x,
.right = sys->area.place.x + sys->area.place.width,
.top = sys->area.place.y,
.bottom = sys->area.place.y + sys->area.place.height,
};
Direct3D9SetupVertices(region->vertex, &texture_visible_rect, &source_visible_rect,
&rect_in_display, 255, vd->source->orientation);
Direct3D9SetupVertices(region->vertex, &texture_visible_rect, vd->source,
&sys->area.place, 255, vd->source->orientation);
return VLC_SUCCESS;
}
......@@ -955,26 +963,14 @@ static void Direct3D9ImportSubpicture(vout_display_t *vd,
}
/* Map the subpicture to sys->sys.sys.place */
RECT rect_in_display;
rect_in_display.left = r->place.x;
rect_in_display.right = r->place.x + r->place.width;
rect_in_display.top = r->place.y;
rect_in_display.bottom = r->place.y + r->place.height;
RECT texture_rect;
texture_rect.left = 0;
texture_rect.right = r->p_picture->format.i_width;
texture_rect.top = 0;
texture_rect.bottom = r->p_picture->format.i_height;
RECT texture_visible_rect;
texture_visible_rect.left = r->p_picture->format.i_x_offset;
texture_visible_rect.right = r->p_picture->format.i_x_offset + r->p_picture->format.i_visible_width;
texture_visible_rect.top = r->p_picture->format.i_y_offset;
texture_visible_rect.bottom = r->p_picture->format.i_y_offset + r->p_picture->format.i_visible_height;
Direct3D9SetupVertices(d3dr->vertex, &texture_rect, &texture_visible_rect,
&rect_in_display, r->i_alpha, ORIENT_NORMAL);
Direct3D9SetupVertices(d3dr->vertex, &texture_rect, &r->p_picture->format,
&r->place, r->i_alpha, ORIENT_NORMAL);
i++;
}
}
......