Projects
Essentials
libde265
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 5
View file
libde265.changes
Changed
@@ -1,4 +1,16 @@ ------------------------------------------------------------------- +Sun Nov 29 09:51:59 UTC 2020 - Luigi Baldoni <aloisio@gmx.com> + +- Update to version 1.0.8 + * read HDR parameters from VUI header + * fix reading matrix_coeffs from VUI header + version 1.0.7: + * add API to read VUI color information from bitstream + version 1.0.6: + * fix race in static mutex initialization + * fix missing headers to install in CMakeLists.txt + +------------------------------------------------------------------- Mon Apr 20 21:17:43 UTC 2020 - zaitor@opensuse.org - Update to version 1.0.5:
View file
libde265.spec
Changed
@@ -1,6 +1,7 @@ # # spec file for package libde265 # +# Copyright (c) 2020 Packman Team <packman@links2linux.de> # Copyright (c) 2017 Bjørn Lie, Bryne, Norway. # # All modifications and additions to the file contributed by third parties @@ -12,20 +13,20 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -%define so_ver 0 +# Please submit bugfixes or comments via https://bugs.links2linux.org/ +# +%define so_ver 0 Name: libde265 -Version: 1.0.5 +Version: 1.0.8 Release: 0 Summary: Open H.265 video codec implementation -License: LGPL-3.0 +License: LGPL-3.0-only Group: System/Libraries -Url: http://www.libde265.org/ +URL: https://www.libde265.org/ Source0: https://github.com/strukturag/libde265/releases/download/v%{version}/%{name}-%{version}.tar.gz Source99: baselibs.conf Patch0: libde265-disable_tools.patch - -BuildRequires: autoconf BuildRequires: automake BuildRequires: c++_compiler BuildRequires: libtool @@ -37,8 +38,8 @@ API makes it easy to integrate it into other software. %package -n %{name}-%{so_ver} -Group: System/Libraries Summary: Open H.265 video codec implementation - libraries +Group: System/Libraries %description -n %{name}-%{so_ver} libde265 is an open source implementation of the H.265 video codec. @@ -48,8 +49,8 @@ This package contains the library files. %package devel -Group: Development/Libraries/Other Summary: Open H.265 video codec implementation - development files +Group: Development/Libraries/Other Requires: %{name}-%{so_ver} = %{version} %description devel @@ -82,7 +83,7 @@ %postun -n %{name}-%{so_ver} -p /sbin/ldconfig %files -n %{name}-%{so_ver} -%doc COPYING +%license COPYING %{_libdir}/%{name}.so.* %files devel
View file
libde265-1.0.5.tar.gz/CMakeLists.txt -> libde265-1.0.8.tar.gz/CMakeLists.txt
Changed
@@ -2,7 +2,7 @@ project (libde265 LANGUAGES C CXX - VERSION 1.0.5 + VERSION 1.0.8 ) set(CMAKE_CXX_STANDARD 11) @@ -11,7 +11,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) # The version number. -set (NUMERIC_VERSION 0x01000500) +set (NUMERIC_VERSION 0x01000800) set (PACKAGE_VERSION ${PROJECT_VERSION}) include (${CMAKE_ROOT}/Modules/CheckCCompilerFlag.cmake) @@ -47,13 +47,11 @@ add_definitions(-Wall) endif() -option(DISABLE_SSE "Disable SSE optimizations") -if(NOT ${DISABLE_SSE} EQUAL OFF) - if(MSVC) - set(SUPPORTS_SSE4_1 1) - else() - CHECK_C_COMPILER_FLAG(-msse4.1 SUPPORTS_SSE4_1) - endif() +option(DISABLE_SSE "Disable SSE optimizations" OFF) + +option(BUILD_SHARED_LIBS "Build shared library" ON) +if(NOT BUILD_SHARED_LIBS) + add_definitions(-DLIBDE265_STATIC_BUILD) endif() include_directories ("${PROJECT_SOURCE_DIR}")
View file
libde265-1.0.5.tar.gz/configure -> libde265-1.0.8.tar.gz/configure
Changed
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libde265 1.0.5. +# Generated by GNU Autoconf 2.69 for libde265 1.0.8. # # Report bugs to <farin@struktur.de>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libde265' PACKAGE_TARNAME='libde265' -PACKAGE_VERSION='1.0.5' -PACKAGE_STRING='libde265 1.0.5' +PACKAGE_VERSION='1.0.8' +PACKAGE_STRING='libde265 1.0.8' PACKAGE_BUGREPORT='farin@struktur.de' PACKAGE_URL='' @@ -1412,7 +1412,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 libde265 1.0.5 to adapt to many kinds of systems. +\`configure' configures libde265 1.0.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1484,7 +1484,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libde265 1.0.5:";; + short | recursive ) echo "Configuration of libde265 1.0.8:";; esac cat <<\_ACEOF @@ -1626,7 +1626,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libde265 configure 1.0.5 +libde265 configure 1.0.8 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2391,7 +2391,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libde265 $as_me 1.0.5, which was +It was created by libde265 $as_me 1.0.8, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2746,7 +2746,7 @@ ac_config_headers="$ac_config_headers config.h" -NUMERIC_VERSION=0x01000500 # Numeric representation of the version (A.B.C[.D] = 0xAABBCCDD) +NUMERIC_VERSION=0x01000800 # Numeric representation of the version (A.B.C[.D] = 0xAABBCCDD) # From https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html: @@ -2755,9 +2755,9 @@ # If any interfaces have been added since the last public release, then increment age. # If any interfaces have been removed or changed since the last public release, then set age to 0. -LIBDE265_CURRENT=0 -LIBDE265_REVISION=12 -LIBDE265_AGE=0 +LIBDE265_CURRENT=1 +LIBDE265_REVISION=1 +LIBDE265_AGE=1 # --------------------------------------------------------------------------- @@ -16714,7 +16714,7 @@ # Define the identity of the package. PACKAGE='libde265' - VERSION='1.0.5' + VERSION='1.0.8' cat >>confdefs.h <<_ACEOF @@ -20140,7 +20140,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libde265 $as_me 1.0.5, which was +This file was extended by libde265 $as_me 1.0.8, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20206,7 +20206,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libde265 config.status 1.0.5 +libde265 config.status 1.0.8 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\"
View file
libde265-1.0.5.tar.gz/configure.ac -> libde265-1.0.8.tar.gz/configure.ac
Changed
@@ -2,11 +2,11 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.68]) -AC_INIT([libde265], [1.0.5], [farin@struktur.de]) +AC_INIT([libde265], [1.0.8], [farin@struktur.de]) AC_CONFIG_SRCDIR([libde265/de265.cc]) AC_CONFIG_HEADERS([config.h]) -NUMERIC_VERSION=0x01000500 # Numeric representation of the version (A.B.C[.D] = 0xAABBCCDD) +NUMERIC_VERSION=0x01000800 # Numeric representation of the version (A.B.C[.D] = 0xAABBCCDD) AC_SUBST(NUMERIC_VERSION) # From https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html: @@ -15,9 +15,9 @@ # If any interfaces have been added since the last public release, then increment age. # If any interfaces have been removed or changed since the last public release, then set age to 0. -LIBDE265_CURRENT=0 -LIBDE265_REVISION=12 -LIBDE265_AGE=0 +LIBDE265_CURRENT=1 +LIBDE265_REVISION=1 +LIBDE265_AGE=1 # ---------------------------------------------------------------------------
View file
libde265-1.0.5.tar.gz/dec265/CMakeLists.txt -> libde265-1.0.8.tar.gz/dec265/CMakeLists.txt
Changed
@@ -16,9 +16,13 @@ ) endif() +install (TARGETS dec265 DESTINATION ${CMAKE_INSTALL_BINDIR}) + if(NOT MSVC) # hdrcopy uses internal APIs that are not available when compiled for Windows add_executable (hdrcopy hdrcopy.cc) target_link_libraries (hdrcopy PRIVATE ${PROJECT_NAME}) + + install (TARGETS hdrcopy DESTINATION ${CMAKE_INSTALL_BINDIR}) endif()
View file
libde265-1.0.5.tar.gz/enc265/CMakeLists.txt -> libde265-1.0.8.tar.gz/enc265/CMakeLists.txt
Changed
@@ -11,3 +11,5 @@ endif() target_link_libraries (enc265 PRIVATE ${PROJECT_NAME}) + +install (TARGETS enc265 DESTINATION ${CMAKE_INSTALL_BINDIR})
View file
libde265-1.0.5.tar.gz/libde265/CMakeLists.txt -> libde265-1.0.8.tar.gz/libde265/CMakeLists.txt
Changed
@@ -43,6 +43,9 @@ bitstream.h cabac.h configparam.h + de265-version.h + contextmodel.h + de265.h deblock.h decctx.h dpb.h @@ -73,7 +76,7 @@ vui.h ) -if(MSVC) +if(MSVC OR MINGW) set (libde265_sources ${libde265_sources} ../extra/win32cond.c @@ -85,12 +88,26 @@ add_subdirectory (encoder) -if(SUPPORTS_SSE4_1) - add_definitions(-DHAVE_SSE4_1) - add_subdirectory (x86) +if(NOT DISABLE_SSE) + if (MSVC) + set(SUPPORTS_SSE2 1) + set(SUPPORTS_SSSE3 1) + set(SUPPORTS_SSE4_1 1) + else (MSVC) + check_c_compiler_flag(-msse2 SUPPORTS_SSE2) + check_c_compiler_flag(-mssse3 SUPPORTS_SSSE3) + check_c_compiler_flag(-msse4.1 SUPPORTS_SSE4_1) + endif (MSVC) + + if(SUPPORTS_SSE4_1) + add_definitions(-DHAVE_SSE4_1) + endif() + if(SUPPORTS_SSE4_1 OR (SUPPORTS_SSE2 AND SUPPORTS_SSSE3)) + add_subdirectory (x86) + endif() endif() -add_library(${PROJECT_NAME} SHARED ${libde265_sources} ${ENCODER_OBJECTS} ${X86_OBJECTS}) +add_library(${PROJECT_NAME} ${libde265_sources} ${ENCODER_OBJECTS} ${X86_OBJECTS}) target_link_libraries(${PROJECT_NAME} PRIVATE Threads::Threads) write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake COMPATIBILITY ExactVersion) @@ -102,6 +119,7 @@ ) install(FILES ${libde265_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/de265-version.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}) install(EXPORT ${PROJECT_NAME}Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
View file
libde265-1.0.5.tar.gz/libde265/de265-version.h -> libde265-1.0.8.tar.gz/libde265/de265-version.h
Changed
@@ -28,9 +28,9 @@ #define LIBDE265_VERSION_H /* Numeric representation of the version */ -#define LIBDE265_NUMERIC_VERSION 0x01000500 +#define LIBDE265_NUMERIC_VERSION 0x01000800 /* Version string */ -#define LIBDE265_VERSION "1.0.5" +#define LIBDE265_VERSION "1.0.8" #endif
View file
libde265-1.0.5.tar.gz/libde265/de265.cc -> libde265-1.0.8.tar.gz/libde265/de265.cc
Changed
@@ -171,12 +171,16 @@ static int de265_init_count; -static std::mutex de265_init_mutex; +static std::mutex& de265_init_mutex() +{ + static std::mutex de265_init_mutex; + return de265_init_mutex; +} LIBDE265_API de265_error de265_init() { - std::lock_guard<std::mutex> lock(de265_init_mutex); + std::lock_guard<std::mutex> lock(de265_init_mutex()); de265_init_count++; @@ -201,7 +205,7 @@ LIBDE265_API de265_error de265_free() { - std::lock_guard<std::mutex> lock(de265_init_mutex); + std::lock_guard<std::mutex> lock(de265_init_mutex()); if (de265_init_count<=0) { return DE265_ERROR_LIBRARY_NOT_INITIALIZED; @@ -708,4 +712,25 @@ if (nuh_layer_id) *nuh_layer_id = img->nal_hdr.nuh_layer_id; if (nuh_temporal_id) *nuh_temporal_id = img->nal_hdr.nuh_temporal_id; } + +LIBDE265_API int de265_get_image_full_range_flag(const struct de265_image* img) +{ + return img->get_sps().vui.video_full_range_flag; +} + +LIBDE265_API int de265_get_image_colour_primaries(const struct de265_image* img) +{ + return img->get_sps().vui.colour_primaries; +} + +LIBDE265_API int de265_get_image_transfer_characteristics(const struct de265_image* img) +{ + return img->get_sps().vui.transfer_characteristics; +} + +LIBDE265_API int de265_get_image_matrix_coefficients(const struct de265_image* img) +{ + return img->get_sps().vui.matrix_coeffs; +} + }
View file
libde265-1.0.5.tar.gz/libde265/de265.h -> libde265-1.0.8.tar.gz/libde265/de265.h
Changed
@@ -186,6 +186,11 @@ int* nuh_layer_id, int* nuh_temporal_id); +LIBDE265_API int de265_get_image_full_range_flag(const struct de265_image*); +LIBDE265_API int de265_get_image_colour_primaries(const struct de265_image*); +LIBDE265_API int de265_get_image_transfer_characteristics(const struct de265_image*); +LIBDE265_API int de265_get_image_matrix_coefficients(const struct de265_image*); + /* === decoder === */
View file
libde265-1.0.5.tar.gz/libde265/image.cc -> libde265-1.0.8.tar.gz/libde265/image.cc
Changed
@@ -20,6 +20,7 @@ #include "image.h" #include "decctx.h" +#include "en265.h" #include <stdlib.h> #include <string.h>
View file
libde265-1.0.5.tar.gz/libde265/threads.cc -> libde265-1.0.8.tar.gz/libde265/threads.cc
Changed
@@ -32,8 +32,9 @@ #ifndef _WIN32 // #include <intrin.h> -#define THREAD_RESULT void* -#define THREAD_PARAM void* +#define THREAD_RESULT_TYPE void* +#define THREAD_PARAM_TYPE void* +#define THREAD_CALLING_CONVENTION #include <stdio.h> @@ -51,8 +52,9 @@ void de265_cond_signal(de265_cond* c) { pthread_cond_signal(c); } #else // _WIN32 -#define THREAD_RESULT DWORD WINAPI -#define THREAD_PARAM LPVOID +#define THREAD_RESULT_TYPE DWORD +#define THREAD_CALLING_CONVENTION WINAPI +#define THREAD_PARAM_TYPE LPVOID int de265_thread_create(de265_thread* t, LPTHREAD_START_ROUTINE start_routine, void *arg) { HANDLE handle = CreateThread(NULL, 0, start_routine, arg, 0, NULL); @@ -184,7 +186,7 @@ #endif -static THREAD_RESULT worker_thread(THREAD_PARAM pool_ptr) +static THREAD_RESULT_TYPE THREAD_CALLING_CONVENTION worker_thread(THREAD_PARAM_TYPE pool_ptr) { thread_pool* pool = (thread_pool*)pool_ptr; @@ -210,7 +212,7 @@ if (pool->stopped) { de265_mutex_unlock(&pool->mutex); - return NULL; + return (THREAD_RESULT_TYPE)0; } @@ -238,7 +240,7 @@ } de265_mutex_unlock(&pool->mutex); - return NULL; + return (THREAD_RESULT_TYPE)0; }
View file
libde265-1.0.5.tar.gz/libde265/vui.cc -> libde265-1.0.8.tar.gz/libde265/vui.cc
Changed
@@ -128,8 +128,7 @@ // --- hrd parameters --- vui_hrd_parameters_present_flag = false; - //hrd_parameters vui_hrd_parameters; - + // --- bitstream restriction --- @@ -145,6 +144,88 @@ } +de265_error video_usability_information::hrd_parameters(error_queue* errqueue, bitreader* br, const seq_parameter_set* sps) +{ + int vlc; + + nal_hrd_parameters_present_flag = get_bits(br, 1); + vcl_hrd_parameters_present_flag = get_bits(br, 1); + + if (nal_hrd_parameters_present_flag || vcl_hrd_parameters_present_flag) + { + sub_pic_hrd_params_present_flag = get_bits(br, 1); + if (sub_pic_hrd_params_present_flag) + { + tick_divisor_minus2 = get_bits(br, 8); + du_cpb_removal_delay_increment_length_minus1 = get_bits(br, 5); + sub_pic_cpb_params_in_pic_timing_sei_flag = get_bits(br, 1); + dpb_output_delay_du_length_minus1 = get_bits(br, 5); + } + bit_rate_scale = get_bits(br, 4); + cpb_size_scale = get_bits(br, 4); + + + if (sub_pic_hrd_params_present_flag) + { + cpb_size_du_scale = get_bits(br, 4); + } + initial_cpb_removal_delay_length_minus1 = get_bits(br, 5); + au_cpb_removal_delay_length_minus1 = get_bits(br, 5); + dpb_output_delay_length_minus1 = get_bits(br, 5); + } + int i, j, nalOrVcl; + + for (i = 0; i < sps->sps_max_sub_layers; i++) + { + fixed_pic_rate_general_flag[i] = get_bits(br, 1); + if (!fixed_pic_rate_general_flag[i]) + { + fixed_pic_rate_within_cvs_flag[i] = get_bits(br, 1); + } + else + { + fixed_pic_rate_within_cvs_flag[i] = true; + } + + low_delay_hrd_flag[i] = 0;// Infered to be 0 when not present + cpb_cnt_minus1[i] = 0; // Infered to be 0 when not present + + if (fixed_pic_rate_within_cvs_flag[i]) + { + READ_VLC_OFFSET(elemental_duration_in_tc_minus1[i], uvlc, 0); + } + else + { + low_delay_hrd_flag[i] = get_bits(br, 1); + } + if (!low_delay_hrd_flag[i]) + { + READ_VLC_OFFSET(cpb_cnt_minus1[i], uvlc, 0); + } + + for (nalOrVcl = 0; nalOrVcl < 2; nalOrVcl++) + { + if (((nalOrVcl == 0) && nal_hrd_parameters_present_flag) || + ((nalOrVcl == 1) && vcl_hrd_parameters_present_flag)) + { + for (j = 0; j <= cpb_cnt_minus1[i]; j++) + { + READ_VLC_OFFSET(bit_rate_value_minus1[i][j][nalOrVcl], uvlc, 0); + READ_VLC_OFFSET(cpb_size_value_minus1[i][j][nalOrVcl], uvlc, 0); + + if (sub_pic_hrd_params_present_flag) + { + READ_VLC_OFFSET(cpb_size_du_value_minus1[i][j][nalOrVcl], uvlc, 0); + READ_VLC_OFFSET(bit_rate_du_value_minus1[i][j][nalOrVcl], uvlc, 0); + } + cbr_flag[i][j][nalOrVcl] = get_bits(br, 1); + } + } + } + } + return DE265_OK; +} + de265_error video_usability_information::read(error_queue* errqueue, bitreader* br, const seq_parameter_set* sps) { @@ -153,33 +234,33 @@ // --- sample aspect ratio (SAR) --- - aspect_ratio_info_present_flag = get_bits(br,1); + aspect_ratio_info_present_flag = get_bits(br, 1); if (aspect_ratio_info_present_flag) { - int aspect_ratio_idc = get_bits(br,8); + int aspect_ratio_idc = get_bits(br, 8); if (aspect_ratio_idc <= NUM_SAR_PRESETS) { - sar_width = sar_presets[aspect_ratio_idc][0]; + sar_width = sar_presets[aspect_ratio_idc][0]; sar_height = sar_presets[aspect_ratio_idc][1]; } else if (aspect_ratio_idc == EXTENDED_SAR) { - sar_width = get_bits(br,16); - sar_height = get_bits(br,16); + sar_width = get_bits(br, 16); + sar_height = get_bits(br, 16); } else { - sar_width = 0; + sar_width = 0; sar_height = 0; } } else { - sar_width = 0; + sar_width = 0; sar_height = 0; } // --- overscan --- - overscan_info_present_flag = get_bits(br,1); + overscan_info_present_flag = get_bits(br, 1); if (overscan_info_present_flag) { - overscan_appropriate_flag = get_bits(br,1); + overscan_appropriate_flag = get_bits(br, 1); } @@ -193,35 +274,35 @@ matrix_coeffs = 2; } - video_signal_type_present_flag = get_bits(br,1); + video_signal_type_present_flag = get_bits(br, 1); if (video_signal_type_present_flag) { - int video_format_idc = get_bits(br,3); + int video_format_idc = get_bits(br, 3); if (video_format_idc > 5) { video_format_idc = VideoFormat_Unspecified; } video_format = (VideoFormat)video_format_idc; - video_full_range_flag = get_bits(br,1); + video_full_range_flag = get_bits(br, 1); - colour_description_present_flag = get_bits(br,1); + colour_description_present_flag = get_bits(br, 1); if (colour_description_present_flag) { - colour_primaries = get_bits(br,8); + colour_primaries = get_bits(br, 8); if (colour_primaries == 0 || - colour_primaries == 3 || - colour_primaries >= 11) { + colour_primaries == 3 || + colour_primaries >= 11) { colour_primaries = 2; } - transfer_characteristics = get_bits(br,8); + transfer_characteristics = get_bits(br, 8); if (transfer_characteristics == 0 || - transfer_characteristics == 3 || - transfer_characteristics >= 18) { + transfer_characteristics == 3 || + transfer_characteristics >= 18) { transfer_characteristics = 2; } - matrix_coeffs = get_bits(br,8); - if (matrix_coeffs == 0 || - matrix_coeffs >= 11) { + matrix_coeffs = get_bits(br, 8); + + if (matrix_coeffs >= 11) { matrix_coeffs = 2; } } @@ -230,59 +311,59 @@ // --- chroma / interlaced --- - chroma_loc_info_present_flag = get_bits(br,1); + chroma_loc_info_present_flag = get_bits(br, 1); if (chroma_loc_info_present_flag) { - READ_VLC(chroma_sample_loc_type_top_field, uvlc); + READ_VLC(chroma_sample_loc_type_top_field, uvlc); READ_VLC(chroma_sample_loc_type_bottom_field, uvlc); } else { - chroma_sample_loc_type_top_field = 0; + chroma_sample_loc_type_top_field = 0; chroma_sample_loc_type_bottom_field = 0; } - neutral_chroma_indication_flag = get_bits(br,1); - field_seq_flag = get_bits(br,1); - frame_field_info_present_flag = get_bits(br,1); + neutral_chroma_indication_flag = get_bits(br, 1); + field_seq_flag = get_bits(br, 1); + frame_field_info_present_flag = get_bits(br, 1); // --- default display window --- - default_display_window_flag = get_bits(br,1); + default_display_window_flag = get_bits(br, 1); if (default_display_window_flag) { - READ_VLC(def_disp_win_left_offset ,uvlc); - READ_VLC(def_disp_win_right_offset ,uvlc); - READ_VLC(def_disp_win_top_offset ,uvlc); - READ_VLC(def_disp_win_bottom_offset,uvlc); + READ_VLC(def_disp_win_left_offset, uvlc); + READ_VLC(def_disp_win_right_offset, uvlc); + READ_VLC(def_disp_win_top_offset, uvlc); + READ_VLC(def_disp_win_bottom_offset, uvlc); } else { - def_disp_win_left_offset =0; - def_disp_win_right_offset =0; - def_disp_win_top_offset =0; - def_disp_win_bottom_offset=0; + def_disp_win_left_offset = 0; + def_disp_win_right_offset = 0; + def_disp_win_top_offset = 0; + def_disp_win_bottom_offset = 0; } // --- timing --- - vui_timing_info_present_flag = get_bits(br,1); + vui_timing_info_present_flag = get_bits(br, 1); if (vui_timing_info_present_flag) { - vui_num_units_in_tick = get_bits(br,32); - vui_time_scale = get_bits(br,32); - } - - vui_poc_proportional_to_timing_flag = get_bits(br,1); - READ_VLC_OFFSET(vui_num_ticks_poc_diff_one, uvlc, 1); + vui_num_units_in_tick = get_bits(br, 32); + vui_time_scale = get_bits(br, 32); + vui_poc_proportional_to_timing_flag = get_bits(br, 1); + if (vui_poc_proportional_to_timing_flag) { + READ_VLC_OFFSET(vui_num_ticks_poc_diff_one, uvlc, 1); + } - // --- hrd parameters --- + // --- hrd parameters --- - vui_hrd_parameters_present_flag = get_bits(br,1); - if (vui_hrd_parameters_present_flag) { - return DE265_ERROR_NOT_IMPLEMENTED_YET; - //hrd_parameters vui_hrd_parameters; + vui_hrd_parameters_present_flag = get_bits(br, 1); + if (vui_hrd_parameters_present_flag) { + de265_error err; + err = hrd_parameters(errqueue, br, sps); + } } - // --- bitstream restriction --- bitstream_restriction_flag = get_bits(br,1);
View file
libde265-1.0.5.tar.gz/libde265/vui.h -> libde265-1.0.8.tar.gz/libde265/vui.h
Changed
@@ -46,7 +46,8 @@ { public: video_usability_information(); - + + de265_error hrd_parameters(error_queue*, bitreader*, const seq_parameter_set*); de265_error read(error_queue*, bitreader*, const seq_parameter_set*); void dump(int fd) const; @@ -106,9 +107,30 @@ // --- hrd parameters --- bool vui_hrd_parameters_present_flag; - //hrd_parameters vui_hrd_parameters; - - + bool nal_hrd_parameters_present_flag; + bool vcl_hrd_parameters_present_flag; + bool sub_pic_hrd_params_present_flag; + uint32_t tick_divisor_minus2; + uint32_t du_cpb_removal_delay_increment_length_minus1; + bool sub_pic_cpb_params_in_pic_timing_sei_flag; + uint32_t dpb_output_delay_du_length_minus1; + uint32_t bit_rate_scale; + uint32_t cpb_size_scale; + uint32_t cpb_size_du_scale; + uint32_t initial_cpb_removal_delay_length_minus1; + uint32_t au_cpb_removal_delay_length_minus1; + uint32_t dpb_output_delay_length_minus1; + bool fixed_pic_rate_general_flag[7]; + bool fixed_pic_rate_within_cvs_flag[7]; + bool low_delay_hrd_flag[7]; + uint32_t cpb_cnt_minus1[7]; + uint32_t elemental_duration_in_tc_minus1[7]; + uint32_t bit_rate_value_minus1[7][32][2]; + uint32_t cpb_size_value_minus1[7][32][2]; + uint32_t cpb_size_du_value_minus1[7][32][2]; + uint32_t bit_rate_du_value_minus1[7][32][2]; + bool cbr_flag[7][32][2]; + // --- bitstream restriction --- bool bitstream_restriction_flag;
View file
libde265-1.0.5.tar.gz/libde265/x86/CMakeLists.txt -> libde265-1.0.8.tar.gz/libde265/x86/CMakeLists.txt
Changed
@@ -13,11 +13,13 @@ set(sse_flags "") if(NOT MSVC) - set(sse_flags "${sse_flags} -msse4.1") + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(sse_flags "${sse_flags} -msse4.1") + else(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(sse_flags "${sse_flags} -msse2 -mssse3 -msse4.1") + endif(CMAKE_SIZEOF_VOID_P EQUAL 8) endif() set(X86_OBJECTS $<TARGET_OBJECTS:x86> $<TARGET_OBJECTS:x86_sse> PARENT_SCOPE) -if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") - SET_TARGET_PROPERTIES(x86_sse PROPERTIES COMPILE_FLAGS "${sse_flags}") -endif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") +SET_TARGET_PROPERTIES(x86_sse PROPERTIES COMPILE_FLAGS "${sse_flags}")
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.