Projects
Essentials
xvid
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 10
View file
xvidcore.changes
Changed
@@ -1,4 +1,13 @@ ------------------------------------------------------------------- +Sat Jan 27 13:46:30 UTC 2018 - zaitor@opensuse.org + +- Update to version 1.3.5: + + AmigaOS build patch. + + Support for applevel multithreading mode also for AVI output in + xvid_encraw. + + Set interlacing flag in decoder correctly. + +------------------------------------------------------------------- Tue Dec 20 12:55:03 UTC 2016 - scarabeus@opensuse.org - Cleanup a bit with spec-cleaner
View file
xvidcore.spec
Changed
@@ -18,7 +18,7 @@ %define soname 4 Name: xvidcore -Version: 1.3.4 +Version: 1.3.5 Release: 0 Summary: Xvid is a high quality MPEG-4 ASP video codec License: GPL-2.0+
View file
xvidcore-1.3.4.tar.bz2/ChangeLog -> xvidcore-1.3.5.tar.bz2/ChangeLog
Changed
@@ -1,5 +1,46 @@ # Note that this ChangeLog covers only main changes to the release branch +2017-07-12 08:23 Isibaar + * xvidcore/vfw/src/codec.c: Re-add support to decode raw YV12 + input FourCC video + +2017-01-27 13:43 Isibaar + * xvidcore/dshow/src/CXvidDecoder.cpp: Fix output buffer stride + calculation in MFT + +2016-10-18 22:01 Isibaar + * xvidcore/src/portab.h: AmigaOS patch by Fredrik Wikstrom. + +2016-10-18 22:01 Isibaar + * xvidcore/build/generic/configure.in: AmigaOS patch by Fredrik + Wikstrom. + +2016-09-27 15:39 Isibaar + * xvidcore/vfw/src/codec.c: Debug output only when debug option + enabled. + +2016-01-12 13:55 Isibaar + * xvidcore/dshow/src/CXvidDecoder.cpp: MFT pixel aspect ratio - + backport from HEAD + +2016-01-11 17:02 Isibaar + * xvidcore/dshow/src/CXvidDecoder.cpp: Setting interlaced flag + on output pins - backport from HEAD + +2016-01-08 17:44 Isibaar + * xvidcore/dshow/src/CXvidDecoder.cpp + xvidcore/dshow/src/CXvidDecoder.h: Set interlacing flags in + VIDEOINFOHEADER2 struct of output pin + +2016-01-08 17:40 Isibaar + * xvidcore/src/decoder.c + xvidcore/src/xvid.c + xvidcore/src/xvid.h: Set interlacing flags in decoder + +2015-07-08 17:32 Isibaar + * xvidcore/examples/xvid_encraw.c: Making the applevel + multithreading work also for AVI output + 2015-06-14 21:18 Isibaar * xvidcore/dshow/src/CXvidDecoder.cpp xvidcore/dshow/src/CXvidDecoder.h
View file
xvidcore-1.3.4.tar.bz2/build/generic/configure -> xvidcore-1.3.5.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.4. +# Generated by GNU Autoconf 2.69 for Xvid 1.3.5. # # 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.4' -PACKAGE_STRING='Xvid 1.3.4' +PACKAGE_VERSION='1.3.5' +PACKAGE_STRING='Xvid 1.3.5' 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.4 to adapt to many kinds of systems. +\`configure' configures Xvid 1.3.5 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.4:";; + short | recursive ) echo "Configuration of Xvid 1.3.5:";; 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.4 +Xvid configure 1.3.5 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.4, which was +It was created by Xvid $as_me 1.3.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4343,6 +4343,13 @@ STATIC_EXTENSION="a" OBJECT_EXTENSION="o" ;; + amigaos) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: .so .a .o" >&5 + $as_echo ".so .a .o" >&6; } + STATIC_EXTENSION="a" + SHARED_EXTENSION="so" + OBJECT_EXTENSION="o" + ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: Unknown OS - Using .so .a .o" >&5 $as_echo "Unknown OS - Using .so .a .o" >&6; } @@ -4414,6 +4421,16 @@ SPECIFIC_LDFLAGS="-nostart" SPECIFIC_CFLAGS="-fPIC" ;; + amigaos) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 + $as_echo "ok" >&6; } + STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)" + SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)" + SO_API_MAJOR_LINK="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)" + SO_LINK="libxvidcore.\$(SHARED_EXTENSION)" + SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm" + SPECIFIC_CFLAGS="-fPIC" + ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: Unknown Platform (Using default -shared -lc -lm)" >&5 $as_echo "Unknown Platform (Using default -shared -lc -lm)" >&6; } @@ -5600,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.4, which was +This file was extended by Xvid $as_me 1.3.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5653,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.4 +Xvid config.status 1.3.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\"
View file
xvidcore-1.3.4.tar.bz2/build/generic/configure.in -> xvidcore-1.3.5.tar.bz2/build/generic/configure.in
Changed
@@ -8,7 +8,7 @@ AC_PREREQ([2.50]) -AC_INIT([Xvid], [1.3.4], [xvid-devel@xvid.org]) +AC_INIT([Xvid], [1.3.5], [xvid-devel@xvid.org]) AC_CONFIG_SRCDIR(configure.in) dnl Do not forget to increase that when needed. @@ -272,6 +272,13 @@ STATIC_EXTENSION="a" OBJECT_EXTENSION="o" ;; + amigaos) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: .so .a .o" >&5 + $as_echo ".so .a .o" >&6; } + STATIC_EXTENSION="a" + SHARED_EXTENSION="so" + OBJECT_EXTENSION="o" + ;; *) AC_MSG_RESULT([Unknown OS - Using .so .a .o]) STATIC_EXTENSION="a" @@ -341,6 +348,16 @@ SPECIFIC_LDFLAGS="-nostart" SPECIFIC_CFLAGS="-fPIC" ;; + amigaos) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 + $as_echo "ok" >&6; } + STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)" + SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)" + SO_API_MAJOR_LINK="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)" + SO_LINK="libxvidcore.\$(SHARED_EXTENSION)" + SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm" + SPECIFIC_CFLAGS="-fPIC" + ;; *) AC_MSG_RESULT([Unknown Platform (Using default -shared -lc -lm)]) STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
View file
xvidcore-1.3.4.tar.bz2/dshow/src/CXvidDecoder.cpp -> xvidcore-1.3.5.tar.bz2/dshow/src/CXvidDecoder.cpp
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: CXvidDecoder.cpp 2116 2015-06-15 13:00:46Z Isibaar $ + * $Id: CXvidDecoder.cpp 2156 2017-01-27 13:43:32Z Isibaar $ * ****************************************************************************/ @@ -319,6 +319,7 @@ m_tray_icon = 0; m_startClock = clock(); + interlaced = 0; #if defined(XVID_USE_MFT) InitializeCriticalSection(&m_mft_lock); @@ -728,6 +729,15 @@ vih->dwPictAspectRatioY = abs(m_create.height); forced_ar = false; } + if (interlaced) { + vih->dwInterlaceFlags = AMINTERLACE_IsInterlaced; + if (interlaced > 1) { + vih->dwInterlaceFlags |= AMINTERLACE_Field1First; + } + } + else { + vih->dwInterlaceFlags = 0; + } } else { VIDEOINFOHEADER * vih = (VIDEOINFOHEADER *) mtOut->ReallocFormatBuffer(sizeof(VIDEOINFOHEADER)); @@ -1141,30 +1151,49 @@ { DPRINTF("*** XVID_DEC_DECODE"); return S_FALSE; - } else - if (g_config.aspect_ratio == 0 || g_config.aspect_ratio == 1 && forced_ar == false) { + } else if ((g_config.aspect_ratio == 0 || g_config.aspect_ratio == 1 && forced_ar == false) || !!(interlaced)){ - if (stats.type != XVID_TYPE_NOTHING) { /* dont attempt to set vmr aspect ratio if no frame was returned by decoder */ - // inspired by minolta! works for VMR 7 + 9 - IMediaSample2 *pOut2 = NULL; - AM_SAMPLE2_PROPERTIES outProp2; - if (SUCCEEDED(pOut->QueryInterface(IID_IMediaSample2, (void **)&pOut2)) && - SUCCEEDED(pOut2->GetProperties(FIELD_OFFSET(AM_SAMPLE2_PROPERTIES, tStart), (PBYTE)&outProp2))) - { - CMediaType mtOut2 = m_pOutput->CurrentMediaType(); - VIDEOINFOHEADER2* vihOut2 = (VIDEOINFOHEADER2*)mtOut2.Format(); - - if (*mtOut2.FormatType() == FORMAT_VideoInfo2 && - vihOut2->dwPictAspectRatioX != ar_x && vihOut2->dwPictAspectRatioY != ar_y) + if (stats.type != XVID_TYPE_NOTHING) { /* dont attempt to set vmr aspect ratio if no frame was returned by decoder */ + // inspired by minolta! works for VMR 7 + 9 + IMediaSample2 *pOut2 = NULL; + AM_SAMPLE2_PROPERTIES outProp2; + if (SUCCEEDED(pOut->QueryInterface(IID_IMediaSample2, (void **)&pOut2)) && + SUCCEEDED(pOut2->GetProperties(FIELD_OFFSET(AM_SAMPLE2_PROPERTIES, tStart), (PBYTE)&outProp2))) { - vihOut2->dwPictAspectRatioX = ar_x; - vihOut2->dwPictAspectRatioY = ar_y; - pOut2->SetMediaType(&mtOut2); - m_pOutput->SetMediaType(&mtOut2); + CMediaType mtOut2 = m_pOutput->CurrentMediaType(); + VIDEOINFOHEADER2* vihOut2 = (VIDEOINFOHEADER2*)mtOut2.Format(); + + if (*mtOut2.FormatType() == FORMAT_VideoInfo2) + { + int need_format_change = 0; + + if (vihOut2->dwPictAspectRatioX != ar_x || vihOut2->dwPictAspectRatioY != ar_y) + { + vihOut2->dwPictAspectRatioX = ar_x; + vihOut2->dwPictAspectRatioY = ar_y; + need_format_change = 1; + } + if ((interlaced) && !(vihOut2->dwInterlaceFlags & AMINTERLACE_IsInterlaced)) + { + vihOut2->dwInterlaceFlags = AMINTERLACE_IsInterlaced; + if (interlaced > 2) { + vihOut2->dwInterlaceFlags |= AMINTERLACE_Field1First; + } + need_format_change = 1; + } + else if (!interlaced && !!(vihOut2->dwInterlaceFlags & AMINTERLACE_IsInterlaced)){ + vihOut2->dwInterlaceFlags = 0; + need_format_change = 1; + } + + if (need_format_change) { + pOut2->SetMediaType(&mtOut2); + m_pOutput->SetMediaType(&mtOut2); + } + } + pOut2->Release(); } - pOut2->Release(); } - } } } else @@ -1224,6 +1253,13 @@ ar_y = par_y * stats.data.vol.height; } + if (!!(stats.data.vol.general & XVID_VOL_INTERLACING)) { + interlaced = (stats.data.vop.general & XVID_VOP_TOPFIELDFIRST) ? 2 : 1; + } + else if (interlaced > 0) { + interlaced = 0; + } + m_frame.bitstream = (BYTE*)m_frame.bitstream + length; m_frame.length -= length; goto repeat; @@ -1583,7 +1619,15 @@ } if (SUCCEEDED(hr)) { - hr = pOutputType->SetUINT32(MF_MT_INTERLACE_MODE, MFVideoInterlace_Progressive); + if (interlaced > 1) { + hr = pOutputType->SetUINT32(MF_MT_INTERLACE_MODE, MFVideoInterlace_FieldInterleavedUpperFirst); + } + else if (interlaced) { + hr = pOutputType->SetUINT32(MF_MT_INTERLACE_MODE, MFVideoInterlace_FieldInterleavedLowerFirst); + } + else { + hr = pOutputType->SetUINT32(MF_MT_INTERLACE_MODE, MFVideoInterlace_Progressive); + } } if (SUCCEEDED(hr)) { @@ -1961,6 +2005,8 @@ HRESULT hr = S_OK; IMFMediaBuffer *pBuffer; + int need_format_change = 0; + if (SUCCEEDED(hr)) { hr = pSample->ConvertToContiguousBuffer(&pBuffer); } @@ -2044,9 +2090,21 @@ par_y = PARS[stats.data.vol.par-1][1]; } - ar_x = par_x * stats.data.vol.width; - ar_y = par_y * stats.data.vol.height; /* TODO: Actually set the newly determined AR on the output sample type - or it'll have no effect at all... */ + ar_x = par_x; + ar_y = par_y; + + need_format_change = 1; + } + + if (!!(stats.data.vol.general & XVID_VOL_INTERLACING)) { + interlaced = (stats.data.vop.general & XVID_VOP_TOPFIELDFIRST) ? 2 : 1; + need_format_change = 1; + } + else { + if (interlaced > 0) { + interlaced = 0; + need_format_change = 1; + } } m_frame.bitstream = (BYTE*)m_frame.bitstream + length; @@ -2075,6 +2133,33 @@ } } + if (need_format_change) { + IMFMediaType *pOutputType = NULL; + hr = MFTGetOutputCurrentType(0, &pOutputType); + + if (SUCCEEDED(hr)) { + if (interlaced > 1) { + hr = pOutputType->SetUINT32(MF_MT_INTERLACE_MODE, MFVideoInterlace_FieldInterleavedUpperFirst); + } + else if (interlaced) { + hr = pOutputType->SetUINT32(MF_MT_INTERLACE_MODE, MFVideoInterlace_FieldInterleavedLowerFirst); + } + else { + hr = pOutputType->SetUINT32(MF_MT_INTERLACE_MODE, MFVideoInterlace_Progressive); + } + } + + if (SUCCEEDED(hr)) { + hr = MFSetAttributeRatio(pOutputType, MF_MT_PIXEL_ASPECT_RATIO, ar_x, ar_y); + } + + if (SUCCEEDED(hr)) { + MFTSetOutputType(0, pOutputType, 0); + } + + if (pOutputType) pOutputType->Release(); + } + LeaveCriticalSection(&m_mft_lock);
View file
xvidcore-1.3.4.tar.bz2/dshow/src/CXvidDecoder.h -> xvidcore-1.3.5.tar.bz2/dshow/src/CXvidDecoder.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: CXvidDecoder.h 2114 2015-06-14 19:18:14Z Isibaar $ + * $Id: CXvidDecoder.h 2131 2016-01-08 17:44:53Z Isibaar $ * ****************************************************************************/ @@ -166,6 +166,7 @@ int (*xvid_global_func)(void *handle, int opt, void *param1, void *param2); int (*xvid_decore_func)(void *handle, int opt, void *param1, void *param2); int ar_x, ar_y; + int interlaced; bool forced_ar; int rgb_flip;
View file
xvidcore-1.3.4.tar.bz2/examples/xvid_encraw.c -> xvidcore-1.3.5.tar.bz2/examples/xvid_encraw.c
Changed
@@ -22,7 +22,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_encraw.c 2083 2014-04-08 20:20:17Z Isibaar $ + * $Id: xvid_encraw.c 2129 2015-07-08 17:32:58Z Isibaar $ * ****************************************************************************/ @@ -163,6 +163,8 @@ int stop_num; char *outfilename; /* output filename */ + char *outavifilename; /* output avi filename */ + char *outmkvfilename; /* output mkv filename */ char *statsfilename1; /* pass1 statsfile */ int input_num; @@ -998,9 +1000,12 @@ return (-1); } #ifdef USE_APP_LEVEL_THREADING - fseek(in_file, 0, SEEK_END); /* Determine input size */ - pos = ftell(in_file); - ARG_MAXFRAMENR = pos / IMAGE_SIZE(XDIM, YDIM); /* PGM, header size ?? */ + { + int pos; + fseek(in_file, 0, SEEK_END); /* Determine input size */ + pos = ftell(in_file); + ARG_MAXFRAMENR = pos / IMAGE_SIZE(XDIM, YDIM); /* PGM, header size ?? */ + } #endif fclose(in_file); } @@ -1031,8 +1036,7 @@ #ifdef USE_APP_LEVEL_THREADING if (ARG_INPUTFILE == NULL || strcmp(ARG_INPUTFILE, "stdin") == 0 || ARG_NUM_APP_THREADS <= 1 || ARG_THREADS != 0 || - ARG_TIMECODEFILE != NULL || ARG_AVIOUTPUTFILE != NULL || - ARG_INPUTTYPE == 1 || ARG_MKVOUTPUTFILE != NULL) /* TODO: PGM input */ + ARG_TIMECODEFILE != NULL || ARG_INPUTTYPE == 1) /* TODO: PGM input */ #endif /* Spawn just one encoder instance */ { enc_sequence_data_t enc_data; @@ -1042,6 +1046,8 @@ ARG_NUM_APP_THREADS = 1; enc_data.outfilename = ARG_OUTPUTFILE; + enc_data.outavifilename = ARG_AVIOUTPUTFILE; + enc_data.outmkvfilename = ARG_MKVOUTPUTFILE; enc_data.statsfilename1 = ARG_PASS1; enc_data.start_num = ARG_STARTFRAMENR; enc_data.stop_num = ARG_MAXFRAMENR; @@ -1064,6 +1070,8 @@ enc_sequence_data_t enc_data[MAX_ENC_INSTANCES]; char outfile[MAX_ENC_INSTANCES][256]; + char outavifile[MAX_ENC_INSTANCES][256]; + char outmkvfile[MAX_ENC_INSTANCES][256]; char statsfilename[MAX_ENC_INSTANCES][256]; for (k = 0; k < MAX_ENC_INSTANCES; k++) @@ -1078,13 +1086,34 @@ ARG_THREADS = -1; enc_data[0].outfilename = ARG_OUTPUTFILE; + enc_data[0].outavifilename = ARG_AVIOUTPUTFILE; + enc_data[0].outmkvfilename = ARG_MKVOUTPUTFILE; enc_data[0].statsfilename1 = ARG_PASS1; enc_data[0].start_num = ARG_STARTFRAMENR; enc_data[0].stop_num = (ARG_MAXFRAMENR-ARG_STARTFRAMENR)/ARG_NUM_APP_THREADS; for (k = 1; k < ARG_NUM_APP_THREADS; k++) { - sprintf(outfile[k], "%s.%03d", ARG_OUTPUTFILE, k); - enc_data[k].outfilename = outfile[k]; + if (ARG_OUTPUTFILE) { + sprintf(outfile[k], "%s.%03d", ARG_OUTPUTFILE, k); + enc_data[k].outfilename = outfile[k]; + } + else + enc_data[k].outfilename = NULL; + + if (ARG_AVIOUTPUTFILE) { + sprintf(outavifile[k], "%.*s_%03d.avi", strlen(ARG_AVIOUTPUTFILE) - 4, ARG_AVIOUTPUTFILE, k); + enc_data[k].outavifilename = outavifile[k]; + } + else + enc_data[k].outavifilename = NULL; + + if (ARG_MKVOUTPUTFILE) { + sprintf(outmkvfile[k], "%.*s_%03d.mkv", strlen(ARG_MKVOUTPUTFILE) - 4, ARG_MKVOUTPUTFILE, k); + enc_data[k].outmkvfilename = outmkvfile[k]; + } + else + enc_data[k].outmkvfilename = NULL; + if (ARG_PASS1) { sprintf(statsfilename[k], "%s.%03d", ARG_PASS1, k); enc_data[k].statsfilename1 = statsfilename[k]; @@ -1229,6 +1258,8 @@ int start_num = h->start_num; int stop_num = h->stop_num; char *outfilename = h->outfilename; + char *outavifilename = h->outavifilename; + char *outmkvfilename = h->outmkvfilename; float *totalPSNR = h->totalPSNR; int input_num; @@ -1445,13 +1476,13 @@ } #ifdef XVID_AVI_OUTPUT - if (ARG_AVIOUTPUTFILE != NULL ) { + if (outavifilename != NULL ) { { /* Open the .avi output then close it */ /* Resets the file size to 0, which AVIFile doesn't seem to do */ FILE *scrub; - if ((scrub = fopen(ARG_AVIOUTPUTFILE, "w+b")) == NULL) { - fprintf(stderr, "Error opening output file %s\n", ARG_AVIOUTPUTFILE); + if ((scrub = fopen(outavifilename, "w+b")) == NULL) { + fprintf(stderr, "Error opening output file %s\n", outavifilename); goto release_all; } else @@ -1462,12 +1493,12 @@ myAVIStreamInfo.fccHandler = MAKEFOURCC('x', 'v', 'i', 'd'); myAVIStreamInfo.dwScale = ARG_DWSCALE; myAVIStreamInfo.dwRate = ARG_DWRATE; - myAVIStreamInfo.dwLength = ARG_MAXFRAMENR; + myAVIStreamInfo.dwLength = (h->stop_num - h->start_num); myAVIStreamInfo.dwQuality = 10000; SetRect(&myAVIStreamInfo.rcFrame, 0, 0, XDIM, YDIM); - if ((avierr=AVIFileOpen(&myAVIFile, ARG_AVIOUTPUTFILE, OF_CREATE|OF_WRITE, NULL))) { - fprintf(stderr, "AVIFileOpen failed opening output file %s, error code %d\n", ARG_AVIOUTPUTFILE, avierr); + if ((avierr=AVIFileOpen(&myAVIFile, outavifilename, OF_CREATE|OF_WRITE, NULL))) { + fprintf(stderr, "AVIFileOpen failed opening output file %s, error code %d\n", outavifilename, avierr); goto release_all; } @@ -1491,20 +1522,20 @@ } #endif #ifdef XVID_MKV_OUTPUT - if (ARG_MKVOUTPUTFILE != NULL) { + if (outmkvfilename != NULL) { { /* Open the .mkv output then close it */ /* Just to make sure we can write to it */ FILE *scrub; - if ((scrub = fopen(ARG_MKVOUTPUTFILE, "w+b")) == NULL) { - fprintf(stderr, "Error opening output file %s\n", ARG_MKVOUTPUTFILE); + if ((scrub = fopen(outmkvfilename, "w+b")) == NULL) { + fprintf(stderr, "Error opening output file %s\n", outmkvfilename); goto release_all; } else fclose(scrub); } - MKVFileOpen(&myMKVFile, ARG_MKVOUTPUTFILE, OF_CREATE|OF_WRITE, NULL); + MKVFileOpen(&myMKVFile, outmkvfilename, OF_CREATE|OF_WRITE, NULL); if (ARG_PAR) { myMKVStreamInfo.display_height = YDIM*height_ratios[ARG_PAR]; myMKVStreamInfo.display_width = XDIM*width_ratios[ARG_PAR]; @@ -1517,7 +1548,7 @@ myMKVStreamInfo.width = XDIM; myMKVStreamInfo.framerate = ARG_DWRATE; myMKVStreamInfo.framescale = ARG_DWSCALE; - myMKVStreamInfo.length = ARG_MAXFRAMENR; + myMKVStreamInfo.length = (h->stop_num - h->start_num); MKVFileCreateStream(myMKVFile, &myMKVStream, &myMKVStreamInfo); } #endif @@ -1557,7 +1588,7 @@ else in_buffer += ((DWORD*)in_buffer)[0]; } else { - if(AVIStreamRead(avi_in_stream, input_num+start_num, 1, in_buffer, 4*XDIM*YDIM, NULL, NULL ) != AVIERR_OK) + if (AVIStreamRead(avi_in_stream, input_num + start_num, 1, in_buffer, 4 * XDIM*YDIM, NULL, NULL) != AVIERR_OK) result = 1; } } else @@ -1683,7 +1714,7 @@ } } else - sprintf(timecode, "%f", ((double)ARG_DWSCALE/ARG_DWRATE)*1000*output_num); + sprintf(timecode, "%f", ((double)ARG_DWSCALE/ARG_DWRATE)*1000*(output_num-start_num)); /* Save single files */ if (ARG_SAVEINDIVIDUAL) { @@ -1694,11 +1725,11 @@ fclose(out); } #ifdef XVID_AVI_OUTPUT - if (ARG_AVIOUTPUTFILE && myAVIStream) { + if (outavifilename && myAVIStream) { int output_frame;
View file
xvidcore-1.3.4.tar.bz2/src/decoder.c -> xvidcore-1.3.5.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 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: decoder.c 2130 2016-01-08 17:40:12Z Isibaar $ * ****************************************************************************/ @@ -1647,9 +1647,13 @@ if(stats) { stats->type = XVID_TYPE_VOL; stats->data.vol.general = 0; - /*XXX: if (dec->interlacing) - stats->data.vol.general |= ++INTERLACING; */ - stats->data.vol.width = dec->width; + stats->data.vop.general = 0; + if (dec->interlacing) { + stats->data.vol.general |= XVID_VOL_INTERLACING; + if (dec->top_field_first) { + stats->data.vop.general |= XVID_VOP_TOPFIELDFIRST; + } + } stats->data.vol.width = dec->width; stats->data.vol.height = dec->height; stats->data.vol.par = dec->aspect_ratio; stats->data.vol.par_width = dec->par_width;
View file
xvidcore-1.3.4.tar.bz2/src/portab.h -> xvidcore-1.3.5.tar.bz2/src/portab.h
Changed
@@ -21,7 +21,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: portab.h 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: portab.h 2145 2016-10-18 22:01:13Z Isibaar $ * ****************************************************************************/ @@ -90,8 +90,15 @@ #elif defined(__amigaos4__) # include <pthread.h> -# include <proto/dos.h> -# define sched_yield() IDOS->Delay(1) +# include <proto/exec.h> + +static __inline void amiga_yield(void) +{ + /* SetTaskPri() on the currently running task triggers a reschedule */ + struct Task *me = IExec->FindTask(NULL); + IExec->SetTaskPri(me, me->tc_Node.ln_Pri); +} +# define sched_yield() amiga_yield() #elif defined(SYS_BEOS)
View file
xvidcore-1.3.4.tar.bz2/src/xvid.c -> xvidcore-1.3.5.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 2123 2015-06-17 19:49:29Z Isibaar $ + * $Id: xvid.c 2130 2016-01-08 17:40:12Z Isibaar $ * ****************************************************************************/ @@ -699,7 +699,7 @@ return XVID_ERR_VERSION; info->actual_version = XVID_VERSION; - info->build = "xvid-1.3.4"; + info->build = "xvid-1.3.5"; info->cpu_flags = detect_cpu_flags(); info->num_threads = 0; /* single-thread */
View file
xvidcore-1.3.4.tar.bz2/src/xvid.h -> xvidcore-1.3.5.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 2123 2015-06-17 19:49:29Z Isibaar $ + * $Id: xvid.h 2130 2016-01-08 17:40:12Z 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,4) +#define XVID_VERSION XVID_MAKE_VERSION(1,3,5) #define XVID_API XVID_MAKE_API(4, 3) /* Bitstream Version
View file
xvidcore-1.3.4.tar.bz2/vfw/src/codec.c -> xvidcore-1.3.5.tar.bz2/vfw/src/codec.c
Changed
@@ -19,7 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: codec.c 1985 2011-05-18 09:02:35Z Isibaar $ + * $Id: codec.c 2160 2017-07-12 08:23:51Z Isibaar $ * *************************************************************************/ @@ -560,10 +560,11 @@ create.num_plugins++; } - plugins[create.num_plugins].func = vfw_debug; - plugins[create.num_plugins].param = NULL; - create.num_plugins++; - + if (codec->config.debug > 0) { + plugins[create.num_plugins].func = vfw_debug; + plugins[create.num_plugins].param = NULL; + create.num_plugins++; + } create.profile = profiles[codec->config.profile].id; create.width = lpbiInput->bmiHeader.biWidth; @@ -933,7 +934,7 @@ if (inhdr->biCompression != FOURCC_XVID && inhdr->biCompression != FOURCC_DIVX && inhdr->biCompression != FOURCC_DX50 && inhdr->biCompression != FOURCC_MP4V && inhdr->biCompression != FOURCC_xvid && inhdr->biCompression != FOURCC_divx && inhdr->biCompression != FOURCC_dx50 && inhdr->biCompression != FOURCC_mp4v && - (in_csp = get_colorspace(inhdr)) != XVID_CSP_YV12) + inhdr->biCompression != FOURCC_YV12 && (in_csp = get_colorspace(inhdr)) != XVID_CSP_YV12) { return ICERR_BADFORMAT; }
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
.