- fixed: crash when parsing version 2 paths
- fixed: negative brightness, saturation, and alpha adjustments work correctly in adjustment variables and parameters.
- fixed: crash when closing a window that had temporary files associated with it on OS X.
- fixed: FILL primitive shape is no longer duplicated by CF::Symmetry operations
- fixed: Makefile references libm
- fixed: crash when multiplying output vertically (Posix and Windows CLI)
- Two-value color targets and stateful color targets can be used together in the same version 2 cfdg file
Version 3.0.5 is released
Moderators: MtnViewJohn, chris, mtnviewmark
- MtnViewJohn
- Site Admin
- Posts: 883
- Joined: Fri May 06, 2005 2:26 pm
- Location: Mountain View, California
- Contact:
Version 3.0.5 is released
This version includes all of the fixes in the aborted 3.0.4 release plus the following:
Re: Version 3.0.5 is released
I'm having trouble linking 3.0.5:
$ cc objs/cfdg.o objs/Rand64.o objs/makeCFfilename.o objs/cfdgimpl.o objs/renderimpl.o objs/builder.o objs/shape.o objs/variation.o objs/countable.o objs/tempfile.o objs/aggCanvas.o objs/HSBColor.o objs/SVGCanvas.o objs/primShape.o objs/bounds.o objs/shapeSTL.o objs/tiledCanvas.o objs/astexpression.o objs/astreplacement.o objs/pathIterator.o objs/stacktype.o objs/CmdInfo.o objs/abstractPngCanvas.o objs/ast.o objs/ffCanvas.o objs/pngCanvas.o objs/posixSystem.o objs/main.o objs/posixTimer.o objs/posixVersion.o objs/lex.yy.o objs/cfdg.tab.o objs/agg_trans_affine.o objs/agg_curves.o objs/agg_vcgen_contour.o objs/agg_vcgen_stroke.o objs/agg_bezier_arc.o objs/agg_color_rgba.o -Lsrc-ffmpeg/lib -L/usr/local/lib -lstdc++ -lpng -lz -lm -lavformat -lavcodec -lavutil -fexceptions -o cfdg
objs/ffCanvas.o: In function `ffCanvas::Impl::Impl(char const*, aggCanvas::PixelFormat, int, int, int, char*, int)':
ffCanvas.cpp:(.text+0x81): undefined reference to `avformat_alloc_output_context2'
objs/ffCanvas.o: In function `ffCanvas::Impl::~Impl()':
ffCanvas.cpp:(.text+0x37e): undefined reference to `avcodec_encode_video2'
objs/ffCanvas.o: In function `ffCanvas::end()':
ffCanvas.cpp:(.text+0x4da): undefined reference to `avcodec_encode_video2'
objs/ffCanvas.o: In function `ffCanvas::Impl::addFrame()':
ffCanvas.cpp:(.text+0x63a): undefined reference to `avcodec_encode_video2'
collect2: error: ld returned 1 exit status
This is on a 64-bit Ubuntu 12.10 (Quantal Quetzal) system.
$ cc objs/cfdg.o objs/Rand64.o objs/makeCFfilename.o objs/cfdgimpl.o objs/renderimpl.o objs/builder.o objs/shape.o objs/variation.o objs/countable.o objs/tempfile.o objs/aggCanvas.o objs/HSBColor.o objs/SVGCanvas.o objs/primShape.o objs/bounds.o objs/shapeSTL.o objs/tiledCanvas.o objs/astexpression.o objs/astreplacement.o objs/pathIterator.o objs/stacktype.o objs/CmdInfo.o objs/abstractPngCanvas.o objs/ast.o objs/ffCanvas.o objs/pngCanvas.o objs/posixSystem.o objs/main.o objs/posixTimer.o objs/posixVersion.o objs/lex.yy.o objs/cfdg.tab.o objs/agg_trans_affine.o objs/agg_curves.o objs/agg_vcgen_contour.o objs/agg_vcgen_stroke.o objs/agg_bezier_arc.o objs/agg_color_rgba.o -Lsrc-ffmpeg/lib -L/usr/local/lib -lstdc++ -lpng -lz -lm -lavformat -lavcodec -lavutil -fexceptions -o cfdg
objs/ffCanvas.o: In function `ffCanvas::Impl::Impl(char const*, aggCanvas::PixelFormat, int, int, int, char*, int)':
ffCanvas.cpp:(.text+0x81): undefined reference to `avformat_alloc_output_context2'
objs/ffCanvas.o: In function `ffCanvas::Impl::~Impl()':
ffCanvas.cpp:(.text+0x37e): undefined reference to `avcodec_encode_video2'
objs/ffCanvas.o: In function `ffCanvas::end()':
ffCanvas.cpp:(.text+0x4da): undefined reference to `avcodec_encode_video2'
objs/ffCanvas.o: In function `ffCanvas::Impl::addFrame()':
ffCanvas.cpp:(.text+0x63a): undefined reference to `avcodec_encode_video2'
collect2: error: ld returned 1 exit status
This is on a 64-bit Ubuntu 12.10 (Quantal Quetzal) system.
- MtnViewJohn
- Site Admin
- Posts: 883
- Joined: Fri May 06, 2005 2:26 pm
- Location: Mountain View, California
- Contact:
Re: Version 3.0.5 is released
The Makefile wants to link in FFmpeg. This is the default configuration. At the bottom of README.ffmpeg is describes how to change the Makefile to disable FFmpeg support. I should make "disabled" be the default and have instructions for enabling FFmpeg support.
Re: Version 3.0.5 is released
Yes, but I in fact want FFmpeg support. Note that the error isn't that I'm missing a library but rather that the linker can't find avcodec_encode_video2 within the libraries specified.
Is it possible that avcodec_encode_video2 has been deprecated, renamed, or replaced in the latest version of one of the libav*.a libraries?
Is it possible that avcodec_encode_video2 has been deprecated, renamed, or replaced in the latest version of one of the libav*.a libraries?
- MtnViewJohn
- Site Admin
- Posts: 883
- Joined: Fri May 06, 2005 2:26 pm
- Location: Mountain View, California
- Contact:
Re: Version 3.0.5 is released
It links on my 64-bit Ubuntu 12.04 system with both FFmpeg 1.0 and FFmpeg 1.1. The undefined symbols are not deprecated in the latest versions.
Did you configure, build and install the FFmpeg libraries using the script at src-ffmpeg/make_ffmpeg_linux?
Code: Select all
[$]› nm src-ffmpeg/lib/libavcodec.a | grep avcodec_encode_video2
0000000000002a10 T avcodec_encode_video2
[$]› nm src-ffmpeg/lib/libavformat.a | grep avformat_alloc_output_context2
0000000000000a70 T avformat_alloc_output_context2
Re: Version 3.0.5 is released
I did not. I had assumed that README.ffmpeg applied only to systems that didn't already have FFmpeg installed.MtnViewJohn wrote:Did you configure, build and install the FFmpeg libraries using the script at src-ffmpeg/make_ffmpeg_linux?
Fortunately, cfdg 3.0.5 builds fine when I download FFmpeg 1.1.1 and use the script at src-ffmpeg/make_ffmpeg_linux. (Actually, I set the prefix to src-ffmpeg to skip the explicit copying step.) Given the frequency of Ubuntu software updates, it's surprising that Ubuntu 12.10 doesn't include yet a cfdg-compatible version of FFmpeg.
Thanks,
— Scott
P.S. I can't seem to turn on BBCode in the Announcements forum, but it's worked in all the other forums to which I've posted.
- MtnViewJohn
- Site Admin
- Posts: 883
- Joined: Fri May 06, 2005 2:26 pm
- Location: Mountain View, California
- Contact:
Re: Version 3.0.5 is released
Installing FFmpeg probably installed shared libraries, not static libraries. I will see what it takes to make cfdg compile against a standard install of FFmpeg.
I edited your post to uncheck 'Disable BBCode'. I have no idea why this was checked. It doesn't happen when I post. Your profile is set to allow BBCode and this forum allows BBCode. It's a mystery.
I edited your post to uncheck 'Disable BBCode'. I have no idea why this was checked. It doesn't happen when I post. Your profile is set to allow BBCode and this forum allows BBCode. It's a mystery.
- MtnViewJohn
- Site Admin
- Posts: 883
- Joined: Fri May 06, 2005 2:26 pm
- Location: Mountain View, California
- Contact:
Re: Version 3.0.5 is released
The problem is that the Ubuntu FFmpeg package is still on version 0.8, which cfdg depends on the new API in FFmpeg version 1.0. This is why the avformat_alloc_output_context2 and avcodec_encode_video2 could not be found in the library, they don't exist in version 0.8.
Re: Version 3.0.5 is released
Some time ago ffmpeg split into two forks under the name of ffmpeg and libav.
Debian (hence Ubuntu) is following the libav fork in it's distribution and ffmpeg is deprecated, and is only provided for compatibility....
So it would be unwise to rely on installed libraries to provide ffmpeg on any Debian based distro.
Debian (hence Ubuntu) is following the libav fork in it's distribution and ffmpeg is deprecated, and is only provided for compatibility....
So it would be unwise to rely on installed libraries to provide ffmpeg on any Debian based distro.
- MtnViewJohn
- Site Admin
- Posts: 883
- Joined: Fri May 06, 2005 2:26 pm
- Location: Mountain View, California
- Contact:
Re: Version 3.0.5 is released
I didn't know about the fork. Maybe I will have ffcanvas use the 0.8 API.
Edit: No, I won't. I submitted a patch to FFmpeg to support grayscale quicktime movies. cfdg assumes that FFmpeg has this capability. Libav forked before this patch was approved and they do not pick up FFmpeg patches. I would rather depend on FFmpeg 1.0 than drop features to support Libav.
Edit: No, I won't. I submitted a patch to FFmpeg to support grayscale quicktime movies. cfdg assumes that FFmpeg has this capability. Libav forked before this patch was approved and they do not pick up FFmpeg patches. I would rather depend on FFmpeg 1.0 than drop features to support Libav.