Re: UPDATE: graphics/ffmpeg

2007-01-12 Thread Moritz Grimm

Hi,


I just started testing this update. More results later, but for now I 
just wanted to mention that lib-depends-check wants WANTLIB += ogg for 
the bin/ffserver binary.


Thanks for the update.


Moritz



Re: UPDATE: graphics/ffmpeg

2007-01-12 Thread Moritz Grimm

Nikns Siankin wrote:

http://secure.lv/~nikns/stuff/ports/ffmpeg-20070110.diff


Tested on i386 (with an added ogg-WANTLIB), with VLC and my ports that I 
have in my submit queue. Everything works fine, except that VLC is now 
complaining a bit:


vlc:/usr/local/lib/vlc/codec/libquicktime_plugin.so: undefined symbol 
'NewHandleClear'
vlc:/usr/local/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol 
'img_resample_init'
vlc:/usr/local/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol 
'img_convert'
vlc:/usr/local/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol 
'img_resample_close'
vlc:/usr/local/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol 
'img_resample'
vlc:/usr/local/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol 
'img_resample_full_init'


It doesn't impair its ability to play videos without problems, though.


Moritz



Re: UPDATE: graphics/ffmpeg

2006-12-26 Thread Brad
On Mon, Dec 11, 2006 at 03:53:23PM +0200, Nikns Siankin wrote:
 Added regression tests.
 Added back external decoders.
 
 relevant portion of the official ChangeLog:
 
 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
 - TechSmith Camtasia (TSCC) video decoder
 - IBM Ultimotion (ULTI) video decoder
 - Sierra Online audio file demuxer and decoder
 - Apple QuickDraw (qdrw) video decoder
 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
 - Miro VideoXL (VIXL) video decoder
 - H.261 video encoder
 - QPEG video decoder
 - Nullsoft Video (NSV) file demuxer
 - Shorten audio decoder
 - LOCO video decoder
 - Apple Lossless Audio Codec (ALAC) decoder
 - Winnov WNV1 video decoder
 - Autodesk Animator Studio Codec (AASC) decoder
 - Indeo 2 video decoder
 
 http://secure.lv/~nikns/stuff/ports/ffmpeg-20061211.diff

Hi Nikns,

Add the following diff to the port update and send it back out.
This will unbreak support for the WMA audio format, which is also
used in WMV video. With the port as is WMV files and WMA files
cannot be played on a i386 system with SSE support, the result
being 100% reproducible crash every time.


Bug fix for crashes when SSE is used on unaligned arrays.
No measureable change in speed. This gave random crashes on Win32
and BeOS. The cause for this bug is that gcc doesn't align the
stackframe. Linux and glibc always ensure this to be true thus
this never affected Linux.


$OpenBSD$
--- libavcodec/wmadec.c.origTue Dec 26 17:11:00 2006
+++ libavcodec/wmadec.c Tue Dec 26 17:13:58 2006
@@ -115,6 +115,8 @@ typedef struct WMADecodeContext {
 float max_exponent[MAX_CHANNELS];
 int16_t coefs1[MAX_CHANNELS][BLOCK_MAX_SIZE];
 DECLARE_ALIGNED_16(float, coefs[MAX_CHANNELS][BLOCK_MAX_SIZE]);
+DECLARE_ALIGNED_16(FFTSample, output[BLOCK_MAX_SIZE * 2]);
+DECLARE_ALIGNED_16(float, window[BLOCK_MAX_SIZE * 2]);
 MDCTContext mdct_ctx[BLOCK_NB_SIZES];
 float *windows[BLOCK_NB_SIZES];
 DECLARE_ALIGNED_16(FFTSample, mdct_tmp[BLOCK_MAX_SIZE]); /* temporary 
storage for imdct */
@@ -717,7 +719,6 @@ static int wma_decode_block(WMADecodeCon
 {
 int n, v, a, ch, code, bsize;
 int coef_nb_bits, total_gain, parse_exponents;
-DECLARE_ALIGNED_16(float, window[BLOCK_MAX_SIZE * 2]);
 int nb_coefs[MAX_CHANNELS];
 float mdct_norm;
 
@@ -1072,7 +1073,7 @@ static int wma_decode_block(WMADecodeCon
 next_block_len = 1  s-next_block_len_bits;
 
 /* right part */
-wptr = window + block_len;
+wptr = s-window + block_len;
 if (block_len = next_block_len) {
 for(i=0;iblock_len;i++)
 *wptr++ = s-windows[bsize][i];
@@ -1088,7 +1089,7 @@ static int wma_decode_block(WMADecodeCon
 }
 
 /* left part */
-wptr = window + block_len;
+wptr = s-window + block_len;
 if (block_len = prev_block_len) {
 for(i=0;iblock_len;i++)
 *--wptr = s-windows[bsize][i];
@@ -1107,14 +1108,13 @@ static int wma_decode_block(WMADecodeCon
 
 for(ch = 0; ch  s-nb_channels; ch++) {
 if (s-channel_coded[ch]) {
-DECLARE_ALIGNED_16(FFTSample, output[BLOCK_MAX_SIZE * 2]);
 float *ptr;
 int n4, index, n;
 
 n = s-block_len;
 n4 = s-block_len / 2;
 s-mdct_ctx[bsize].fft.imdct_calc(s-mdct_ctx[bsize],
-  output, s-coefs[ch], s-mdct_tmp);
+  s-output, s-coefs[ch], s-mdct_tmp);
 
 /* XXX: optimize all that by build the window and
multipying/adding at the same time */
@@ -1122,13 +1122,13 @@ static int wma_decode_block(WMADecodeCon
 /* multiply by the window and add in the frame */
 index = (s-frame_len / 2) + s-block_pos - n4;
 ptr = s-frame_out[ch][index];
-s-dsp.vector_fmul_add_add(ptr,window,output,ptr,0,2*n,1);
+s-dsp.vector_fmul_add_add(ptr,s-window,s-output,ptr,0,2*n,1);
 
 /* specific fast case for ms-stereo : add to second
channel if it is not coded */
 if (s-ms_stereo  !s-channel_coded[1]) {
 ptr = s-frame_out[1][index];
-s-dsp.vector_fmul_add_add(ptr,window,output,ptr,0,2*n,1);
+
s-dsp.vector_fmul_add_add(ptr,s-window,s-output,ptr,0,2*n,1);
 }
 }
 }



Re: update: graphics/ffmpeg: 20060312p0 - 20060312p1

2006-07-10 Thread Chris Kuethe

From the give-him-enough-time-and-he'll-figure-it-out department:


I just realized that the dependency on xvidcore is not needed:
xvidcore generates mpeg4 compliant streams (fourcc XviD), ffmpeg can
also generate mpeg4 compliant streams (fourcc DivX), and my iPod will
play either of them. I don't notice any difference in video quality on
the iPod, thus I removed the xvidcore dependency in favour of ffmpeg's
own mpeg4 codec.

While I was testing this, I got really annoyed by the malloc.h
warnings, so I made those go away too.

The sample command line for transcoding to your video ipod is now:

ffmpeg -vcodec mpeg4 -b 350 -qmax 10 -bufsize 4096 -g 300 -acodec aac
-ab 96 -ac 2 -i input.mpg -s 320x240 output.mp4

The resulting file can be loaded on to video ipods with audio/gtkpod.

--
GDB has a 'break' feature; why doesn't it have 'fix' too?


ffmpeg.diff
Description: Binary data


Re: update: graphics/ffmpeg

2006-03-18 Thread Brad
On Sat, Mar 18, 2006 at 04:31:04PM -0800, Jacob Meuser wrote:
 here's an update for FFmpeg to CVS as of 3/12/06.
 
 there are a whole lot of changes between the FFmpeg in ports and
 this version.  relevant portion of the official ChangeLog:
 
 - Fraps FPS1 video decoder
 - Snow video encoder/decoder
 - Sonic audio encoder/decoder
 - Vorbis audio decoder
 - Macromedia ADPCM decoder
 - Duck TrueMotion 2 video decoder
 - support for decoding FLX and DTA extensions in FLIC files
 - H.264 custom quantization matrices support
 - ffserver fixed, it should now be usable again
 - QDM2 audio decoder
 - Real Cooker audio decoder
 - TrueSpeech audio decoder
 - WMA2 audio decoder fixed, now all files should play correctly
 - RealAudio 14.4 and 28.8 decoders fixed
 - JPEG-LS encoder and decoder
 - CamStudio video decoder
 - build system improvements
 - tabs and trailing whitespace removed from the codebase
 - AIFF/AIFF-C audio format, encoding and decoding
 - ADTS AAC file reading and writing
 - Creative VOC file reading and writing
 - American Laser Games multimedia (*.mm) playback system
 - Zip Blocks Motion Video decoder
 - Improved Theora/VP3 decoder
 - True Audio (TTA) decoder
 - AVS demuxer and video decoder
 
 also, bktr(4) support has been integrated upstream, and most of the
 source patches in the port are no longer necessary.
 
 I have been testing FFmpeg snapshots pretty heavily on amd64 and
 just a little on i386.
 
 I've also included patches for the ports that depend on FFmpeg,
 (multimedia/libquicktime, multimedia/transcode, x11/vlc),
 because libavcodec depends on a new set of libraries.
 
 please review/test/comment, and give me OKs :)
 
 -- 
 [EMAIL PROTECTED]
 
 Index: graphics/ffmpeg/Makefile
 ===
 RCS file: /cvs/ports/graphics/ffmpeg/Makefile,v
 retrieving revision 1.18
 diff -u -r1.18 Makefile
 --- graphics/ffmpeg/Makefile  31 Dec 2005 08:45:56 -  1.18
 +++ graphics/ffmpeg/Makefile  18 Mar 2006 23:58:57 -
 @@ -1,105 +1,71 @@
 -# $OpenBSD: Makefile,v 1.18 2005/12/31 08:45:56 steven Exp $
 +# $OpenBSD$
  
  COMMENT= audio/video converter and streamer with bktr(4) support
 -DISTNAME=FFMpeg-20050413
 -PKGNAME= ${DISTNAME:L}
 -SHARED_LIBS= avcodec 6.0 \
 - avformat6.0 \
 - postproc6.0
  
 -CATEGORIES=  graphics x11
 -MASTER_SITES=http://www.jakemsr.com/
 -#http://mplayerhq.hu/MPlayer/cvs/
 +DISTNAME=ffmpeg-cvs-20060312
 +PKGNAME= ${DISTNAME:S/-cvs//}
 +SHARED_LIBS= avutil  49.0 \
 + avcodec 51.7 \
 + avformat50.3 \
 + postproc51.1
 +CATEGORIES=  graphics multimedia

When we fully control the versioning I don't see the
point of such a large increae in major revisions.
Why not just bump avcodec, avformat and postproc to 7.0
and start avutil at 1.0?
 
Otherwise I am Ok with the rest.


 -EXTRACT_SUFX=.tar.bz2
 +HOMEPAGE=http://www.ffmpeg.org/
  
 -HOMEPAGE=http://www.ffmpeg.org/
 -
 -MAINTAINER=  Jacob Meuser [EMAIL PROTECTED]
 +MAINTAINER=  Jacob Meuser [EMAIL PROTECTED]
  
  # GPL
 -PERMIT_DISTFILES_CDROM=  patents
 -PERMIT_DISTFILES_FTP=Yes
 -PERMIT_PACKAGE_CDROM=Yes
 +PERMIT_PACKAGE_CDROM=patents
  PERMIT_PACKAGE_FTP=  Yes
 -WANTLIB= X11 Xext c m ogg ossaudio pthread usbhid z
 +PERMIT_DISTFILES_CDROM=  Yes
 +PERMIT_DISTFILES_FTP=Yes
 +
 +# only available through CVS
 +MASTER_SITES=http://www.jakemsr.com/
 +
 +BUILD_DEPENDS=   ::textproc/texi2html
 +LIB_DEPENDS= SDL.4::devel/sdl
 +WANTLIB= X11 Xext c freetype m pthread ossaudio usbhid z
  
 -BUILD_DEPENDS=   ::textproc/texi2html
 -LIB_DEPENDS= SDL.2.0::devel/sdl \
 - a52.0.0::audio/liba52 \
 - mp3lame.0.1::audio/lame \
 - vorbis.4.0,vorbisenc.2.0::audio/libvorbis
 -
 -NO_REGRESS=  Yes # Possible to adapt with some work
 -USE_GMAKE=   Yes
 -USE_X11= Yes
 +USE_X11= Yes
 +USE_GMAKE=   Yes
  
  # It's either this or disable mmx so postprocess_template.c will build.
  .if ${MACHINE_ARCH} == i386
  CFLAGS+=-fomit-frame-pointer
  .endif
  
 -CONFIGURE_STYLE=simple
 -CONFIGURE_ENV+=  CPPFLAGS=-I${LOCALBASE}/include
 -CONFIGURE_ARGS+=${CONFIGURE_SHARED} \
 - --cc=${CC} \
 - --make=${MAKE_PROGRAM} \
 - --extra-cflags=-I${LOCALBASE}/include \
 - --extra-ldflags=-L${LOCALBASE}/lib -L${X11BASE}/lib \
 - --disable-opts \
 - --enable-a52 \
 - --enable-pp \
 - --enable-mp3lame \
 - --enable-libogg \
 - --enable-vorbis \
 - --enable-gpl \
 - --enable-pthreads \
 - --disable-debug
 -
 -MAKE_ENV+=   LDFLAGS=-L${X11BASE}/lib