Current MicroDVD AVPackets contain timing information and trailing line
breaks. The data is now only composed of the markup data. Doing this
consistently between text subtitles decoders allows to use different
codec for various formats. For instance, MicroDVD markup is sometimes
found in some VPlayer files. Also, generally speaking, the subtitles
text decoders have no use of these timings (and they must not use them
since it would break any user timing adjustment).
Technically, this is a major ABI break. In practice, a mismatching
lavf/lavc will now error out for MicroDVD decoding. Supporting both
formats requires unnecessary complex and fragile code.
FATE needs update because line breaks in the ASS file were "\n" (because
that's what is used in the original file). ASS format expect "\r\n" line
breaks; this commit fixes this issue. Also note that this "\r\n"
trailing need to be moved at some point from the decoders to the ASS
muxer.
Note that the linebreaks text codec option (but not the feature) has
been removed; its main goal was to allow demuxers to configure the text
decoder (and not meant to be used by users), but the AVOption are not a
viable solution. This is solved differently in this commit.
This commit also makes sure the extradata and subtitle_header are NUL
terminated, without taking into account the trailing '\0' in account in
the size.
At the same time, it should fix 'warning: dereferencing type-punned
pointer will break strict-aliasing rules' warning for compilers who
don't consider uint8_t** and char** compatibles.
The SRT muxer is reponsible for separating events with two line breaks,
there is no need to add more than necessary. Similarly, other muxers
(such as Matroska) are not supposed to add line breaks at the end of the
payload.
This is a temporary workaround until all filters have been
upgraded to filter_frame and the framework can forget completely
about start_frame/draw_slice/end_frame.
* qatar/master:
snow: use VideoDSPContext
Conflicts:
libavcodec/snow.c
Nothing merged here, this has already been fixed in ffmpeg long ago
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '30a76487304e7250294c9c0e9fa179bf07fd822a':
hlsenc: make segment number unsigned
hlsenc: make EXT-X-MEDIA-SEQUENCE always increase
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9b1370aced385698bc783747917544ab69ecb373':
hlsenc: do not add timestamps in different timebases
hlsenc: use the correct AV_TIME_BASE macro
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0448f26c97c5ab4858d31e456a4f1738ae783242':
hlsenc: keep the playlist to the correct number of items
hlsenc: use the segment filename in the playlist entry
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '6dd93ee6f1b050ad7c4b247899e83efa293ee405':
hlsenc: check append_entry return value
hlsenc: use the basename to generate the list entries
avstring: add av_basename and av_dirname
Conflicts:
Changelog
doc/APIchanges
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is consistent with the other ff_ass_split_* functions.
It also fixes a crash when trying to split a dialog with text=NULL
(which seems to happen when the text of the dialog is empty); basically,
this commit fixes crashes when trying to encode an empty text subtitle
dialog (see subrip and mov_text encoders).
Fixes Ticket2048.
Some wav files report a data size that is bigger than the actual file size.
Fall back to estimation from bitrate in such cases.
Fixes ticket #2065.
Signed-off-by: James Almer <jamrial@gmail.com>