Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-02-06Remove unnecessary debug printSergey Sharybin
2014-02-03Fix T38455: Blenderplayer is not workingSergey Sharybin
Was a regression since avg_frame_rate changes. Didn't find reliable way to get stream duration which will work with both FFmpeg and Libav so added some freaking black magic to distinguish one from another.
2014-01-28libavformat API usage: use avformat_close_input() instead of ↵Anton Khirnov
av_close_input_file()
2014-01-28libavformat API usage: use avg_frame_rate instead of r_frame_rateAnton Khirnov
r_frame_rate is a guessed number defined as "the least common multiple of all framerates in the stream". It has been deprecated and removed in new Libav releases. Use avg_frame_rate instead, which is the average framerate of the stream.
2013-11-22Code Cleanup: use NULL for pointer checks and remove joke.Campbell Barton
2013-07-19style cleanup: braces/indentationCampbell Barton
2013-04-15code cleanup: minor BMESH_TODO's, some were left in even though they were ↵Campbell Barton
done/invalid.
2013-04-14== FFMPEG / Canon DSLR footage workaround ==Peter Schlaile
The latest ffmpeg versions include a workaround to deal with a certain pecularity in Canon DSLR footage: instead of decoding pictures with the proper resolution of 1920x1080 they decode it with 1920x1088 and add a black bar at the bottom. Needless to say, that this screws up things in a lot of areas within blender (proxy indices, mask animations etc.) Since all blender versions besides Linux x86 32bit seem still to include older ffmpeg versions which still contain this bug, this patch adds a workaround for older versions until we have all versions on all platforms up to date. See also: http://git.libav.org/?p=libav.git;a=commit;h=30f515091c323da59c0f1b533703dedca2f4b95d
2013-04-11Use SWS_FULL_CHR_H_INT for SWS context for more accurate conversionSergey Sharybin
Suggestion by Bjeorn Sonnenschein from report #34755.
2013-03-25code cleanup:Campbell Barton
- remove unused defines. - quiet some shadow warnings. - bevel, ifdef out some asserts that are too common. - style
2013-03-05code cleanup: also change BKE_blender.h BLENDER_VERSION_CHAR to 'a' so as ↵Campbell Barton
not to confuse things.
2013-03-04patch [#34103] use booleans for extensions testing.Campbell Barton
bli_testextensie.patch - from Lawrence D'Oliveiro (ldo)
2013-01-12Patch #33837: ffmpeg1.1 and libav9.1 compatibility updateSergey Sharybin
Patch makes it possible to compile blender with recent ffmpeg and libav libraries, mainly by getting rid of deprecated API. Original patch by Campbell Barton with own modifications to support compilation with older ffmpeg versions. This patch could break compatibility of FFV1 videos playing back in older players, mainly because of alpha support changes. Preserving compatibility with such players became a headache and think it's high time to get rid of workarounds here.
2012-12-07Fix #33433: Importing video files into movie clip editor crashes BlenderSergey Sharybin
This was a regression in svn rev52718 caused by the fact that we can not free packet fun until we've finished all manipulation with decoded frame since frame and packet could share same pointers. For now restored old behavior of next_packet which seems to be well tested and better not do bigger refactoring here so close to release. Memory leak fixed by that revision was fixed by calling av_free_packet just before avcodec_decode_video2 in cases we're at the end of file. Tested with valgrind and could not see any memory leaks in ffmpeg area.
2012-12-02== FFMPEG ==Peter Schlaile
This fixes a memory leak caused by the last packet on stream EOF not freed. (Memory leak occurs on ffmpeg heap managed by av_malloc / av_free, so it is invisible to Blender) Also: clean up the code a little bit (anim->next_packet was never really used, so could be moved into a local variable)
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-10-08add option to build without blenders default avi codec.Campbell Barton
2012-09-15Color Management, Stage 2: Switch color pipeline to use OpenColorIOSergey Sharybin
Replace old color pipeline which was supporting linear/sRGB color spaces only with OpenColorIO-based pipeline. This introduces two configurable color spaces: - Input color space for images and movie clips. This space is used to convert images/movies from color space in which file is saved to Blender's linear space (for float images, byte images are not internally converted, only input space is stored for such images and used later). This setting could be found in image/clip data block settings. - Display color space which defines space in which particular display is working. This settings could be found in scene's Color Management panel. When render result is being displayed on the screen, apart from converting image to display space, some additional conversions could happen. This conversions are: - View, which defines tone curve applying before display transformation. These are different ways to view the image on the same display device. For example it could be used to emulate film view on sRGB display. - Exposure affects on image exposure before tone map is applied. - Gamma is post-display gamma correction, could be used to match particular display gamma. - RGB curves are user-defined curves which are applying before display transformation, could be used for different purposes. All this settings by default are only applying on render result and does not affect on other images. If some particular image needs to be affected by this transformation, "View as Render" setting of image data block should be set to truth. Movie clips are always affected by all display transformations. This commit also introduces configurable color space in which sequencer is working. This setting could be found in scene's Color Management panel and it should be used if such stuff as grading needs to be done in color space different from sRGB (i.e. when Film view on sRGB display is use, using VD16 space as sequencer's internal space would make grading working in space which is close to the space using for display). Some technical notes: - Image buffer's float buffer is now always in linear space, even if it was created from 16bit byte images. - Space of byte buffer is stored in image buffer's rect_colorspace property. - Profile of image buffer was removed since it's not longer meaningful. - OpenGL and GLSL is supposed to always work in sRGB space. It is possible to support other spaces, but it's quite large project which isn't so much important. - Legacy Color Management option disabled is emulated by using None display. It could have some regressions, but there's no clear way to avoid them. - If OpenColorIO is disabled on build time, it should make blender behaving in the same way as previous release with color management enabled. More details could be found at this page (more details would be added soon): http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management -- Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO integration and to Brecht van Lommel for some further development and code/ usecase review!
2012-09-08== FFMPEG ==Peter Schlaile
This fixes [#32399] VSE doesn't show last 3 frames of Quicktime movie. Some decoders store frames internally until EOF. So one has to feed the decoding engine with empty packets after EOF until all frames could be extracted properly.
2012-08-26Some FFmpeg changesSergey Sharybin
- Make FFmpeg initialization called from creator, not from functions which requires FFmpeg. Makes it easier to follow when initialization should happen. - Enable DNxHD codec. It was commented a while ago due to some strange behavior on some platforms. Re-tested it on Linux and Windows and it seemd to be working quite nice. Would let it be tested further, if it wouldn't be stable enough, easy to comment it again. - Make non-error messages from writeffmpeg.c printed only if ffmpeg debug argument was passed to blender. Reduces console pollution with messages which are not useful for general troubleshooting. Error messages would still be printed to the console. - Show FFmpeg error message when video stream failed to allocate. makes it easier to understand what exactly is wrong from Blender interface, no need to restart blender with FFmpeg debug flag and check for console messages. Used custom log callback for this which stores last error message in static variable. This is not thread safe, but with current design FFmpeg routines could not be called form several threads anyway, so think it's fine solution/
2012-08-13code cleanup: includes for imbuf, also remove double promotion.Campbell Barton
2012-08-02improve not very helpful error message.Campbell Barton
2012-07-08style cleanupCampbell Barton
2012-07-02code cleanup: minor editsCampbell Barton
2012-06-24style cleanypCampbell Barton
2012-06-18Reduce amount of deprecated symbols used from FFmpegSergey Sharybin
This switches some areas of Blender which are related on FFmpeg stuff from deprecated symbols to currently supported one. Pretty straightforward changes based on documentation of FFmpeg's API which symbols should be now used. This should make Blender compatible with recent FFmpeg 0.11. Should be no functional changes.
2012-05-28style cleanup: defines with bracesCampbell Barton
2012-05-27style cleanupCampbell Barton
2012-05-26code cleanup: dutch -> english (comments)Campbell Barton
2012-05-20code cleanup:Campbell Barton
- style - multi-line ifs move braces onto new lines. - iterators - convert some to macros, other split up and move brace.
2012-05-18style cleanup: function definitionsCampbell Barton
2012-05-16style cleanup: imbufCampbell Barton
2012-05-09style cleanup: whitespace/operatorsCampbell Barton
2012-04-29style cleanup: function calls & whitespace.Campbell Barton
2012-04-29style cleanup: whitespace / commasCampbell Barton
2012-04-28style cleanup: changes to brace placement / newlines - for/while/if/switchCampbell Barton
2012-04-21style cleanup: multi-line if statements.Campbell Barton
2012-04-02code cleanup:Campbell Barton
always use if (...) even if the macros dont require it (confuses parsers) define macros without the ';'s included.
2012-03-26Fix for segfault when building proxies in Sequencer.Bastien Montagne
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-09style cleanup: comment blocksCampbell Barton
2012-02-29Refactor of proxies build operatorsSergey Sharybin
Split proxy build operator into three parts: - Prepare context (IMB_anim_index_rebuild_context) which prepares all needed data and stores it in an anonymous structure used by specific builder lately. - Build proxies/timecodes into temporary files (IMB_anim_index_rebuild) This function will build all selected proxies/timecodes into a temporary files so old proxies will be still available during building. - Finish building proxies (IMB_anim_index_rebuild_finish) which copies temporary files over old proxies filed and releases all resources used by a context. Context creation and finishing building happens in a main thread so it's easy and safe to close all opened handles of proxies files and refresh cache after rebuilding is finished. This should finally fix #30315: Temporary proxy files are not erased and old proxys are not updated if the proxy is built more then once (windows)
2012-01-11use BLI_strncpy and BLI_snprintf when the size of the string is known.Campbell Barton
fix for sequencer unique naming which was missed with string length update.
2012-01-04Fix #29671: Issues with .mts video filesSergey Sharybin
Video frame decoding used to leave packet reading cycle before frame is fully decoded in cases frame is encoded by several packets.
2011-12-17Code cleanup: fix a few warnings (>= 0 and == -1 tests on unsigned types).Brecht Van Lommel
2011-12-17style edit only - move parenthesis onto second line of function definition ↵Campbell Barton
(in keeping with most of blenders code) also split some long lines in own code.
2011-11-20Fix #29295: Problem with Alpha Channel video in Sequencer and texturesSergey Sharybin
Bug was caused by workaround for old versions of FFmpeg which aren't supported anymore due to pts stuff. Removing workarounds for alpha channels.
2011-11-20== Sequencer / FFMPEG ==Peter Schlaile
This fixed two issues: * RAW DV-seeking has to be done using DTS. Sounds silly, but ffmpeg tracks internal state in RAW DV format decoder and runs mad, if we seek by byte. Don't know, why I haven't noticed that, when I added it. * real fix(tm) for #29295 problem was: we did AVFrame read ahead, and the pattern read_frame -> decode -> read_frame -> do color conversion of first frame works everywhere but RAW RGB-files which do some pointer shuffling within ffmpeg to save a memcpy... I removed read ahead completely, since it didn't work like originally intented. Might come back later, but the original purpose (making resyncing easier if we are completely lost in stream) it never fullfilled.
2011-11-19Fix #29321: Video does not display, gets frozen or flickersSergey Sharybin
Unfortunately, error was caused by own attempt to deal with some kind of broken videos when was investigating crashes in sequencer. Issue discovered that time was related on values stored in timecode index and using them as signed data type later. Trying to use unsigned value here leads to signed/unsigned check failures. Prefer just to pre-process that kind of videos i've been trying to deal with rather than making more global changes during BCON3.
2011-11-15Fix #29202: Crash - VSE Cross strip probably leads to thisSergey Sharybin
Crash was caused by several conditions: - Frame which failed to decode tried to be converted to RGB colorspace and some filters like deinterlacing used to be applied as well (it's avscale stuff sws_scale where crash happened). - In some cases it happened reading of freed memory when calling sws_scale function. Looks like it happened because of freeing packet on which decoding of frame finished and reading next packet. Solved this two issues by making YUV->RGB conversion as soon as frame was decoded in ffmpeg_decode_video_frame (such postprocessing used to happen in callee of this function ffmpeg_fetchibuf), so now sws_scale would be called before freeing packet on which decoding of frame finished and it wouldn't be called in cases when decoding of frame failed. If decoding of frame failed, it'll be black ibuf returned to the sequencer.