Commit Graph

113 Commits

Author SHA1 Message Date
112162e09e code cleanup: header cleanup 2012-04-30 14:24:11 +00:00
b340f930ec style cleanup: changes to brace placement / newlines - for/while/if/switch 2012-04-28 06:31:57 +00:00
5c89138684 style cleanup: comments 2012-04-22 11:54:53 +00:00
69e6894b15 style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:18:31 +00:00
31d2ee9bf7 style cleanup, brackets in else/if, some indentation. 2012-03-06 18:40:15 +00:00
47c373c7a9 style cleanup (mostly whitespace) 2012-02-27 10:35:39 +00:00
ae38adbf55 Blender should now compile fine with older FFmpeg libraries used. 2012-02-24 15:34:57 +00:00
dd0f151ba9 Changes in FFV1 codec settings
Since FFmpeg 0.10 release FFV1 codec supports alpha channel which is getting
enabled when using PIX_FMT_RGB32 pixel format. This leads to incompatibility of
videos rendered in Blender with almost all external players (especially in OSX).

Seems that PIX_FMT_BGR0 is recommended to be used to make videos compatible with
older players which doesn't support alpha channel in FFV1.

Also added an option to switch to RGBA rendering if FFV1 codec is used and if RGBA
rendering is used FFV1 will be using PIX_FMT_RGB32 format which supports alpha channel.
2012-02-24 09:49:44 +00:00
42e50719df ffmpeg: take back 44142, conditional was wrong 2012-02-16 11:52:02 +00:00
f047d90a0e ffmpeg: only suppress loopfilter for .mov ( compatibility ), but keep for .avi (quality ) 2012-02-16 08:48:28 +00:00
2cf28ab2bc ffmpeg: don't use flags:loop for .h264, this allows to see the video in OSX quickview and Quicktimeplayer( windows ? ) 2012-02-14 12:24:17 +00:00
67e32b4a7b Fix for wrong pixel format used for qtrle 2012-02-07 20:39:40 +00:00
dc72e79274 FFmpeg output fixes and small improvement
Most part of this commit fixes issues with FFmpeg output with
currently supported codecs:

- avcodec_encode_video might return zero which doesn't mean error
  happened, but blender will handle this as error and will stop
  rendering to video file.
- Changing output video codec wouldn't update "expert" options
  set for video output which leads to some sideeffects like
  ignored Lossless option for x264 codec.

This fixes allowed to add QTRLE codec easily.
2012-02-07 17:11:56 +00:00
8dcb1f4d12 Added Lossless Output option for h264 codec.
This will fix #26943: render image to video problem
2012-01-13 12:34:23 +00:00
74aede4d71 Fix #29824: Error writing frame if 3D scene starts after first frame of animation and output is H264
Issue was caused by incorrectly set PTS value frames came form Scene strip renderer.
This value used to be calculated from RenderData current and start frame which
lead to non-uniformuly counting which totally confuses encoder.

Switch append_avi and append_ffmpeg to use current frame from rendering scene
(which was already passing to this functions and was used mostly for logging)
and start frame of rendering scene (it's new parameter added). This allowed to
calculate correct PTS value easily and get rid of global static sframe variable
in writeavi.c file.
2012-01-13 09:20:13 +00:00
e10fd04db0 use BLI_strncpy and BLI_snprintf when the size of the string is known.
fix for sequencer unique naming which was missed with string length update.
2012-01-11 12:33:51 +00:00
9bb0303221 Bugfix for [#29684] Output video presets messed up
* This was caused ny the ImageType refactor.
* Problem persisted with Quicktime too, could not test that, but should fix presets there too.
2011-12-23 22:07:34 +00:00
743d2f8c0f rename image type defines to be less ambiguous, also set BMP as not supporting alpha (it reads but cant write) 2011-11-22 00:35:26 +00:00
995ca539d0 Fixed compilation error in writeffmpg.c (caused by recent IDProp changes). 2011-11-15 10:01:18 +00:00
e84c0980a3 correct indentation and some whitespace edits (no functional changes) 2011-11-11 13:09:14 +00:00
33accdb725 use (const char*) rather than (char*) where possible.
also removed some unused function definitons.
2011-11-05 11:04:28 +00:00
675076a06e cmake macro to set less strict flags per file - remove_strict_flags_file(file, file...)
this way we can avoid removing strict flags for all files in blenkernel.
2011-10-25 11:06:52 +00:00
5a6605610d Fix #28949: can't render video to Flash
Several issues were discovered when was looking into this bug:

- MPEG file format didn't set needed codec settings such as frame
  rate and so, Was caused by not very correct fix fix #21351.
- "Expert" codec settings stored in idprops was affected on
  formats which don't actually need them causing some conflicts
  in codec settings.
- Flash codec doesn't support b-frames.

Now C presets shouldn't affect on each other and flash coded wouldn't
use b-frames even when using h264 format. Should work fine for files
created from scratch. If existing files fails to render, try to
switch file format to something else and then back to needed value.
2011-10-24 10:26:37 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
04db8ad282 misc cleanup
- remove redundant casts
- replace strcmp's with "" to just check first char.
- added WM_event_print(), debug mode only to print events since the structs values are not that meaningful.
- added warnings if locale/font dirs cant be found.
2011-10-21 08:16:15 +00:00
bc40f11093 header cleanup (no functional changes) 2011-10-10 09:38:02 +00:00
ffe9824011 Correction for own recent commit -- didn't know it's unsupported in
MSVC to do such things.
2011-10-04 15:10:24 +00:00
215ed84779 Partial fix #27978: Problem exporting OGG Theora-Vorbis video (and other audio codecs)
Ogg format does support only vorbis, theora, speex and flac audio codecs.
Added check for result of av_write_header() and show info in header about
error while initializing streams.

This commit also fixed crash when using vorbis audio format.
It used to be floating point exception. SOlved by initializing
audio_stream->codec->time_base with proper rational value as it's
done in FFmpeg sources.
2011-10-04 12:30:26 +00:00
3dd75fa6f1 patch [#27887] LOSSLESS RENDERING: HuffYUV and FFV1 both fail to render losslessly
from Troy Sobotka (sobotka)
2011-10-03 03:25:05 +00:00
018fa1540e whitespace edits, make formatting for functions consustent at least within the file. 2011-09-28 05:53:40 +00:00
b3704f45c4 Fixes for snprintf usage:
* replace by BLI_snprintf in various places, note _snprintf on windows
  does not properly null terminate the string.
* fix overflow in sequencer proxy code due to buffer being smaller than
  specified size.
* fix some usage of snprintf as strcpy, this is will go wrong if the
  string contains % characters.
* remove BLI_dynstr_printf function in gpu module, use BLI_dynstr_appendf
2011-08-30 10:07:50 +00:00
ef18ec335f svn merge -r39145:39286 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-08-11 05:04:01 +00:00
3a9b288bc7 fix for [#28201] blender crashes when "mpeg" selected
2 changes
- When writing OGG only allow Theora encoding, this fixes the crash.
- When setting the MPEG preset, dont allow the 'Codec' to be left as Theora, this is just confusing.

* note that this is highly confusing for users and devs - there are 4 places to set the codec/format, with both python and C presets :S.
2011-08-10 07:36:44 +00:00
413bc87e4f Merge with trunk r37757. 2011-06-23 17:30:56 +00:00
99253abef8 allow building with ffmpeg but not aud 2011-06-23 16:10:48 +00:00
2023db70a8 cmake option to build without an audio library. 2011-06-23 09:27:56 +00:00
cc246eaca7 3D Audio GSoC:
- Fixes for MSVC compiling.
- Fix for ffmpeg audio export with timebase, which fixes vorbis encoding (the only codec using this).
2011-06-23 07:16:06 +00:00
2d3d025e8c 3D Audio GSoC:
- Sequencer dynamics: Now it's possible to change the output channels and the resampling quality also increased (previously maximum quality was 44,1 kHz)
- Changed two buffers to use ffmpeg allocation, not sure if that helps somehow.
2011-06-21 20:39:41 +00:00
42121590f4 == FFMPEG ==
Added central compatibility header file, which enables blender to compile
against very old ffmpeg versions as well as very new versions using the
*NEW* API. (Old API functions are simulated using macros and inline functions)

Added a whole lot of additional checks, tested against 6 different versions
down the timeline, hopefully, now finally all is well.
2011-05-27 23:33:40 +00:00
0381c444fd == FFMPEG ==
Fixed and added additional ffmpeg cruft checking. Oh dear.
2011-05-27 07:47:42 +00:00
50289e62cb == FFMPEG ==
... and another funny version patch, since OpenSuse obviously used some version "in-between"
2011-05-26 23:51:02 +00:00
f1d3982bf6 == FFMPEG ==
Added some API compatibility code again, since some API-changes weren't even documented 
(they even didn't do a proper version-bump, arghh!)

If it breaks again, please tell!
2011-05-26 23:19:15 +00:00
4b9a63c6d3 == FFMPEG ==
* removed a lot of old cruft code for ancient ffmpeg versions
* made it compile again against latest ffmpeg / libav GIT
  (also shouldn't break distro ffmpegs, since those API changes
  have been introduced over a year ago. If it nevertheless breaks,
  please send me an email)
2011-05-26 21:57:02 +00:00
Nathan Letwory
0ff06e21cd doxygen: blender/blenkernel tagged. 2011-02-27 20:40:57 +00:00
00c05c8404 Clean up headers a bit more. 2011-02-23 18:03:40 +00:00
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00
Nathan Letwory
c9d16d0ddb /WX enabled for MSVC in CMake too.
Warning fixes.
2010-10-21 08:32:53 +00:00
Nathan Letwory
107b274fb8 Enable /WX in blenkernel
Silence warnings
2010-10-21 07:39:18 +00:00
Nathan Letwory
9bd94eebc4 _DEBUG -> DEBUG 2010-10-18 07:24:08 +00:00
4d37cf90b9 remove G.sce, use G.main->name instead.
Both stored the filename of the blend file, but G.sce stored the last opened file.
This will make blender act differently in some cases since a relative path to the last opened file will no longer resolve (which is correct IMHO since that file isnt open and the path might not even be valid anymore).

Tested linking with durian files and rendering to relative paths when no files is loaded however we may need to have some operators give an error if they are used on the default startup.blend.
2010-10-18 06:41:16 +00:00