Projects
Essentials
xvid
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 12
View file
xvidcore.changes
Changed
@@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Tue Jun 2 06:25:14 UTC 2020 - Luigi Baldoni <aloisio@gmx.com> + +- Update to version 1.3.7 (see ChangeLog) +- Update source URL +- Drop remove-.rotext.patch (included upstream) + +------------------------------------------------------------------- Sat Oct 27 14:39:49 UTC 2018 - jslaby@suse.cz - fix crashes on init (add remove-.rotext.patch)
View file
xvidcore.spec
Changed
@@ -1,6 +1,7 @@ # # spec file for package xvidcore # +# Copyright (c) 2020 Packman Team <packman@links2linux.de> # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties @@ -12,29 +13,24 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.links2linux.org/ # %define soname 4 Name: xvidcore -Version: 1.3.5 +Version: 1.3.7 Release: 0 Summary: Xvid is a high quality MPEG-4 ASP video codec -License: GPL-2.0+ +License: GPL-2.0-or-later Group: Productivity/Multimedia/Video/Editors and Convertors -Url: http://www.xvid.org/ -Source0: http://downloads.xvid.org/downloads/xvidcore-%{version}.tar.bz2 +URL: https://www.xvid.com/ +Source0: https://downloads.xvid.com/downloads/xvidcore-%{version}.tar.bz2 Source1: baselibs.conf -Patch0: remove-.rotext.patch +BuildRequires: dos2unix BuildRequires: gcc-c++ -BuildRequires: make BuildRequires: nasm BuildRequires: pkgconfig -Requires: lib%{name}%{soname} = %{version} -Provides: xvid = %{version} -Obsoletes: xvid < %{version} -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Xvid is a high quality MPEG-4 ASP video codec. @@ -53,8 +49,6 @@ Summary(de): Entwicklerdateien des XviD Video-Codecs Group: Development/Libraries/C and C++ Requires: lib%{name}%{soname} = %{version} -Provides: xvid-devel = %{version} -Obsoletes: xvid-devel < %{version} %description -n lib%{name}-devel Xvid is a high quality MPEG-4 ASP video codec. @@ -79,12 +73,12 @@ %prep %setup -q -n "%{name}" -%autopatch -p1 +dos2unix ChangeLog %build cd build/generic %configure -make %{?_smp_mflags} +%make_build %install install -d "%{buildroot}%{_libdir}" @@ -106,18 +100,15 @@ %post -n lib%{name}%{soname} -p /sbin/ldconfig %postun -n lib%{name}%{soname} -p /sbin/ldconfig -%files -%defattr(644,root,root,755) -%doc AUTHORS ChangeLog LICENSE README TODO - %files -n lib%{name}-devel %defattr(644,root,root,755) -%doc CodingStyle doc examples +%doc AUTHORS ChangeLog CodingStyle README TODO examples %{_includedir}/*.h %{_libdir}/*.so %files -n lib%{name}%{soname} %defattr(644,root,root) +%license LICENSE %{_libdir}/libxvidcore.so.%{soname}* %changelog
View file
remove-.rotext.patch
Deleted
@@ -1,58 +0,0 @@ -From: Jiri Slaby <jslaby@suse.cz> -Subject: remove .rotext section -Patch-mainline: haven't tried to submit - -avidemux and others crash right when the initialization routine of xvid -(xvid_global) is called: -> #0 0x00007fffde18d920 in check_cpu_features () from /usr/lib64/libxvidcore.so.4 -> #1 0x00007fffde1070db in detect_cpu_flags () at ../../src/xvid.c:156 -> #2 0x00007fffde1081e5 in xvid_gbl_init (init=0x7fffffffd304, init=0x7fffffffd304) at ../../src/xvid.c:793 -> #3 xvid_global (handle=<optimized out>, opt=<optimized out>, param1=0x7fffffffd304, param2=<optimized out>) at ../../src/xvid.c:816 -... - -It is because xvid tries to call a function written in assembly and the -authors decided to put it in a section called .rotext. The same as other -assembly functions: - 15 .rotext 00022f69 0000000000075140 0000000000075140 00075140 2**5 - CONTENTS, ALLOC, LOAD, READONLY, DATA - -As can be seen, it is marked as DATA and not CODE, so it ends up in data -program headers without permissions to execute it: - LOAD 0x000000000006a000 0x000000000006a000 0x000000000006a000 - 0x0000000000035070 0x0000000000035070 R 0x1000 - -... - Section to Segment mapping: - Segment Sections... - 02 .rodata .rotext .eh_frame_hdr .eh_frame - -So kill .rotext which is no "standard" section and use .text as usual. -Note that .text *is* read-only in any way: - LOAD 0x0000000000002000 0x0000000000002000 0x0000000000002000 - 0x000000000008a1d5 0x000000000008a1d5 R E 0x1000 - -This could work in the past versions of binutils/nasm, but not with my: -binutils-2.31 -nasm-2.13.03 ---- - src/nasm.inc | 8 -------- - 1 file changed, 8 deletions(-) - ---- a/src/nasm.inc -+++ b/src/nasm.inc -@@ -175,15 +175,7 @@ BITS 32 - %endmacro - - %macro TEXT 0 --%ifidn __OUTPUT_FORMAT__,macho32 - SECTION .text align=SECTION_ALIGN --%else --%ifidn __OUTPUT_FORMAT__,macho64 -- SECTION .text align=SECTION_ALIGN --%else -- SECTION .rotext align=SECTION_ALIGN --%endif --%endif - %endmacro - - %macro cglobal 1
View file
xvidcore-1.3.5.tar.bz2/ChangeLog -> xvidcore-1.3.7.tar.bz2/ChangeLog
Changed
@@ -1,5 +1,24 @@ # Note that this ChangeLog covers only main changes to the release branch +2019-12-28 09:43 Isibaar + * xvidcore/src/quant/quant_matrix.c: Fix stupid regression due + to wrong brackets... + +2019-11-12 14:48 Isibaar + * xvidcore/src/bitstream/bitstream.c + * xvidcore/src/bitstream/bitstream.h + * xvidcore/src/bitstream/mbcoding.c + * xvidcore/src/decoder.c + * xvidcore/src/global.h + * xvidcore/src/image/colorspace.c + * xvidcore/src/motion/gmc.c + * xvidcore/src/quant/quant_matrix.c + * xvidcore/src/xvid.h: Backporting patches from HEAD + +2019-01-17 10:33 Isibaar + * xvidcore/src/nasm.inc: always use .text for machine (Patch + by Peter Ross) + 2017-07-12 08:23 Isibaar * xvidcore/vfw/src/codec.c: Re-add support to decode raw YV12 input FourCC video
View file
xvidcore-1.3.5.tar.bz2/build/generic/configure -> xvidcore-1.3.7.tar.bz2/build/generic/configure
Changed
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Xvid 1.3.5. +# Generated by GNU Autoconf 2.69 for Xvid 1.3.7. # # Report bugs to <xvid-devel@xvid.org>. # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='Xvid' PACKAGE_TARNAME='xvid' -PACKAGE_VERSION='1.3.5' -PACKAGE_STRING='Xvid 1.3.5' +PACKAGE_VERSION='1.3.7' +PACKAGE_STRING='Xvid 1.3.7' PACKAGE_BUGREPORT='xvid-devel@xvid.org' PACKAGE_URL='' @@ -1277,7 +1277,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 Xvid 1.3.5 to adapt to many kinds of systems. +\`configure' configures Xvid 1.3.7 to adapt to many kinds of systems. Usage: $0 OPTION... VAR=VALUE... @@ -1343,7 +1343,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Xvid 1.3.5:";; + short | recursive ) echo "Configuration of Xvid 1.3.7:";; esac cat <<\_ACEOF @@ -1434,7 +1434,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Xvid configure 1.3.5 +Xvid configure 1.3.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1919,7 +1919,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Xvid $as_me 1.3.5, which was +It was created by Xvid $as_me 1.3.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -5617,7 +5617,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Xvid $as_me 1.3.5, which was +This file was extended by Xvid $as_me 1.3.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5670,7 +5670,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/\\""\`\$/\\\\&/g'`" ac_cs_version="\\ -Xvid config.status 1.3.5 +Xvid config.status 1.3.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\"
View file
xvidcore-1.3.5.tar.bz2/build/generic/configure.in -> xvidcore-1.3.7.tar.bz2/build/generic/configure.in
Changed
@@ -8,7 +8,7 @@ AC_PREREQ(2.50) -AC_INIT(Xvid, 1.3.5, xvid-devel@xvid.org) +AC_INIT(Xvid, 1.3.7, xvid-devel@xvid.org) AC_CONFIG_SRCDIR(configure.in) dnl Do not forget to increase that when needed.
View file
xvidcore-1.3.5.tar.bz2/src/bitstream/bitstream.c -> xvidcore-1.3.7.tar.bz2/src/bitstream/bitstream.c
Changed
@@ -20,7 +20,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: bitstream.c 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: bitstream.c 2180 2019-11-12 14:48:35Z Isibaar $ * ****************************************************************************/ @@ -153,6 +153,8 @@ READ_MARKER(); if (dec->time_inc_bits) time_increment = (BitstreamGetBits(bs, dec->time_inc_bits)); /* vop_time_increment */ + else + time_increment = 0; READ_MARKER(); DPRINTF(XVID_DEBUG_HEADER,"time %i:%i\n", time_base, time_increment); @@ -398,7 +400,6 @@ uint32_t start_code; uint32_t time_incr = 0; int32_t time_increment = 0; - int resize = 0; while ((BitstreamPos(bs) >> 3) + 4 <= bs->length) { @@ -466,6 +467,7 @@ BitstreamSkip(bs, 32); /* video_object_start_code */ } else if ((start_code & ~VIDOBJLAY_START_CODE_MASK) == VIDOBJLAY_START_CODE) { + uint32_t width = 0, height = 0; DPRINTF(XVID_DEBUG_STARTCODE, "<video_object_layer>\n"); DPRINTF(XVID_DEBUG_HEADER, "vol id %i\n", start_code & VIDOBJLAY_START_CODE_MASK); @@ -566,8 +568,6 @@ if (dec->shape != VIDOBJLAY_SHAPE_BINARY_ONLY) { if (dec->shape == VIDOBJLAY_SHAPE_RECTANGULAR) { - uint32_t width, height; - READ_MARKER(); width = BitstreamGetBits(bs, 13); /* video_object_layer_width */ READ_MARKER(); @@ -576,18 +576,6 @@ DPRINTF(XVID_DEBUG_HEADER, "width %i\n", width); DPRINTF(XVID_DEBUG_HEADER, "height %i\n", height); - - if (dec->width != width || dec->height != height) - { - if (dec->fixed_dimensions) - { - DPRINTF(XVID_DEBUG_ERROR, "decoder width/height does not match bitstream\n"); - return -1; - } - resize = 1; - dec->width = width; - dec->height = height; - } } dec->interlacing = BitstreamGetBit(bs); @@ -764,7 +752,19 @@ } - return (resize ? -3 : -2 ); /* VOL */ + if (((width > 0) && (height > 0)) && (dec->width != width || dec->height != height)) + { + if (dec->fixed_dimensions) + { + DPRINTF(XVID_DEBUG_ERROR, "decoder width/height does not match bitstream\n"); + return -1; + } + dec->width = width; + dec->height = height; + return -3; + } + + return -2; /* VOL */ } else if (start_code == GRPOFVOP_START_CODE) { @@ -860,8 +860,9 @@ dec->shape == VIDOBJLAY_SHAPE_RECTANGULAR && (coding_type == P_VOP || coding_type == I_VOP)) { - if (BitstreamGetBit(bs)); + if (BitstreamGetBit(bs)) { DPRINTF(XVID_DEBUG_ERROR, "RRV not supported (anymore)\n"); + } } if (dec->shape != VIDOBJLAY_SHAPE_RECTANGULAR) { @@ -919,7 +920,7 @@ int i; - for (i = 0 ; i < dec->sprite_warping_points; i++) + for (i = 0 ; i < MIN(4, dec->sprite_warping_points); i++) { int length; int x = 0, y = 0; @@ -981,7 +982,7 @@ } else if (start_code == USERDATA_START_CODE) { char tmp256; - int i, version, build; + int i, version = 0, build = 0; char packed; BitstreamSkip(bs, 32); /* user_data_start_code */ @@ -989,7 +990,7 @@ memset(tmp, 0, 256); tmp0 = BitstreamShowBits(bs, 8); - for(i = 1; i < 256; i++){ + for(i = 1; i < 255; i++){ tmpi = (BitstreamShowBits(bs, 16) & 0xFF); if(tmpi == 0)
View file
xvidcore-1.3.5.tar.bz2/src/bitstream/bitstream.h -> xvidcore-1.3.7.tar.bz2/src/bitstream/bitstream.h
Changed
@@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: bitstream.h 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: bitstream.h 2180 2019-11-12 14:48:35Z Isibaar $ * ****************************************************************************/ @@ -171,7 +171,9 @@ the end of the buffer. Padding might be appropriate. If only chunks of 4bytes are applicable, define XVID_SAFE_BS_TAIL. Note that this will slow decoding, so consider this as a last-resort solution */ -/* #define XVID_SAFE_BS_TAIL */ +#ifndef XVID_HAVE_PADDED_BS_BUFFER +#define XVID_SAFE_BS_TAIL +#endif /* initialise bitstream structure */
View file
xvidcore-1.3.5.tar.bz2/src/bitstream/mbcoding.c -> xvidcore-1.3.7.tar.bz2/src/bitstream/mbcoding.c
Changed
@@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: mbcoding.c 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: mbcoding.c 2180 2019-11-12 14:48:35Z Isibaar $ * ****************************************************************************/ @@ -901,8 +901,8 @@ index -= 4; - BitstreamSkip(bs, TMNMVtab2index.len); - return TMNMVtab2index.code; + BitstreamSkip(bs, TMNMVtab2index&0x7f.len); + return TMNMVtab2index&0x7f.code; } @@ -1965,7 +1965,8 @@ {14, 10}, {14, 10}, {14, 10}, {14, 10}, {-14, 10}, {-14, 10}, {-14, 10}, {-14, 10}, {13, 10}, {13, 10}, {13, 10}, {13, 10}, - {-13, 10}, {-13, 10}, {-13, 10}, {-13, 10} + {-13, 10}, {-13, 10}, {-13, 10}, {-13, 10}, + {0, 0}, {0, 0}, {0, 0}, {0, 0} }; short const dc_threshold = {
View file
xvidcore-1.3.5.tar.bz2/src/decoder.c -> xvidcore-1.3.7.tar.bz2/src/decoder.c
Changed
@@ -20,7 +20,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: decoder.c 2130 2016-01-08 17:40:12Z Isibaar $ + * $Id: decoder.c 2180 2019-11-12 14:48:35Z Isibaar $ * ****************************************************************************/ @@ -149,6 +149,7 @@ int decoder_create(xvid_dec_create_t * create) { + int ret = 0; DECODER *dec; if (XVID_VERSION_MAJOR(create->version) != 1) /* v1.x.x */ @@ -169,8 +170,8 @@ create->handle = dec; - dec->width = create->width; - dec->height = create->height; + dec->width = MAX(0, create->width); + dec->height = MAX(0, create->height); dec->num_threads = MAX(0, create->num_threads); @@ -209,13 +210,10 @@ dec->fixed_dimensions = (dec->width > 0 && dec->height > 0); - if (dec->fixed_dimensions) { - int ret = decoder_resize(dec); - if (ret == XVID_ERR_MEMORY) create->handle = NULL; - return ret; - } - else - return 0; + ret = decoder_resize(dec); + if (ret == XVID_ERR_MEMORY) create->handle = NULL; + + return ret; } @@ -266,7 +264,7 @@ uint32_t stride2 = stride / 2; uint32_t next_block = stride * 8; uint32_t i; - uint32_t iQuant = pMB->quant; + uint32_t iQuant = MAX(1, pMB->quant); uint8_t *pY_Cur, *pU_Cur, *pV_Cur; pY_Cur = dec->cur.y + (y_pos << 4) * stride + (x_pos << 4); @@ -363,7 +361,7 @@ int stride = dec->edged_width; int i; - const uint32_t iQuant = pMB->quant; + const uint32_t iQuant = MAX(1, pMB->quant); const int direction = dec->alternate_vertical_scan ? 2 : 0; typedef void (*get_inter_block_function_t)( Bitstream * bs, @@ -1540,9 +1538,11 @@ img = &dec->tmp; } - image_output(img, dec->width, dec->height, - dec->edged_width, (uint8_t**)frame->output.plane, frame->output.stride, - frame->output.csp, dec->interlacing); + if ((frame->output.plane0 != NULL) && (frame->output.stride0 >= dec->width)) { + image_output(img, dec->width, dec->height, + dec->edged_width, (uint8_t**)frame->output.plane, frame->output.stride, + frame->output.csp, dec->interlacing); + } if (stats) { stats->type = coding2type(coding_type); @@ -1565,19 +1565,20 @@ { Bitstream bs; - uint32_t rounding; + uint32_t rounding = 0; uint32_t quant = 2; - uint32_t fcode_forward; - uint32_t fcode_backward; - uint32_t intra_dc_threshold; + uint32_t fcode_forward = 0; + uint32_t fcode_backward = 0; + uint32_t intra_dc_threshold = 0; WARPPOINTS gmc_warp; - int coding_type; + int coding_type = -1; int success, output, seen_something; if (XVID_VERSION_MAJOR(frame->version) != 1 || (stats && XVID_VERSION_MAJOR(stats->version) != 1)) /* v1.x.x */ return XVID_ERR_VERSION; start_global_timer(); + memset((void *)&gmc_warp, 0, sizeof(WARPPOINTS)); dec->low_delay_default = (frame->general & XVID_LOWDELAY); if ((frame->general & XVID_DISCONTINUITY)) @@ -1664,7 +1665,7 @@ goto repeat; } - if(dec->frames == 0 && coding_type != I_VOP) { + if((dec->frames == 0 && coding_type != I_VOP) || (!dec->width || !dec->height)) { /* 1st frame is not an i-vop */ goto repeat; }
View file
xvidcore-1.3.5.tar.bz2/src/global.h -> xvidcore-1.3.7.tar.bz2/src/global.h
Changed
@@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: global.h 2057 2011-12-30 13:04:28Z Isibaar $ + * $Id: global.h 2180 2019-11-12 14:48:35Z Isibaar $ * ****************************************************************************/ @@ -81,7 +81,7 @@ typedef struct { - VECTOR duv3; + VECTOR duv4; } WARPPOINTS;
View file
xvidcore-1.3.5.tar.bz2/src/image/colorspace.c -> xvidcore-1.3.7.tar.bz2/src/image/colorspace.c
Changed
@@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: colorspace.c 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: colorspace.c 2180 2019-11-12 14:48:35Z Isibaar $ * ****************************************************************************/ @@ -102,6 +102,7 @@ int y_dif = y_stride - fixed_width; \ int uv_dif = uv_stride - (fixed_width / 2); \ int x, y; \ + if ((x_ptr == NULL) || (x_dif < 0)) return; \ if (vflip) { \ x_ptr += (height - 1) * x_stride; \ x_dif = -(SIZE)*fixed_width - x_stride; \
View file
xvidcore-1.3.5.tar.bz2/src/image/image.c -> xvidcore-1.3.7.tar.bz2/src/image/image.c
Changed
@@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: image.c 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: image.c 2172 2019-01-17 14:24:50Z Isibaar $ * ****************************************************************************/ @@ -415,10 +415,10 @@ /* packed conversions require height to be divisable by 2 (or even by 4 for interlaced conversion) */ - if (interlacing) - height_opt = height & (~3); - else - height_opt = height & (~1); + if (interlacing) + height_opt = height & (~3); + else + height_opt = height & (~1); func_opt(x_ptr, x_stride, y_ptr, u_ptr, v_ptr, y_stride, uv_stride,
View file
xvidcore-1.3.5.tar.bz2/src/motion/gmc.c -> xvidcore-1.3.7.tar.bz2/src/motion/gmc.c
Changed
@@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: gmc.c 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: gmc.c 2180 2019-11-12 14:48:35Z Isibaar $ * ****************************************************************************/ @@ -269,7 +269,7 @@ { const int W = This->sW; const int H = This->sH; - const int rho = 3-This->accuracy; + const int rho = 3-MIN(This->accuracy, 3); const int32_t Rounder = ( 128 - (rounding<<(2*rho)) ) << 16;
View file
xvidcore-1.3.5.tar.bz2/src/nasm.inc -> xvidcore-1.3.7.tar.bz2/src/nasm.inc
Changed
@@ -1,221 +1,213 @@ -;/**************************************************************************** -; * -; * XVID MPEG-4 VIDEO CODEC -; * - NASM common header - -; * -; * Copyright (C) 2008 Michael Militzer -; * -; * This program is free software ; you can redistribute it and/or modify -; * it under the terms of the GNU General Public License as published by -; * the Free Software Foundation ; either version 2 of the License, or -; * (at your option) any later version. -; * -; * This program is distributed in the hope that it will be useful, -; * but WITHOUT ANY WARRANTY ; without even the implied warranty of -; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; * GNU General Public License for more details. -; * -; * You should have received a copy of the GNU General Public License -; * along with this program ; if not, write to the Free Software -; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -; * -; * $Id: nasm.inc,v 1.7.2.2 2011-02-25 12:40:25 Isibaar Exp $ -; * -; ***************************************************************************/ - -%ifdef ARCH_IS_X86_64 - -BITS 64 -DEFAULT REL - -%define SECTION_ALIGN 32 - -%ifdef WINDOWS - -%define prm1 rcx -%define prm2 rdx -%define prm3 r8 -%define prm4 r9 -%define prm5 rsp+40 -%define prm6 rsp+48 -%define prm7 rsp+56 -%define prm8 rsp+64 - -%define prm1d ecx -%define prm2d edx -%define prm3d r8d -%define prm4d r9d -%define prm5d dword prm5 -%define prm6d dword prm6 -%define prm7d dword prm7 -%define prm8d dword prm8 - -%macro PUSH_XMM6_XMM7 0 - movdqa _ESP+PTR_SIZE, xmm6 - movdqa _ESP+PTR_SIZE+16, xmm7 -%endmacro - -%macro POP_XMM6_XMM7 0 - movdqa xmm6, _ESP+PTR_SIZE - movdqa xmm7, _ESP+PTR_SIZE+16 -%endmacro - -%else ; Linux - -%define prm1 rdi -%define prm2 rsi -%define prm3 rdx -%define prm4 rcx -%define prm5 r8 -%define prm6 r9 -%define prm7 rsp+8 -%define prm8 rsp+16 - -%define prm1d edi -%define prm2d esi -%define prm3d edx -%define prm4d ecx -%define prm5d r8d -%define prm6d r9d -%define prm7d dword prm7 -%define prm8d dword prm8 - -%define PUSH_XMM6_XMM7 -%define POP_XMM6_XMM7 - -%endif - -%define _EAX rax -%define _EBX rbx -%define _ECX rcx -%define _EDX rdx -%define _ESI rsi -%define _EDI rdi -%define _EBP rbp -%define _ESP rsp - -%define TMP0 r10 -%define TMP1 r11 - -%define TMP0d r10d -%define TMP1d r11d - -%define PTR_SIZE 8 -%define PTR_TYPE qword - -%ifdef __YASM_VERSION_ID__ -%define XVID_MOVSXD movsxd -%else -%define XVID_MOVSXD movsx -%endif - -%else - -%define SECTION_ALIGN 16 - -BITS 32 - -%define prm1 esp + 4 -%define prm2 esp + 8 -%define prm3 esp + 12 -%define prm4 esp + 16 -%define prm5 esp + 20 -%define prm6 esp + 24 -%define prm7 esp + 28 -%define prm8 esp + 32 - -%define prm1d dword prm1 -%define prm2d dword prm2 -%define prm3d dword prm3 -%define prm4d dword prm4 -%define prm5d dword prm5 -%define prm6d dword prm6 -%define prm7d dword prm7 -%define prm8d dword prm8 - -%define _EAX eax -%define _EBX ebx -%define _ECX ecx -%define _EDX edx -%define _ESI esi -%define _EDI edi -%define _EBP ebp -%define _ESP esp - -%define TMP0 ecx -%define TMP1 edx - -%define TMP0d ecx -%define TMP1d edx - -%define PTR_SIZE 4 -%define PTR_TYPE dword - -%define PUSH_XMM6_XMM7 -%define POP_XMM6_XMM7 - -%define XVID_MOVSXD movsx -%endif - - -%ifdef WINDOWS - %define PREFIX -%endif - -%ifdef NO_PREFIX - %undef PREFIX -%endif - -%macro DATA 0 - %ifdef FORMAT_COFF - SECTION .rodata - %else - SECTION .rodata align=SECTION_ALIGN - %endif -%endmacro - -%macro TEXT 0 -%ifidn __OUTPUT_FORMAT__,macho32 - SECTION .text align=SECTION_ALIGN -%else -%ifidn __OUTPUT_FORMAT__,macho64 - SECTION .text align=SECTION_ALIGN -%else - SECTION .rotext align=SECTION_ALIGN -%endif -%endif -%endmacro - -%macro cglobal 1 - %ifdef PREFIX - %ifdef MARK_FUNCS - global _%1:function %1.endfunc-%1 - %define %1 _%1:function %1.endfunc-%1 - %define ENDFUNC .endfunc: - %else - global _%1 - %define %1 _%1 - %define ENDFUNC - %endif - %else - %ifdef MARK_FUNCS - global %1:function %1.endfunc-%1 - %define ENDFUNC .endfunc: - %else - global %1 - %define ENDFUNC - %endif - %endif -%endmacro - -%macro NON_EXEC_STACK 0 -%ifidn __OUTPUT_FORMAT__,elf -section .note.GNU-stack noalloc noexec nowrite progbits -%endif -%ifidn __OUTPUT_FORMAT__,elf32 -section .note.GNU-stack noalloc noexec nowrite progbits -%endif -%ifidn __OUTPUT_FORMAT__,elf64 -section .note.GNU-stack noalloc noexec nowrite progbits -%endif -%endmacro +;/**************************************************************************** +; * +; * XVID MPEG-4 VIDEO CODEC +; * - NASM common header - +; * +; * Copyright (C) 2008 Michael Militzer +; * +; * This program is free software ; you can redistribute it and/or modify +; * it under the terms of the GNU General Public License as published by +; * the Free Software Foundation ; either version 2 of the License, or +; * (at your option) any later version. +; * +; * This program is distributed in the hope that it will be useful, +; * but WITHOUT ANY WARRANTY ; without even the implied warranty of +; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; * GNU General Public License for more details. +; * +; * You should have received a copy of the GNU General Public License +; * along with this program ; if not, write to the Free Software +; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; * +; * $Id: nasm.inc,v 1.7.2.2 2011-02-25 12:40:25 Isibaar Exp $ +; * +; ***************************************************************************/ + +%ifdef ARCH_IS_X86_64 + +BITS 64 +DEFAULT REL + +%define SECTION_ALIGN 32 + +%ifdef WINDOWS + +%define prm1 rcx +%define prm2 rdx +%define prm3 r8 +%define prm4 r9 +%define prm5 rsp+40 +%define prm6 rsp+48 +%define prm7 rsp+56 +%define prm8 rsp+64 + +%define prm1d ecx +%define prm2d edx +%define prm3d r8d +%define prm4d r9d +%define prm5d dword prm5 +%define prm6d dword prm6 +%define prm7d dword prm7 +%define prm8d dword prm8 + +%macro PUSH_XMM6_XMM7 0 + movdqa _ESP+PTR_SIZE, xmm6 + movdqa _ESP+PTR_SIZE+16, xmm7 +%endmacro + +%macro POP_XMM6_XMM7 0 + movdqa xmm6, _ESP+PTR_SIZE + movdqa xmm7, _ESP+PTR_SIZE+16 +%endmacro + +%else ; Linux + +%define prm1 rdi +%define prm2 rsi +%define prm3 rdx +%define prm4 rcx +%define prm5 r8 +%define prm6 r9 +%define prm7 rsp+8 +%define prm8 rsp+16 + +%define prm1d edi +%define prm2d esi +%define prm3d edx +%define prm4d ecx +%define prm5d r8d +%define prm6d r9d +%define prm7d dword prm7 +%define prm8d dword prm8 + +%define PUSH_XMM6_XMM7 +%define POP_XMM6_XMM7 + +%endif + +%define _EAX rax +%define _EBX rbx +%define _ECX rcx +%define _EDX rdx +%define _ESI rsi +%define _EDI rdi +%define _EBP rbp +%define _ESP rsp + +%define TMP0 r10 +%define TMP1 r11 + +%define TMP0d r10d +%define TMP1d r11d + +%define PTR_SIZE 8 +%define PTR_TYPE qword + +%ifdef __YASM_VERSION_ID__ +%define XVID_MOVSXD movsxd +%else +%define XVID_MOVSXD movsx +%endif + +%else + +%define SECTION_ALIGN 16 + +BITS 32 + +%define prm1 esp + 4 +%define prm2 esp + 8 +%define prm3 esp + 12 +%define prm4 esp + 16 +%define prm5 esp + 20 +%define prm6 esp + 24 +%define prm7 esp + 28 +%define prm8 esp + 32 + +%define prm1d dword prm1 +%define prm2d dword prm2 +%define prm3d dword prm3 +%define prm4d dword prm4 +%define prm5d dword prm5 +%define prm6d dword prm6 +%define prm7d dword prm7 +%define prm8d dword prm8 + +%define _EAX eax +%define _EBX ebx +%define _ECX ecx +%define _EDX edx +%define _ESI esi +%define _EDI edi +%define _EBP ebp +%define _ESP esp + +%define TMP0 ecx +%define TMP1 edx + +%define TMP0d ecx +%define TMP1d edx + +%define PTR_SIZE 4 +%define PTR_TYPE dword + +%define PUSH_XMM6_XMM7 +%define POP_XMM6_XMM7 + +%define XVID_MOVSXD movsx +%endif + + +%ifdef WINDOWS + %define PREFIX +%endif + +%ifdef NO_PREFIX + %undef PREFIX +%endif + +%macro DATA 0 + %ifdef FORMAT_COFF + SECTION .rodata + %else + SECTION .rodata align=SECTION_ALIGN + %endif +%endmacro + +%macro TEXT 0 + SECTION .text align=SECTION_ALIGN +%endmacro + +%macro cglobal 1 + %ifdef PREFIX + %ifdef MARK_FUNCS + global _%1:function %1.endfunc-%1 + %define %1 _%1:function %1.endfunc-%1 + %define ENDFUNC .endfunc: + %else + global _%1 + %define %1 _%1 + %define ENDFUNC + %endif + %else + %ifdef MARK_FUNCS + global %1:function %1.endfunc-%1 + %define ENDFUNC .endfunc: + %else + global %1 + %define ENDFUNC + %endif + %endif +%endmacro + +%macro NON_EXEC_STACK 0 +%ifidn __OUTPUT_FORMAT__,elf +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf32 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf64 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%endmacro
View file
xvidcore-1.3.5.tar.bz2/src/quant/quant_matrix.c -> xvidcore-1.3.7.tar.bz2/src/quant/quant_matrix.c
Changed
@@ -20,10 +20,11 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: quant_matrix.c 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: quant_matrix.c 2188 2019-12-28 09:43:50Z Isibaar $ * ****************************************************************************/ +#include "../global.h" #include "quant_matrix.h" #define FIX(X) (((X)==1) ? 0xFFFF : ((1UL << 16) / (X) + 1)) @@ -114,7 +115,7 @@ uint16_t *intra_matrix = mpeg_quant_matrices + 0*64; for (i = 0; i < 64; i++) { - intra_matrixi = (!i) ? (uint16_t)8: (uint16_t)matrixi; + intra_matrixi = (!i) ? (uint16_t)8: (uint16_t)MAX(1, matrixi); } } @@ -141,7 +142,7 @@ uint16_t *inter_matrix_fixl = mpeg_quant_matrices + 7*64; for (i = 0; i < 64; i++) { - inter_matrix1i = ((inter_matrixi = (int16_t) matrixi)>>1); + inter_matrix1i = ((inter_matrixi = (int16_t)MAX(1, matrixi)) >> 1); inter_matrix1i += ((inter_matrixi == 1) ? 1: 0); inter_matrix_fixi = (uint16_t) FIX(inter_matrixi); inter_matrix_fixli = (uint16_t) FIXL(inter_matrixi);
View file
xvidcore-1.3.5.tar.bz2/src/xvid.c -> xvidcore-1.3.7.tar.bz2/src/xvid.c
Changed
@@ -20,7 +20,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: xvid.c 2130 2016-01-08 17:40:12Z Isibaar $ + * $Id: xvid.c 2190 2019-12-28 09:56:26Z Isibaar $ * ****************************************************************************/ @@ -699,7 +699,7 @@ return XVID_ERR_VERSION; info->actual_version = XVID_VERSION; - info->build = "xvid-1.3.5"; + info->build = "xvid-1.3.7"; info->cpu_flags = detect_cpu_flags(); info->num_threads = 0; /* single-thread */
View file
xvidcore-1.3.5.tar.bz2/src/xvid.h -> xvidcore-1.3.7.tar.bz2/src/xvid.h
Changed
@@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: xvid.h 2130 2016-01-08 17:40:12Z Isibaar $ + * $Id: xvid.h 2190 2019-12-28 09:56:26Z Isibaar $ * ****************************************************************************/ @@ -57,7 +57,7 @@ #define XVID_API_MAJOR(a) (((a)>>16) & 0xff) #define XVID_API_MINOR(a) (((a)>> 0) & 0xff) -#define XVID_VERSION XVID_MAKE_VERSION(1,3,5) +#define XVID_VERSION XVID_MAKE_VERSION(1,3,7) #define XVID_API XVID_MAKE_API(4, 3) /* Bitstream Version @@ -71,7 +71,7 @@ * doesnt hurt but not increasing it could cause difficulty for decoders in the * future */ -#define XVID_BS_VERSION 67 +#define XVID_BS_VERSION 69 /***************************************************************************** * error codes @@ -447,8 +447,8 @@ int sse_v; /* out V plane's sse */ /* End of duplicated data, kept only for binary compatibility */ - int bquant_ratio; /* in */ - int bquant_offset; /* in */ + int bquant_ratio; /* out */ + int bquant_offset; /* out */ xvid_enc_stats_t stats; /* out frame statistics */ } xvid_plg_data_t;
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
.