Dan Dennedy [Thu, 19 Aug 2010 04:45:02 +0000 (21:45 -0700)]
Fix waveform generation.
It was not obtaining a valid fps. Also, changed rendering to something
more expected - negative as negative and channels stacked.
Also, add a Python binding to this call to return 8-bit grayscale image
as a Python string. Finally, add a Python example.
Dan Dennedy [Mon, 16 Aug 2010 09:09:46 +0000 (02:09 -0700)]
Add a panning filter.
This does a simple left/right balance when channel=-1 (default). When
channel >= 0, you can adjust an individual channel's left/right
position. Whereas the simple balance will not cause one channel to
appear in another channel, the individual channel does. The start/end
properties are floats in the range [-1.0, 1.0]. A start property alone
makes it constant over the duration of the filter. There is some
handling for more than 2 channels by providing front/rear fade and
ganging (balance front and rear together or fade left and right
together).
Dan Dennedy [Mon, 16 Aug 2010 08:58:59 +0000 (01:58 -0700)]
Fix ramping the mix level in mix transition.
Without ramping the same mix level is applied across the samples in the
frame. The result is a stair-stepping effect. With ramping, the mix
levels are actually values _between_ frames and the mix factor gradually
changes from one level to the next across all of the samples in the
frame.
Dan Dennedy [Fri, 13 Aug 2010 05:49:36 +0000 (22:49 -0700)]
Cleanup existing native color space conversions.
This change clarifies that the existing conversions are according to the
ITU 601 standard and scaled to and from full gamut RGB. Also, adjust 2
coefficients according to Charles Poynton's matrices. This does not yet
attempt to make any substantial improvements.
Finally, it replaces the verbose logic and redundancy in the image
conversion routine with a concise function dispatch table.
Dan Dennedy [Mon, 9 Aug 2010 04:10:19 +0000 (21:10 -0700)]
Optimize some deinterlace filter logic.
Prevents YADIF from fetching current frame image if previous frame image
is signalled progressive. Also, tells mlt_service to stop decorating
frame with previous and next frames when producer is determined to be
progressive or deinterlace is not requested.
Add support for auto rotation for images with exif data
The meta.attr.rotation property must be set to the exif data
to get the auto rotate effect. Only supported by qimage producer, not
with pixbuf currently...
modified: src/modules/qimage/qimage_wrapper.cpp
Dan Dennedy [Sun, 16 May 2010 18:03:32 +0000 (11:03 -0700)]
Multitrack audio encoding continued.
This version changes the configuration and remapping. The number of
channels per output audio track is set using "channels.<N>" properties
on the avformat consumer, where <N> is a 0-based numeric representing
the output track. At this time, all tracks must share all other
attributes such as sample rate, codec, and bitrate.
As for the remapping, this attempts to reuse the meta.map.audio...
properties set on the producers as used with the sdi consumer. One
exception: to skip or silence channels at the beginning tracks or in the
middle, you must add additional map properties to the end of the list to
simulate these "gaps."
Dan Dennedy [Thu, 8 Apr 2010 05:43:58 +0000 (22:43 -0700)]
Add automatic driver configuration to sdi consumer.
This uses the MLT profile to determine the configuration values: video
buffer size, audio buffer size, video frame mode (resolution, frame
rate), video data mode (8 bit or v210), number of audio channels, audio
sampling rate, audio sample size. It does _not_ set the clock source or
the number of buffers for audio and video.
sdi_generator.c
- pack changed to pack8 instead of packv210
- Transmitter events are checked only once a frame
- create_HD_SDI_Line and create_SD_SDI_Line do not calculate the current
position in the video_buffer for each sample. Now it is done once a
line.
Dan Dennedy [Sun, 28 Feb 2010 20:46:05 +0000 (12:46 -0800)]
Make swscale the preferred rescale filter.
Should be safe now since the default compile-time max resolution for
libswscale was increased to 5120 for non-ppc systems as of May, 2009.
Also, because I added the initialization and range tests.