diff -Nru libvdpau-1.0/ChangeLog libvdpau-1.1/ChangeLog --- libvdpau-1.0/ChangeLog 2015-03-09 21:23:31.000000000 +0000 +++ libvdpau-1.1/ChangeLog 2015-03-16 21:31:43.000000000 +0000 @@ -1,3 +1,86 @@ +commit 0962da95cdf1d87a883d1d0db7d2697d6d103348 +Author: Aaron Plattner +Date: Mon Mar 16 14:31:31 2015 -0700 + + Bump version to 1.1 + + Signed-off-by: Aaron Plattner + +commit 0b3d6a0387c1a4b494349c9385c81e06992d80ad +Author: Aaron Plattner +Date: Mon Mar 16 12:15:17 2015 -0700 + + Change HEVC profile numbers to 100 through 104 + + libvdpau 1.0 contained an error in its HEVC picture info structures. Rather + than try to maintain backward compatibility with the incorrect definition, the + existing VdpPictureInfoHEVC was updated to contain the fixed definition. Since + the new structure is no longer compatible with the ABI defined by libvdpau 1.0, + change the profile numbers for HEVC so that software built against the incorrect + definition will not recognize the new profiles. + + Signed-off-by: Aaron Plattner + Reviewed-by: José Hiram Soltren + +commit 8e1e235cbd81ed49b2646cf344503587b4e7a70a +Author: José Hiram Soltren +Date: Fri Mar 13 13:39:35 2015 -0500 + + Fix error in sizes of H265 column width and row height, arrays + + An NVIDIA internal hardware document noted: + + #define MAX_TILE_COLS 20 + #define MAX_TILE_ROWS 22 + + As of this writing the VDPAU API writes: + + /** Only need to set 0..num_tile_columns_minus1. The struct + definition reserves up to the maximum of 22. Invalid values are + ignored. */ + uint16_t column_width_minus1[22]; + /** Only need to set 0..num_tile_rows_minus1. The struct + definition reserves up to the maximum of 20. Invalid values are + ignored.*/ + uint16_t row_height_minus1[20]; + + This is not correct. The correct definitions ought to be: + + uint16_t column_width_minus1[20]; + uint16_t row_height_minus1[22]; + + The H.265 Specification does not give an explicit range for the sizes + of these arrays. It is possible to calculate an upper limit for a particular + video frame implicitly using these equations: + + MinCbLog2SizeY = log2_min_luma_coding_block_size_minus3 + 3 (7-10) + CtbLog2SizeY = MinCbLog2SizeY + log2_diff_max_min_luma_coding_block_size (7-11) + CtbSizeY = 1 << CtbLog2SizeY (7-13) + PicWidthInCtbsY = Ceil( pic_width_in_luma_samples ÷ CtbSizeY ) (7-15) + num_tile_columns_minus1 ϵ [0, PicWidthInCtbsY − 1] + + (num_tile_rows_minus1 is similar) + + For a video with: + log2_min_luma_coding_block_size_minus3 = 0 + log2_diff_max_min_luma_coding_block_size = 0 + pic_width_in_luma_samples = 4096 + + num_tile_columns_minus1 < 512 + + This seems patological. Perhaps we could cap column_width_minus1[] and + row_height_minus1[] at 32 or 64 elements apiece if other hardware + implementations saw a reason to do so. + + This change as proposed does not alter the size of VdpPictureInfoHEVC, but + it *does* change the ABI. We can either add it as a fixup to the just + released VDPAU 1.0, or create a follow-on patch structure. Since few have + adopted VdpPictureInfoHEVC since Monday my preference is to fix the + existing structure. + + Signed-off-by: Aaron Plattner + Acked-by: Aaron Plattner + commit 686633d21b10293a10c1d6ba77499b0d67c23056 Author: Aaron Plattner Date: Mon Mar 9 14:22:56 2015 -0700 diff -Nru libvdpau-1.0/configure libvdpau-1.1/configure --- libvdpau-1.0/configure 2015-03-09 21:23:22.000000000 +0000 +++ libvdpau-1.1/configure 2015-03-16 21:31:38.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libvdpau 1.0. +# Generated by GNU Autoconf 2.69 for libvdpau 1.1. # # Report bugs to . # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libvdpau' PACKAGE_TARNAME='libvdpau' -PACKAGE_VERSION='1.0' -PACKAGE_STRING='libvdpau 1.0' +PACKAGE_VERSION='1.1' +PACKAGE_STRING='libvdpau 1.1' PACKAGE_BUGREPORT='vdpau@lists.freedesktop.org' PACKAGE_URL='' @@ -1360,7 +1360,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libvdpau 1.0 to adapt to many kinds of systems. +\`configure' configures libvdpau 1.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1430,7 +1430,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libvdpau 1.0:";; + short | recursive ) echo "Configuration of libvdpau 1.1:";; esac cat <<\_ACEOF @@ -1563,7 +1563,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libvdpau configure 1.0 +libvdpau configure 1.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1962,7 +1962,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libvdpau $as_me 1.0, which was +It was created by libvdpau $as_me 1.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2825,7 +2825,7 @@ # Define the identity of the package. PACKAGE='libvdpau' - VERSION='1.0' + VERSION='1.1' cat >>confdefs.h <<_ACEOF @@ -17154,7 +17154,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libvdpau $as_me 1.0, which was +This file was extended by libvdpau $as_me 1.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17220,7 +17220,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libvdpau config.status 1.0 +libvdpau config.status 1.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru libvdpau-1.0/configure.ac libvdpau-1.1/configure.ac --- libvdpau-1.0/configure.ac 2015-03-09 21:22:40.000000000 +0000 +++ libvdpau-1.1/configure.ac 2015-03-16 21:31:19.000000000 +0000 @@ -1,6 +1,6 @@ AC_PREREQ(2.60) -AC_INIT(libvdpau, 1.0, [vdpau@lists.freedesktop.org], libvdpau) +AC_INIT(libvdpau, 1.1, [vdpau@lists.freedesktop.org], libvdpau) AM_INIT_AUTOMAKE([dist-bzip2 foreign]) AM_MAINTAINER_MODE diff -Nru libvdpau-1.0/debian/changelog libvdpau-1.1/debian/changelog --- libvdpau-1.0/debian/changelog 2015-03-10 16:36:26.000000000 +0000 +++ libvdpau-1.1/debian/changelog 2015-03-19 13:24:35.000000000 +0000 @@ -1,4 +1,10 @@ -libvdpau (1.0-0ubuntu1~xedgers14.04.1) trusty; urgency=medium +libvdpau (1.1-0ubuntu1~xedgers14.04.1) trusty; urgency=medium + + * New upstream release + + -- Rico Tzschichholz Thu, 19 Mar 2015 14:22:06 +0100 + +libvdpau (1.0-0ubuntu1~xedgers15.04.1) vivid; urgency=medium * New upstream release diff -Nru libvdpau-1.0/include/vdpau/vdpau.h libvdpau-1.1/include/vdpau/vdpau.h --- libvdpau-1.0/include/vdpau/vdpau.h 2015-02-12 21:50:00.000000000 +0000 +++ libvdpau-1.1/include/vdpau/vdpau.h 2015-03-16 19:15:04.000000000 +0000 @@ -2485,15 +2485,15 @@ #define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE ((VdpDecoderProfile)26) /** \hideinitializer */ /** \brief MPEG-H Part 2 == H.265 == HEVC */ -#define VDP_DECODER_PROFILE_HEVC_MAIN ((VdpDecoderProfile)50) +#define VDP_DECODER_PROFILE_HEVC_MAIN ((VdpDecoderProfile)100) /** \hideinitializer */ -#define VDP_DECODER_PROFILE_HEVC_MAIN_10 ((VdpDecoderProfile)51) +#define VDP_DECODER_PROFILE_HEVC_MAIN_10 ((VdpDecoderProfile)101) /** \hideinitializer */ -#define VDP_DECODER_PROFILE_HEVC_MAIN_STILL ((VdpDecoderProfile)52) +#define VDP_DECODER_PROFILE_HEVC_MAIN_STILL ((VdpDecoderProfile)102) /** \hideinitializer */ -#define VDP_DECODER_PROFILE_HEVC_MAIN_12 ((VdpDecoderProfile)53) +#define VDP_DECODER_PROFILE_HEVC_MAIN_12 ((VdpDecoderProfile)103) /** \hideinitializer */ -#define VDP_DECODER_PROFILE_HEVC_MAIN_444 ((VdpDecoderProfile)54) +#define VDP_DECODER_PROFILE_HEVC_MAIN_444 ((VdpDecoderProfile)104) /** \hideinitializer */ #define VDP_DECODER_LEVEL_MPEG1_NA 0 @@ -3201,13 +3201,13 @@ /** Only valid if tiles_enabled_flag is set. Ignored otherwise. */ uint8_t uniform_spacing_flag; /** Only need to set 0..num_tile_columns_minus1. The struct - definition reserves up to the maximum of 22. Invalid values are + definition reserves up to the maximum of 20. Invalid values are ignored. */ - uint16_t column_width_minus1[22]; + uint16_t column_width_minus1[20]; /** Only need to set 0..num_tile_rows_minus1. The struct - definition reserves up to the maximum of 20. Invalid values are + definition reserves up to the maximum of 22. Invalid values are ignored.*/ - uint16_t row_height_minus1[20]; + uint16_t row_height_minus1[22]; /** Only needed if tiles_enabled_flag is set. Invalid values are ignored. */ uint8_t loop_filter_across_tiles_enabled_flag;