diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/configure.ac vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/configure.ac --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/configure.ac 2017-03-23 17:33:31.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/configure.ac 2017-04-06 19:33:38.000000000 +0000 @@ -2431,7 +2431,7 @@ AS_IF([test "${enable_dxva2}" = "yes"], [AC_MSG_ERROR([Could not find required dxva2api.h])], [AC_MSG_WARN([dxva2api.h not found])]) - ]) + ], [#include ]) ],[ AS_IF([test "x${enable_dxva2}" != "x"], [ AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.]) diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/debian/changelog vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/debian/changelog --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/debian/changelog 2017-03-23 17:33:30.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/debian/changelog 2017-04-06 19:33:38.000000000 +0000 @@ -1,8 +1,8 @@ -vlc (2.2.2+git20170323+r59002+56~ubuntu16.04.1) xenial; urgency=low +vlc (2.2.2+git20170406+r59011+56~ubuntu16.04.1) xenial; urgency=low * Auto build. - -- Launchpad Package Builder Thu, 23 Mar 2017 17:33:30 +0000 + -- Launchpad Package Builder Thu, 06 Apr 2017 19:33:38 +0000 vlc (2.2.2-5) unstable; urgency=medium diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/debian/git-build-recipe.manifest vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/debian/git-build-recipe.manifest --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/debian/git-build-recipe.manifest 2017-03-23 17:33:30.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/debian/git-build-recipe.manifest 2017-04-06 19:33:37.000000000 +0000 @@ -1,3 +1,3 @@ -# git-build-recipe format 0.4 deb-version {debupstream}+git20170323+r59002+56 -lp:~videolan/vlc/+git/vlc-2.2 git-commit:ba313729689218a26b648428b80f629eeb72aa51 +# git-build-recipe format 0.4 deb-version {debupstream}+git20170406+r59011+56 +lp:~videolan/vlc/+git/vlc-2.2 git-commit:05b653355ce303ada3b5e0e645ae717fea39186c merge packaging lp:~videolan/vlc/+git/packaging git-commit:344abb46cb450ef04aaba9a08235573e133b487e diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/codec/avcodec/dxva2.c vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/codec/avcodec/dxva2.c --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/codec/avcodec/dxva2.c 2017-03-23 17:33:19.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/codec/avcodec/dxva2.c 2017-04-06 19:33:24.000000000 +0000 @@ -3,7 +3,7 @@ ***************************************************************************** * Copyright (C) 2009 Geoffroy Couprie * Copyright (C) 2009 Laurent Aimar - * $Id: e7f10f19667bae393e47fb7eb9c5ebd3d2d26d2b $ + * $Id: 372031915a2d7f59ff15219c4fece1496cda8b56 $ * * Authors: Geoffroy Couprie * Laurent Aimar @@ -836,13 +836,6 @@ return VLC_EGENERIC; } -static D3DCOLOR GetFormatBlack(D3DFORMAT format) -{ - if (vlc_fourcc_IsYUV(format)) - return D3DCOLOR_XYUV(0,0x80,0x80); - return D3DCOLOR_ARGB(0xFF, 0, 0, 0); -} - /** * It creates a DXVA2 decoder using the given video format */ @@ -894,7 +887,6 @@ for (unsigned i = 0; i < sys->surface_count; i++) { vlc_va_surface_t *surface = &sys->surface[i]; surface->d3d = sys->hw_surface[i]; - IDirect3DDevice9_ColorFill(sys->d3ddev, surface->d3d, NULL, GetFormatBlack(sys->render)); surface->refcount = 0; surface->order = 0; } diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/codec/subsdec.c vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/codec/subsdec.c --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/codec/subsdec.c 2017-03-23 17:33:19.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/codec/subsdec.c 2017-04-06 19:33:24.000000000 +0000 @@ -2,7 +2,7 @@ * subsdec.c : text subtitle decoder ***************************************************************************** * Copyright (C) 2000-2006 VLC authors and VideoLAN - * $Id: 1b4276e299a2a6668047231d29ac705ae93076ba $ + * $Id: addd8c71f30d53558fffd19059b374be45cf0f8e $ * * Authors: Gildas Bazin * Samuel Hocevar @@ -664,7 +664,7 @@ HtmlCopy( &psz_html, &psz_subtitle, "" ); + if (*psz_subtitle == '\0') break; psz_subtitle++; } else if( !strncmp( psz_subtitle, " * Derk-Jan Hartman @@ -1809,8 +1809,8 @@ /* Parse the directives */ if( isalpha( (unsigned char)*psz_text ) || *psz_text == '[' ) { - while( *psz_text != ' ' ) - { psz_text++ ;}; + while( *psz_text && *psz_text != ' ' ) + ++psz_text; /* Directives are NOT parsed yet */ /* This has probably a better place in a decoder ? */ @@ -1867,7 +1867,7 @@ if( ( toupper((unsigned char)*(psz_text + 1 ) ) == 'C' ) || ( toupper((unsigned char)*(psz_text + 1 ) ) == 'F' ) ) { - psz_text++; psz_text++; + psz_text++; break; } if( (*(psz_text + 1 ) ) == 'B' || (*(psz_text + 1 ) ) == 'b' || diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/video_output/msw/common.c vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/video_output/msw/common.c --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/video_output/msw/common.c 2017-03-23 17:33:20.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/video_output/msw/common.c 2017-04-06 19:33:25.000000000 +0000 @@ -2,7 +2,7 @@ * common.c: Windows video output common code ***************************************************************************** * Copyright (C) 2001-2009 VLC authors and VideoLAN - * $Id: ec4a3ebf5f391f1f505ffbf5effdac1dc237a90a $ + * $Id: 219b816851e89ff3985efdb7c7ff1af44515941f $ * * Authors: Gildas Bazin * @@ -426,7 +426,7 @@ /* Apply overlay hardware constraints */ if (sys->use_overlay) AlignRect(&rect_src_clipped, sys->i_align_src_boundary, sys->i_align_src_size); -#elif defined(MODULE_NAME_IS_direct3d) || defined(MODULE_NAME_IS_direct2d) +#elif defined(MODULE_NAME_IS_direct2d) /* Needed at least with YUV content */ rect_src_clipped.left &= ~1; rect_src_clipped.right &= ~1; diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/video_output/msw/common.h vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/video_output/msw/common.h --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/video_output/msw/common.h 2017-03-23 17:33:20.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/video_output/msw/common.h 2017-04-06 19:33:25.000000000 +0000 @@ -2,7 +2,7 @@ * common.h: Windows video output header file ***************************************************************************** * Copyright (C) 2001-2009 VLC authors and VideoLAN - * $Id: d35b4f3615c2366e42435a0ef523319f3e207cfe $ + * $Id: 5ddf85e0a7ada5d7dbb25beae1440985015d14de $ * * Authors: Gildas Bazin * Damien Fouilleul @@ -154,8 +154,6 @@ D3DCAPS9 d3dcaps; LPDIRECT3DDEVICE9 d3ddev; D3DPRESENT_PARAMETERS d3dpp; - D3DTEXTUREFILTERTYPE minFilter; - D3DTEXTUREFILTERTYPE magFilter; // scene objects LPDIRECT3DTEXTURE9 d3dtex; diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/video_output/msw/direct3d.c vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/video_output/msw/direct3d.c --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/modules/video_output/msw/direct3d.c 2017-03-23 17:33:20.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/modules/video_output/msw/direct3d.c 2017-04-06 19:33:25.000000000 +0000 @@ -2,7 +2,7 @@ * direct3d.c: Windows Direct3D video output module ***************************************************************************** * Copyright (C) 2006-2014 VLC authors and VideoLAN - *$Id: 3d89c7452babcbf21b3a3a51760cef803e231947 $ + *$Id: f395fad23686b5e71c76b66bbc6036767669f5e4 $ * * Authors: Damien Fouilleul , * Sasha Koruga , @@ -270,13 +270,6 @@ free(vd->sys); } -static D3DCOLOR GetFormatBlack(D3DFORMAT format) -{ - if (vlc_fourcc_IsYUV(format)) - return D3DCOLOR_XYUV(0,0x80,0x80); - return D3DCOLOR_ARGB(0xFF, 0, 0, 0); -} - /* */ static picture_pool_t *Pool(vout_display_t *vd, unsigned count) { @@ -322,8 +315,8 @@ d3d_region_t picture_region; if (!Direct3DImportPicture(vd, &picture_region, surface)) { - picture_region.width = picture->format.i_visible_width; - picture_region.height = picture->format.i_visible_height; + picture_region.width = picture->format.i_width; + picture_region.height = picture->format.i_height; int subpicture_region_count = 0; d3d_region_t *subpicture_region = NULL; if (subpicture) @@ -882,11 +875,12 @@ static const d3d_format_t *Direct3DFindFormat(vout_display_t *vd, vlc_fourcc_t chroma, D3DFORMAT target) { vout_display_sys_t *sys = vd->sys; + bool hardware_scale_ok = !(vd->fmt.i_visible_width & 1) && !(vd->fmt.i_visible_height & 1); for (unsigned pass = 0; pass < 2; pass++) { const vlc_fourcc_t *list; - if (pass == 0 && sys->allow_hw_yuv && vlc_fourcc_IsYUV(chroma)) + if (pass == 0 && hardware_scale_ok && sys->allow_hw_yuv && vlc_fourcc_IsYUV(chroma)) list = vlc_fourcc_GetYUVFallback(chroma); else if (pass == 1) list = vlc_fourcc_GetRGBFallback(chroma); @@ -989,7 +983,7 @@ return VLC_EGENERIC; } /* fill surface with black color */ - IDirect3DDevice9_ColorFill(d3ddev, surface, NULL, GetFormatBlack(d3dfmt->format)); + IDirect3DDevice9_ColorFill(d3ddev, surface, NULL, D3DCOLOR_ARGB(0xFF, 0, 0, 0)); /* Create the associated picture */ picture_sys_t *picsys = malloc(sizeof(*picsys)); @@ -1061,8 +1055,8 @@ */ LPDIRECT3DTEXTURE9 d3dtex; hr = IDirect3DDevice9_CreateTexture(d3ddev, - fmt->i_visible_width, - fmt->i_visible_height, + fmt->i_width, + fmt->i_height, 1, D3DUSAGE_RENDERTARGET, sys->d3dpp.BackBufferFormat, @@ -1106,25 +1100,19 @@ IDirect3DDevice9_SetSamplerState(d3ddev, 0, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP); // Set linear filtering quality - /* we can't use linear interpolation in software decoding, the pictures - * are not initialized to black */ - if ( sys->d3dcaps.TextureFilterCaps & D3DPTFILTERCAPS_MINFLINEAR ) { + if (sys->d3dcaps.TextureFilterCaps & D3DPTFILTERCAPS_MINFLINEAR) { msg_Dbg(vd, "Using D3DTEXF_LINEAR for minification"); IDirect3DDevice9_SetSamplerState(d3ddev, 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); - sys->minFilter = D3DTEXF_LINEAR; } else { msg_Dbg(vd, "Using D3DTEXF_POINT for minification"); IDirect3DDevice9_SetSamplerState(d3ddev, 0, D3DSAMP_MINFILTER, D3DTEXF_POINT); - sys->minFilter = D3DTEXF_POINT; } - if ( sys->d3dcaps.TextureFilterCaps & D3DPTFILTERCAPS_MAGFLINEAR ) { + if (sys->d3dcaps.TextureFilterCaps & D3DPTFILTERCAPS_MAGFLINEAR) { msg_Dbg(vd, "Using D3DTEXF_LINEAR for magnification"); IDirect3DDevice9_SetSamplerState(d3ddev, 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); - sys->magFilter = D3DTEXF_LINEAR; } else { msg_Dbg(vd, "Using D3DTEXF_POINT for magnification"); IDirect3DDevice9_SetSamplerState(d3ddev, 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT); - sys->magFilter = D3DTEXF_POINT; } // set maximum ambient light @@ -1399,6 +1387,7 @@ } static void Direct3DSetupVertices(CUSTOMVERTEX *vertices, + const RECT *src, const RECT *src_clipped, const RECT dst, int alpha, video_orientation_t orientation) @@ -1410,6 +1399,7 @@ { dst.right, dst.bottom }, { dst.left, dst.bottom }, }; + bool has_src = src != NULL && src_clipped != NULL; /* Compute index remapping necessary to implement the rotation. */ int vertex_order[4]; @@ -1423,14 +1413,14 @@ vertices[0].tu = .0f; vertices[0].tv = .0f; - vertices[1].tu = 1.f; + vertices[1].tu = has_src ? (float)src_clipped->right / (float)src->right : 1.0f; vertices[1].tv = .0f; - vertices[2].tu = 1.f; - vertices[2].tv = 1.f; + vertices[2].tu = has_src ? (float)src_clipped->right / (float)src->right : 1.0f; + vertices[2].tv = has_src ? ((float)src_clipped->bottom) / (float)src->bottom : 1.0f; vertices[3].tu = .0f; - vertices[3].tv = 1.f; + vertices[3].tv = has_src ? ((float)src_clipped->bottom) / (float)src->bottom : 1.0f; for (int i = 0; i < 4; i++) { /* -0.5f is a "feature" of DirectX and it seems to apply to Direct3d also */ @@ -1469,14 +1459,7 @@ /* Copy picture surface into texture surface * color space conversion happen here */ - D3DTEXTUREFILTERTYPE filterType; - if (sys->rect_src_clipped.right < sys->rect_dest_clipped.right) - filterType = sys->magFilter; - else if (sys->rect_src_clipped.right > sys->rect_dest_clipped.right) - filterType = sys->minFilter; - else - filterType = D3DTEXF_NONE; - hr = IDirect3DDevice9_StretchRect(sys->d3ddev, source, &sys->rect_src_clipped, destination, NULL, filterType ); + hr = IDirect3DDevice9_StretchRect(sys->d3ddev, source, &vd->sys->rect_src, destination, NULL, D3DTEXF_NONE ); IDirect3DSurface9_Release(destination); if (FAILED(hr)) { msg_Dbg(vd, "%s:%d (hr=0x%0lX)", __FUNCTION__, __LINE__, hr); @@ -1485,7 +1468,8 @@ /* */ region->texture = sys->d3dtex; - Direct3DSetupVertices(region->vertex, vd->sys->rect_dest_clipped, 255, vd->fmt.orientation); + Direct3DSetupVertices(region->vertex, &vd->sys->rect_src, &vd->sys->rect_src_clipped, + vd->sys->rect_dest_clipped, 255, vd->fmt.orientation); return VLC_SUCCESS; } @@ -1525,8 +1509,8 @@ d3d_region_t *cache = &sys->d3dregion[j]; if (cache->texture && cache->format == sys->d3dregion_format && - cache->width == r->fmt.i_visible_width && - cache->height == r->fmt.i_visible_height) { + cache->width == r->fmt.i_width && + cache->height == r->fmt.i_height) { #ifndef NDEBUG msg_Dbg(vd, "Reusing %dx%d texture for OSD", cache->width, cache->height); @@ -1538,8 +1522,8 @@ } if (!d3dr->texture) { d3dr->format = sys->d3dregion_format; - d3dr->width = r->fmt.i_visible_width; - d3dr->height = r->fmt.i_visible_height; + d3dr->width = r->fmt.i_width; + d3dr->height = r->fmt.i_height; hr = IDirect3DDevice9_CreateTexture(sys->d3ddev, d3dr->width, d3dr->height, 1, @@ -1556,7 +1540,7 @@ } #ifndef NDEBUG msg_Dbg(vd, "Created %dx%d texture for OSD", - r->fmt.i_visible_width, r->fmt.i_visible_height); + r->fmt.i_width, r->fmt.i_height); #endif } @@ -1565,12 +1549,10 @@ if (SUCCEEDED(hr)) { uint8_t *dst_data = lock.pBits; int dst_pitch = lock.Pitch; - const int src_offset = r->fmt.i_y_offset * r->p_picture->p->i_pitch + - r->fmt.i_x_offset * r->p_picture->p->i_pixel_pitch; - uint8_t *src_data = &r->p_picture->p->p_pixels[src_offset]; + uint8_t *src_data = r->p_picture->p->p_pixels; int src_pitch = r->p_picture->p->i_pitch; - for (unsigned y = 0; y < r->fmt.i_visible_height; y++) { - int copy_pitch = __MIN(dst_pitch, r->p_picture->p->i_visible_pitch); + for (unsigned y = 0; y < r->fmt.i_height; y++) { + int copy_pitch = __MIN(dst_pitch, r->p_picture->p->i_pitch); if (d3dr->format == D3DFMT_A8B8G8R8) { memcpy(&dst_data[y * dst_pitch], &src_data[y * src_pitch], copy_pitch); @@ -1597,10 +1579,10 @@ RECT dst; dst.left = video.left + scale_w * r->i_x, - dst.right = dst.left + scale_w * r->fmt.i_visible_width, + dst.right = dst.left + scale_w * r->fmt.i_width, dst.top = video.top + scale_h * r->i_y, - dst.bottom = dst.top + scale_h * r->fmt.i_visible_height, - Direct3DSetupVertices(d3dr->vertex, + dst.bottom = dst.top + scale_h * r->fmt.i_height, + Direct3DSetupVertices(d3dr->vertex, NULL, NULL, dst, subpicture->i_alpha * r->i_alpha / 255, ORIENT_NORMAL); } diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/.pc/fix-qt5-build.patch/configure.ac vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/.pc/fix-qt5-build.patch/configure.ac --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/.pc/fix-qt5-build.patch/configure.ac 2017-03-23 17:33:31.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/.pc/fix-qt5-build.patch/configure.ac 2017-04-06 19:33:38.000000000 +0000 @@ -2431,7 +2431,7 @@ AS_IF([test "${enable_dxva2}" = "yes"], [AC_MSG_ERROR([Could not find required dxva2api.h])], [AC_MSG_WARN([dxva2api.h not found])]) - ]) + ], [#include ]) ],[ AS_IF([test "x${enable_dxva2}" != "x"], [ AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.]) diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/.pc/.quilt_patches vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/.pc/.quilt_patches --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/.pc/.quilt_patches 2017-03-23 17:33:31.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/.pc/.quilt_patches 2017-04-06 19:33:38.000000000 +0000 @@ -1 +1 @@ -/home/buildd/build-RECIPEBRANCHBUILD-1339468/chroot-autobuild/home/buildd/work/tree/recipe/debian/patches +/home/buildd/build-RECIPEBRANCHBUILD-1347622/chroot-autobuild/home/buildd/work/tree/recipe/debian/patches diff -Nru vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/.pc/.quilt_series vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/.pc/.quilt_series --- vlc-2.2.2+git20170323+r59002+56~ubuntu16.04.1/.pc/.quilt_series 2017-03-23 17:33:31.000000000 +0000 +++ vlc-2.2.2+git20170406+r59011+56~ubuntu16.04.1/.pc/.quilt_series 2017-04-06 19:33:38.000000000 +0000 @@ -1 +1 @@ -/home/buildd/build-RECIPEBRANCHBUILD-1339468/chroot-autobuild/home/buildd/work/tree/recipe/debian/patches/series +/home/buildd/build-RECIPEBRANCHBUILD-1347622/chroot-autobuild/home/buildd/work/tree/recipe/debian/patches/series