[SCM] libde265/master: Only export decoder API and update symbols for new version.
fancycode-guest at users.alioth.debian.org
fancycode-guest at users.alioth.debian.org
Thu Jul 16 09:09:46 UTC 2015
The following commit has been merged in the master branch:
commit 62175ba0880d52f382c4d88cd8b9ba77e24994b2
Author: Joachim Bauch <bauch at struktur.de>
Date: Thu Jul 16 11:05:29 2015 +0200
Only export decoder API and update symbols for new version.
diff --git a/debian/libde265-0.symbols b/debian/libde265-0.symbols
index 3510eca..3e0ea50 100644
--- a/debian/libde265-0.symbols
+++ b/debian/libde265-0.symbols
@@ -1,5 +1,25 @@
libde265.so.0 libde265-0 #MINVER#
- (optional|c++|regex)"^std::vector<int, std::allocator<int> >::.*@Base$" 0.8
+ (optional|c++|regex)"^char\* std::basic_string<.*@Base$" 1.0.2
+ (optional|c++|regex)"^std::_Sp_counted_base<.*@Base$" 1.0.2
+ (optional|c++|regex)"^std::__shared_count<.*@Base$" 1.0.2
+ (optional|c++|regex)"^std::basic_string<.*@Base$" 1.0.2
+ (optional|c++|regex)"^std::basic_stringbuf<.*@Base$" 1.0.2
+ (optional|c++|regex)"^std::pair<.*@Base$" 1.0.2
+ (optional|c++|regex)"^std::vector<.*@Base$" 1.0.2
+ (optional|c++|regex)"^typeinfo for std::.*@Base$" 1.0.2
+ (optional|c++|regex)"^typeinfo name for std::.*@Base$" 1.0.2
+ (optional|c++|regex)"^void std::_Destroy_aux<.*@Base$" 1.0.2
+ (optional|c++|regex)"^void std::__adjust_heap<.*@Base$" 1.0.2
+ (optional|c++|regex)"^void std::__insertion_sort<.*@Base$" 1.0.2
+ (optional|c++|regex)"^void std::__introsort_loop<.*@Base$" 1.0.2
+ (optional|c++|regex)"^void std::__move_median_first<.*@Base$" 1.0.2
+ (optional|c++|regex)"^void std::__unguarded_linear_insert<.*@Base$" 1.0.2
+ (optional|c++|regex)"^void std::vector<.*@Base$" 1.0.2
+ (optional|c++|regex)"^vtable for std::.*@Base$" 1.0.2
+ (optional|regex)"^_ZNSt6vectorI.*@Base$" 1.0.2
+ (optional=only used internally by dec265|c++)"MSE(unsigned char const*, int, unsigned char const*, int, int, int)@Base" 1.0.2
+ (optional=only used internally by dec265|c++)"PSNR(double)@Base" 1.0.2
+ (optional=only used by the non-final encoder api)de265_alloc_image_plane at Base 1.0.2
de265_change_framerate at Base 0.8
de265_decode at Base 0.8
de265_decode_data at Base 0.8
@@ -7,6 +27,8 @@ libde265.so.0 libde265-0 #MINVER#
de265_flush_data at Base 0.8
de265_free at Base 0.8
de265_free_decoder at Base 0.8
+ (optional=only used by the non-final encoder api)de265_free_image_plane at Base 1.0.2
+ de265_get_bits_per_pixel at Base 1.0.2
de265_get_chroma_format at Base 0.8
de265_get_current_TID at Base 0.8
de265_get_default_image_allocation_functions at Base 0.8
@@ -25,6 +47,9 @@ libde265.so.0 libde265-0 #MINVER#
de265_get_parameter_bool at Base 0.8
de265_get_version at Base 0.8
de265_get_version_number at Base 0.8
+ de265_get_version_number_maintenance at Base 1.0.2
+ de265_get_version_number_major at Base 1.0.2
+ de265_get_version_number_minor at Base 1.0.2
de265_get_warning at Base 0.8
de265_init at Base 0.8
de265_isOK at Base 0.8
@@ -54,3 +79,4 @@ libde265.so.0 libde265-0 #MINVER#
(optional=only used internally by sherlock265)draw_TB_grid at Base 0.8
(optional=only used internally by sherlock265)draw_Tiles at Base 0.8
(optional=only used internally by sherlock265)draw_intra_pred_modes at Base 0.8
+ (optional=only used by the non-final encoder api|regex)en265_.*@Base 1.0.2
diff --git a/debian/patches/disable_tools.patch b/debian/patches/disable_tools.patch
new file mode 100644
index 0000000..4d5b189
--- /dev/null
+++ b/debian/patches/disable_tools.patch
@@ -0,0 +1,38 @@
+Description: Disable building of some internal tools that no longer link
+ because internal symbols are not exported.
+Author: Joachim Bauch <bauch at struktur.de>
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -8,10 +8,6 @@
+ SUBDIRS+=dec265
+ endif
+
+-SUBDIRS+=enc265
+-
+-SUBDIRS+=tools
+-
+ if ENABLE_SHERLOCK265
+ SUBDIRS+=sherlock265
+ endif
+--- a/dec265/Makefile.am
++++ b/dec265/Makefile.am
+@@ -1,5 +1,5 @@
+
+-bin_PROGRAMS = dec265 hdrcopy
++bin_PROGRAMS = dec265
+
+ AM_CPPFLAGS = -I../libde265
+
+@@ -9,12 +9,6 @@
+ dec265_LDADD = ../libde265/libde265.la -lstdc++
+ dec265_SOURCES = dec265.cc
+
+-hdrcopy_DEPENDENCIES = ../libde265/libde265.la
+-hdrcopy_CXXFLAGS =
+-hdrcopy_LDFLAGS =
+-hdrcopy_LDADD = ../libde265/libde265.la -lstdc++
+-hdrcopy_SOURCES = hdrcopy.cc
+-
+ if HAVE_VIDEOGFX
+ dec265_CXXFLAGS += $(VIDEOGFX_CFLAGS)
+ dec265_LDFLAGS += $(VIDEOGFX_LIBS)
diff --git a/debian/patches/only_export_decoder_api.patch b/debian/patches/only_export_decoder_api.patch
new file mode 100644
index 0000000..6386768
--- /dev/null
+++ b/debian/patches/only_export_decoder_api.patch
@@ -0,0 +1,285 @@
+Description: Only export symbols defined in the decoder API.
+ The encoder API is not final yet, so upstream exports all symbols to make
+ development easier. For packaging we only want to expose the public API.
+Author: Joachim Bauch <bauch at struktur.de>
+--- a/libde265/encoder/Makefile.am
++++ b/libde265/encoder/Makefile.am
+@@ -9,6 +9,18 @@
+ encpicbuf.h encpicbuf.cc \
+ sop.h sop.cc
+
++libde265_encoder_la_CFLAGS = \
++ $(CFLAG_VISIBILITY) \
++ -DLIBDE265_EXPORTS
++libde265_encoder_la_CXXFLAGS += \
++ $(CFLAG_VISIBILITY) \
++ -DLIBDE265_EXPORTS
++
++if HAVE_VISIBILITY
++ libde265_encoder_la_CFLAGS += -DHAVE_VISIBILITY
++ libde265_encoder_la_CXXFLAGS += -DHAVE_VISIBILITY
++endif
++
+ SUBDIRS=algo
+ libde265_encoder_la_LIBADD = algo/libde265_encoder_algo.la
+
+--- a/libde265/encoder/algo/Makefile.am
++++ b/libde265/encoder/algo/Makefile.am
+@@ -15,5 +15,13 @@
+ tb-intrapredmode.h tb-intrapredmode.cc \
+ pb-mv.h pb-mv.cc
+
++libde265_encoder_algo_la_CXXFLAGS += \
++ $(CFLAG_VISIBILITY) \
++ -DLIBDE265_EXPORTS
++
++if HAVE_VISIBILITY
++ libde265_encoder_algo_la_CXXFLAGS += -DHAVE_VISIBILITY
++endif
++
+ EXTRA_DIST = \
+ CMakeLists.txt
+--- a/configure.ac
++++ b/configure.ac
+@@ -50,9 +50,7 @@
+ fi
+ changequote([,])dnl
+
+-dnl gl_VISIBILITY
+-dnl : In encoder branch, we still export all library symbols :
+-HAVE_VISIBILITY=0
++gl_VISIBILITY
+ AM_CONDITIONAL([HAVE_VISIBILITY], [test "x$HAVE_VISIBILITY" != "x0"])
+
+ # Checks for header files.
+--- a/libde265/image-io.cc
++++ b/libde265/image-io.cc
+@@ -165,7 +165,7 @@
+
+
+
+-LIBDE265_API PacketSink_File::~PacketSink_File()
++PacketSink_File::~PacketSink_File()
+ {
+ if (mFH) {
+ fclose(mFH);
+@@ -173,7 +173,7 @@
+ }
+
+
+-LIBDE265_API void PacketSink_File::set_filename(const char* filename)
++void PacketSink_File::set_filename(const char* filename)
+ {
+ assert(mFH==NULL);
+
+@@ -181,7 +181,7 @@
+ }
+
+
+-LIBDE265_API void PacketSink_File::send_packet(const uint8_t* data, int n)
++void PacketSink_File::send_packet(const uint8_t* data, int n)
+ {
+ uint8_t startCode[3];
+ startCode[0] = 0;
+--- a/libde265/image-io.h
++++ b/libde265/image-io.h
+@@ -30,17 +30,17 @@
+ class ImageSource
+ {
+ public:
+- LIBDE265_API ImageSource() { }
+- virtual LIBDE265_API ~ImageSource() { }
++ ImageSource() { }
++ virtual ~ImageSource() { }
+
+ //enum ImageStatus { Available, Waiting, EndOfVideo };
+
+ //virtual ImageStatus get_status() = 0;
+- virtual LIBDE265_API de265_image* get_image(bool block=true) = 0;
+- virtual LIBDE265_API void skip_frames(int n) = 0;
++ virtual de265_image* get_image(bool block=true) = 0;
++ virtual void skip_frames(int n) = 0;
+
+- virtual LIBDE265_API int get_width() const = 0;
+- virtual LIBDE265_API int get_height() const = 0;
++ virtual int get_width() const = 0;
++ virtual int get_height() const = 0;
+ };
+
+
+@@ -48,17 +48,17 @@
+ class ImageSource_YUV : public ImageSource
+ {
+ public:
+- LIBDE265_API ImageSource_YUV() : mFH(NULL) { }
+- virtual LIBDE265_API ~ImageSource_YUV();
++ ImageSource_YUV() : mFH(NULL) { }
++ virtual ~ImageSource_YUV();
+
+- bool LIBDE265_API set_input_file(const char* filename, int w,int h);
++ bool set_input_file(const char* filename, int w,int h);
+
+ //virtual ImageStatus get_status();
+- virtual LIBDE265_API de265_image* get_image(bool block=true);
+- virtual LIBDE265_API void skip_frames(int n);
++ virtual de265_image* get_image(bool block=true);
++ virtual void skip_frames(int n);
+
+- virtual LIBDE265_API int get_width() const { return width; }
+- virtual LIBDE265_API int get_height() const { return height; }
++ virtual int get_width() const { return width; }
++ virtual int get_height() const { return height; }
+
+ private:
+ FILE* mFH;
+@@ -75,20 +75,20 @@
+ class ImageSink
+ {
+ public:
+- virtual LIBDE265_API ~ImageSink() { }
++ virtual ~ImageSink() { }
+
+- virtual LIBDE265_API void send_image(const de265_image* img) = 0;
++ virtual void send_image(const de265_image* img) = 0;
+ };
+
+ class ImageSink_YUV : public ImageSink
+ {
+ public:
+- LIBDE265_API ImageSink_YUV() : mFH(NULL) { }
+- LIBDE265_API ~ImageSink_YUV();
++ ImageSink_YUV() : mFH(NULL) { }
++ ~ImageSink_YUV();
+
+- bool LIBDE265_API set_filename(const char* filename);
++ bool set_filename(const char* filename);
+
+- virtual LIBDE265_API void send_image(const de265_image* img);
++ virtual void send_image(const de265_image* img);
+
+ private:
+ FILE* mFH;
+@@ -99,21 +99,21 @@
+ class PacketSink
+ {
+ public:
+- virtual LIBDE265_API ~PacketSink() { }
++ virtual ~PacketSink() { }
+
+- virtual LIBDE265_API void send_packet(const uint8_t* data, int n) = 0;
++ virtual void send_packet(const uint8_t* data, int n) = 0;
+ };
+
+
+ class PacketSink_File : public PacketSink
+ {
+ public:
+- LIBDE265_API PacketSink_File() : mFH(NULL) { }
+- virtual LIBDE265_API ~PacketSink_File();
++ PacketSink_File() : mFH(NULL) { }
++ virtual ~PacketSink_File();
+
+- LIBDE265_API void set_filename(const char* filename);
++ void set_filename(const char* filename);
+
+- virtual LIBDE265_API void send_packet(const uint8_t* data, int n);
++ virtual void send_packet(const uint8_t* data, int n);
+
+ private:
+ FILE* mFH;
+--- a/libde265/configparam.h
++++ b/libde265/configparam.h
+@@ -94,7 +94,7 @@
+ bool hasLongOption() const { return true; } //mLongOption!=NULL; }
+ std::string getLongOption() const { return mLongOption ? std::string(mLongOption) : get_name(); }
+
+- virtual LIBDE265_API bool processCmdLineArguments(char** argv, int* argc, int idx) { return false; }
++ virtual bool processCmdLineArguments(char** argv, int* argc, int idx) { return false; }
+
+
+
+@@ -131,7 +131,7 @@
+ virtual std::string get_default_string() const { return default_value ? "true":"false"; }
+
+ virtual std::string getTypeDescr() const { return "boolean"; }
+- virtual LIBDE265_API bool processCmdLineArguments(char** argv, int* argc, int idx) { value=true; return true; }
++ virtual bool processCmdLineArguments(char** argv, int* argc, int idx) { value=true; return true; }
+
+ bool set(bool v) { value_set=true; value=v; return true; }
+
+@@ -161,10 +161,10 @@
+ virtual bool has_default() const { return default_set; }
+
+ void set_default(std::string v) { default_value=v; default_set=true; }
+- virtual LIBDE265_API std::string get_default_string() const { return default_value; }
++ virtual std::string get_default_string() const { return default_value; }
+
+- virtual LIBDE265_API std::string getTypeDescr() const { return "(string)"; }
+- virtual LIBDE265_API bool processCmdLineArguments(char** argv, int* argc, int idx);
++ virtual std::string getTypeDescr() const { return "(string)"; }
++ virtual bool processCmdLineArguments(char** argv, int* argc, int idx);
+
+ bool set(std::string v) { value_set=true; value=v; return true; }
+
+@@ -200,10 +200,10 @@
+ virtual bool has_default() const { return default_set; }
+
+ void set_default(int v) { default_value=v; default_set=true; }
+- virtual LIBDE265_API std::string get_default_string() const;
++ virtual std::string get_default_string() const;
+
+- virtual LIBDE265_API std::string getTypeDescr() const;
+- virtual LIBDE265_API bool processCmdLineArguments(char** argv, int* argc, int idx);
++ virtual std::string getTypeDescr() const;
++ virtual bool processCmdLineArguments(char** argv, int* argc, int idx);
+
+ bool set(int v) {
+ if (is_valid(v)) { value_set=true; value=v; return true; }
+@@ -238,7 +238,7 @@
+ virtual std::vector<std::string> get_choice_names() const = 0;
+
+ virtual std::string getTypeDescr() const;
+- virtual LIBDE265_API bool processCmdLineArguments(char** argv, int* argc, int idx);
++ virtual bool processCmdLineArguments(char** argv, int* argc, int idx);
+
+ const char** get_choices_string_table() const;
+
+@@ -367,10 +367,10 @@
+ config_parameters() : param_string_table(NULL) { }
+ ~config_parameters() { delete[] param_string_table; }
+
+- void LIBDE265_API add_option(option_base* o);
++ void add_option(option_base* o);
+
+- void LIBDE265_API print_params() const;
+- bool LIBDE265_API parse_command_line_params(int* argc, char** argv, int* first_idx=NULL,
++ void print_params() const;
++ bool parse_command_line_params(int* argc, char** argv, int* first_idx=NULL,
+ bool ignore_unknown_options=false);
+
+
+--- a/libde265/quality.h
++++ b/libde265/quality.h
+@@ -26,11 +26,11 @@
+ #include <libde265/image.h>
+
+
+-LIBDE265_API uint32_t SSD(const uint8_t* img, int imgStride,
++uint32_t SSD(const uint8_t* img, int imgStride,
+ const uint8_t* ref, int refStride,
+ int width, int height);
+
+-LIBDE265_API uint32_t SAD(const uint8_t* img, int imgStride,
++uint32_t SAD(const uint8_t* img, int imgStride,
+ const uint8_t* ref, int refStride,
+ int width, int height);
+
+@@ -41,7 +41,7 @@
+ LIBDE265_API double PSNR(double mse);
+
+
+-LIBDE265_API uint32_t compute_distortion_ssd(const de265_image* img1, const de265_image* img2,
++uint32_t compute_distortion_ssd(const de265_image* img1, const de265_image* img2,
+ int x0, int y0, int log2size, int cIdx);
+
+ #endif
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..2ee218a
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+only_export_decoder_api.patch
+disable_tools.patch
--
libde265 packaging
More information about the pkg-multimedia-commits
mailing list