Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt):
Whoops - handle input video caps that don't have a framerate
Original commit message from CVS:
* HACKING:
* ext/ffmpeg/gstffmpegcolorspace.c:
Remove mentions of ffmpegcolorspace now that it's in
gst-plugins-base
* ext/ffmpeg/Makefile.am:
Link to gstreamer libraries
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init),
(gst_ffmpegdec_close), (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_negotiate), (gst_ffmpegdec_frame):
Convert to fractional framerate
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
we have better ways of debugging caps
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps):
ye gods. get_template_caps doesn't return a ref, so when the
pad was not linked, crashes would ensue. Serves me right.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_codecid):
Add x264 to muxer (it was added to template, but I forgot to add
h264 caps recognition for some reason).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
Make type explicit.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_release_buffer),
(gst_ffmpegdec_frame), (gst_ffmpegdec_chain),
(gst_ffmpegdec_change_state):
When we provide a buffer and get a valid return value (data was
read), but no output (have-data==0), then we need to reuse this
same output buffer, because it may be used for caching output
data. Fixes#307353.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
Timestamp fix.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps),
(gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid):
add flv encoder, fix#309050
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame):
set both DELTA_UNIT and KEY_UNIT
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop):
use DELTA_UNIT and not the deprecated KEY_UNIT
fix#309049
Original commit message from CVS:
* NEWS:
* RELEASE:
* TODO:
* configure.ac:
Release 0.8.5 "For the better of the world".
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
Stay backwards compatible a short while longer (SVQ3).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
Remove weird flags from SVQ3 flags and just give full atom,
like other files; fixes frame order problems (#306530).
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps):
Add JPEG-formatted YUV enums.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid),
(gst_ffmpeg_get_codecid_longname):
Add ALAC, shorten and some more in new FFMPEG snapshot of
21/4, somewhere this afternoon.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register):
Add warnings to decoder registration to easier add new ones
during snapshot updates.
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
Enable muxers (only mp4 muxer for now).
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid):
* ext/ffmpeg/gstffmpegcodecmap.h:
Fix a bunch of typos in codec-id lookup (false/true return value
mixup), add a codec-id list retrieval function (because ffmpeg
does not provide one). With that, we can make valid pad templates.
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_init),
(gst_ffmpegmux_connect), (gst_ffmpegmux_loop),
(gst_ffmpegmux_change_state), (gst_ffmpegmux_get_id_caps),
(gst_ffmpegmux_register):
Fix for whatever changed since I last tried this. Works for MP4
muxing.
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open),
(gst_ffmpegdata_peek), (gst_ffmpegdata_write),
(gst_ffmpegdata_seek), (gst_ffmpegdata_close):
Update obviously-untested write code...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid):
Change caps of MJPEGB to not interfere with MJPEG/JPEG.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
Remove rank for SP5X, no clue what that is...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid):
Add AMR mimetypes (since those are recognized in ffmpeg).
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register):
Register law codecs too, add time debug. Use ANY for template caps
since we don't necessarily have available decoders for recognized
formats.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt):
Add extradata to huffyuv, sync RGBA32 up with gst-plugins.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_query),
(gst_ffmpegdec_event):
Make somewhat clearer.
Original commit message from CVS:
* TODO:
Update since some tasks are done.
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find):
Add correct mimetype for FLI video, restore correct typefind
priority.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
Re-add H263I as intel-h263 (which is not h263-compliant...).
Increase rank of mpeg2video since it plays more videos than
its gst-plugins counterpart, with no regressions.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid):
Set property incompatible with DV demuxer so that it won't
infinitely plug demuxers to each other. Fixes playback of .dv
streams in Totem.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps):
Add ID3 mime. Should partially fix#155274 (although raw mp3
sounds awful, it doesn't parse correctly in the decoder-only
case).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname),
(gst_ffmpeg_avpicture_fill):
Add new codecIDs from new snapshot (Thu Dec 16 11:27:18 2004).
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event),
(gst_ffmpegdemux_type_find), (gst_ffmpegdemux_loop):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop):
API updates.
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_read),
(gst_ffmpegdata_seek):
A slightly smarter approach, but it still needs lost of work to
be reliable in any way...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
Negotiation fixes for real video codecs.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid):
Generalized palette functions, add actual mimetypes for wing
commander formats.
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain):
Ffmpeg has internal palette functions, so I noticed.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Actually remove all palette code.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps),
(gst_ffmpeg_caps_to_pixfmt):
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link),
(gst_ffmpegcsp_init), (gst_ffmpegcsp_chain),
(gst_ffmpegcsp_change_state), (gst_ffmpegcsp_register):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Move palette handling over from the decoder to the colorspace
conversion plugin (where you would expect it).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid):
Simplify codec_data handling.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
WMV extradata (make #152798 work). J-frames are only available
in the bitstream if the J-frame bit has been set in the extradata.
If not (or if extradata is not provided), the movie won't play.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_close),
(gst_ffmpegdec_connect), (gst_ffmpegdec_chain):
Only close ffmpeg if privdata was allocated (else it segfaults).
Autodetect encoding bugs and workaround it. Don't copy data if
decoding failed.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
Use read_frame() instead of read_packet() which is obsolete.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid):
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_read):
Do some more random property setting. Fix for if there's less than
ffmpeg-default-buffersize (32kB) data in a file _and_ there's an
event pending. Partially fixes#142320.
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
Remove redundant calls which are called internally already.
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
Indenting...
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop),
(gst_ffmpegdemux_register):
Remove typefind functions and rank for demuxers for any demuxer
that we already have in GStreamer.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
don't operate on undefined variables (fixes#135145)
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
block_align and bitrate caps property were lost for wma
use codec_data instead of flag1 and flag2
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid):
WAV/IMA-ADPCM -> DVI ADPCM.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette),
(gst_ffmpeg_set_palette), (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_smpfmt),
(gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_caps_with_codectype),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid):
* ext/ffmpeg/gstffmpegcodecmap.h:
Change some function names to reflect that they don't really
_return_ something, but rather _use_ something to fill a
AVCodecContext. s/to/with/. Restructure the extradata handling,
it's now not picking up the type from the caps but rather
using the type as provided in the function. This is a lot
cleaner. Implement MS RLE palette pickup.
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect):
Sync with the above function name changes.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_close),
(gst_ffmpegdec_open), (gst_ffmpegdec_connect),
(gst_ffmpegdec_chain), (gst_ffmpegdec_change_state):
Add some hacks to convert palette-based raw image formats to
RGBA32. Ugly, but I don't know how else to handle palette-based
RGB, since img_convert() (and thus ffcolorspace) doesn't accept
a palette as argument.