Aurelien Jacobs
8f569ed08f
matroskadec: fix index timestamps for some broken files
...
fix issue697
Originally committed as revision 15829 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
37d3e0667a
uses FF_ARRAY_ELEMS() where appropriate
...
Originally committed as revision 15662 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
bc5c918ea8
Remove offset_t typedef and use int64_t directly instead.
...
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.
Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
c58e8bd3c3
matroskadec: cosmetics: indentation
...
Originally committed as revision 15529 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
21a115d17b
matroskadec: don't merge packets which have no timestamp
...
Originally committed as revision 15528 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
d5e34dcb72
matroskadec: merge ASS events which share the same pts in the same AVPavket
...
Originally committed as revision 15455 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
3df2be9fa7
matroskadec: ass events lines must end with a DOS style EOL
...
Originally committed as revision 15454 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
1bb4a1a1c4
matroskadec: set duration only for CODEC_ID_TEXT subtitles
...
Originally committed as revision 15453 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
e7d4b7431d
matroskadec: pass duration as parameter of matroska_fix_ass_packet()
...
Originally committed as revision 15452 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
a8fd7e764a
matroskadec: simplify, first_timecode is already in the index
...
no need to duplicate it
Originally committed as revision 15302 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
5358a81f9c
matroskadec: prevent seeking before the first keyframe of the reference stream
...
Originally committed as revision 15301 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
c16582579b
matroskadec: demux relevant subtitle packets after a seek
...
only works for subtitle tracks which were properly indexed up to the seek point
Originally committed as revision 15284 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
82360e670d
matroskadec: ensure that overlapping subtitles are not added to the index
...
Originally committed as revision 15283 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
20f7466550
matroskadec: after seeking, skip up to the desired timestamp instead of
...
the desired stream
Originally committed as revision 15282 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
f14a201b32
matroskadec: move timecode calculation a little earlier
...
so as to be able to use it in other part of the code
Originally committed as revision 15281 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
3fc9d7cec4
matroskadec: sanitize track time_scale before using it
...
fix issue628
Originally committed as revision 15280 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
a3467f8608
matroskadec: remove now useless vstream and is_video_key_frame
...
Originally committed as revision 15231 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
dbfb0e5f36
matroskadec: remove useless braces
...
Originally committed as revision 15230 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
24c3da1637
matroskadec: ensure that the timecode added to the index are is the one
...
of the actual keyframe block, and not the one of the start of the cluster
containing this block.
Originally committed as revision 15229 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
3eb9bfbb84
matroskadec: fix ASS subtitle track packets before emitting them
...
Matroska does some butchering when storing the ASS lines. The start and end
time are removed (because they are duplicated in the container).
The matroska_fix_ass_packet() function simply restore those start and end
time in ASS lines to ensure our ASS packets comply with the ASS spec.
Originally committed as revision 15211 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
62c24705c8
matroska: subtitle display duration must be stored in pkt->convergence_duration
...
Originally committed as revision 15206 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
0dbddda397
matroskadec: cosmetics: indentation
...
Originally committed as revision 14995 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
6bef5f9b96
matroskadec: seek to the last position known in the index before resorting to
...
full cluster parsing when seeking after the end of index
Originally committed as revision 14994 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
8e44312d3f
matroskadec: index timestamps are supposed to be in the timebase of the stream
...
Originally committed as revision 14984 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
244ee48a82
matroskadec: unset matroska->done when seeking
...
just in case someone try to seek back after reaching the end of file
Originally committed as revision 14960 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
0f646a2233
matroskadec: full seeking support in index-less files
...
when trying to seek past the last index entry, just parse more clusters to add them to the index, until an index entry match the desired position
Originally committed as revision 14959 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
8bc98ba92b
matroskadec: on the fly index construction for index-less files
...
each cluster that is read and that contains a video key frame is added
to the index
Originally committed as revision 14957 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
dfbbbdc0bf
matroskadec: don't try to seek to negative timestamp
...
matroska timestamps are unsigned
Originally committed as revision 14956 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
653fb2f80c
matroskadec: move setting of matroska->done inside matroska_parse_cluster()
...
Originally committed as revision 14955 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Reimar Döffinger
7b571fd7a4
Mark "matroska" probe data string constant.
...
Originally committed as revision 14949 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
ba18b99ffa
matroskadec: make aac_profiles array const
...
Originally committed as revision 14943 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
5972945197
convert every muxer/demuxer to write/read sample_aspect_ratio from/to
...
the corresponding AVStream instead of AVCodecContext
Originally committed as revision 14933 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
28f27e0c0c
matroskadec: fail cleanly when the required compression lib is not compiled in
...
Originally committed as revision 14870 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
dc3e0211ed
matroskadec: stop parsing when skipping en element crossing over the end of file
...
Originally committed as revision 14869 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
eb9cf50a74
matroska: add support for most variants of PCM
...
Originally committed as revision 14862 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
b49d17b77a
matroskadec: handle EBML_ID_VOID and EBML_ID_CRC32 in a generic way
...
Originally committed as revision 14861 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
5df3cc6f80
matroskadec: list some more ebml IDs found in the wild and that we ignore
...
This avoid printing some warnings about unknow IDs while we in fact know
the IDs but just want to knowingly ignore them.
Originally committed as revision 14738 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
131f1cb2a9
matroskadec: parse available blocks even when cluster parsing failed
...
This way, we still read the few complete blocks out of a truncated
cluster at the end of a truncated file.
Originally committed as revision 14723 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
44015c56a6
matroskadec: add basic tags support (metadata)
...
Originally committed as revision 14672 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
00a3431cbb
matroskadec: use av_freep(&x) instead of av_free(x);x=NULL
...
Originally committed as revision 14633 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Anton Khirnov
b87025399c
matroskadec: replace matroska_queue_packet with a single call to dynarray_add
...
patch by Anton Khirnov wyskas _at_ gmail _dot_ com
Originally committed as revision 14632 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
5968d2dd1e
misc spelling/grammar fixes
...
Originally committed as revision 14616 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
cc70d14b3d
matroskadec: remove useless num_streams
...
Originally committed as revision 14611 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
88cca98947
matroskadec: expand useless ebml_read_element_id() wrapper
...
Originally committed as revision 14610 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
33ac07ea08
matroskadec: simplify matroska_ebmlnum_sint()
...
Originally committed as revision 14609 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
c1e01133f6
matroskadec: implement matroska_ebmlnum_uint() using ebml_read_num()
...
Originally committed as revision 14608 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
cc8be50637
matroska: expand useless define for MS compat codec id strings
...
Originally committed as revision 14607 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
ff33c5c565
matroskadec: update copyright year and related comments
...
Originally committed as revision 14605 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
737c40da20
matroskadec: reorder some functions in a more logical order
...
Originally committed as revision 14604 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
1b6d23bbcb
matroskadec: remove now useless wrapper ebml_read_element_length()
...
Originally committed as revision 14603 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago