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
Aurelien Jacobs
66cfc3856c
matroskadec: remove now useless wrapper ebml_read_seek()
...
Originally committed as revision 14602 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
5c5373cea4
matroskadec: remove now useless peek_id
...
Originally committed as revision 14601 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
3879763833
matroskadec: don't try to re-read already parsed ID in matroska_parse_cluster()
...
Originally committed as revision 14600 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
6314cca006
matroskadec: remove now unused parameter 'once' from ebml_parse_nest()
...
Originally committed as revision 14599 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
c4d3d9ba95
matroskadec: directly use ebml_parse() or ebml_parse_id() where it's enough
...
Originally committed as revision 14598 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
66a37e060b
matroskadec: new ebml_parse() function, centralize ebml_read_element_id() calls
...
Originally committed as revision 14597 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
9bcb92ca6b
matroskadec: rename ebml_parse() to ebml_parse_nest()
...
Originally committed as revision 14596 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
c005b3f224
matroskadec: don't care about the number of bytes read by ebml_read_element_id()
...
Originally committed as revision 14595 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
592110c26c
matroskadec: simplify check for hierarchy level
...
Originally committed as revision 14594 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago