Commit Graph
100 Commits
Author SHA1 Message Date
David Conrad c740f737e9 vorbisdec: Use int instead of uint16_fast_t for index variables
uint16_fast_t is unsigned int (or long) on Linux, which when compared
with int results in an unsigned compare.

Originally committed as revision 24994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-30 22:34:09 +00:00
David Conrad ca18a478e3 VP8: Inline traversing vp8_small_mvtree
Much faster read_mv_component, slightly faster overall

Originally committed as revision 24470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:25 +00:00
David Conrad 7697cdcf95 VP8: Use vp56_rac_get_prob_branchy when the bit is only used by an if()
Originally committed as revision 24469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:20 +00:00
David Conrad fe1b5d974a Decode DCT tokens by branching to a different code path for each branch
on the huffman tree, instead of traversing the tree in a while loop.

Based on the similar optimization in libvpx's detokenize.c

10% faster at normal bitrates, and 30% faster for high-bitrate intra-only

Originally committed as revision 24468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:17 +00:00
David Conrad 5474ec2ac8 Move renormalization of the VP56 arith decoder to before decoding a bit
No difference at the moment, but allows a future branchy variant
of vp56_rac_get_prob to be significantly faster

Originally committed as revision 24467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:14 +00:00
David Conrad b3d755ec8b Split renorm of vp56 arith decoder to its own function
Originally committed as revision 24466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:08 +00:00
David Conrad 24675b8093 vp56's arith decoder's code_word is only 16 bits, no need for unsigned long
Originally committed as revision 24465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:01 +00:00
David Conrad af521abc28 Add header declarations for mmx/sse constants missing them
Originally committed as revision 24381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 10:02:07 +00:00
David Conrad c7eec58170 Move ff_pw_* from vc1dsp_mmx.c to dsputil_mmx.c
Should fix compilation with icc and should help prevent any future duplicates

Originally committed as revision 24380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 10:02:03 +00:00
David Conrad 9ac831c2c0 vp8: Save mb border needed for intra prediction so that loop filter can run
immediately after a mb row is decoded

Originally committed as revision 24252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 07:20:35 +00:00
David Conrad b6c420ce8f vp8: Check for malloc failure
Originally committed as revision 24251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 07:20:31 +00:00
David Conrad faa26db28b MMX/SSE VC1 loop filter
Originally committed as revision 24208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:53:01 +00:00
David Conrad 7af8fbd348 Make ff_pw_4 128 bits
Originally committed as revision 24207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:55 +00:00
David Conrad fca58a815a vc1: Fix ordering of loop filter for I/B frames
All horizontal edges must be filtered before all vertical edges

Originally committed as revision 24206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:51 +00:00
David Conrad 3683b7e570 vc1: ff_draw_horiz_band needs a one row delay when the loop filter is active
Originally committed as revision 24205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:47 +00:00
David Conrad 105b37859b mov: Read Flash's chpl variant
This is based off of F4V specs rather than any actual files

Originally committed as revision 24035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-04 04:59:12 +00:00
David Conrad 5245c04da3 VP8: Move calculation of outer filter limit out of dsp functions for normal
filter to match the simple loop filter

Originally committed as revision 24010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 21:04:45 +00:00
David Conrad b67a8f49a4 Use __clang_version__ when available
Originally committed as revision 24009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 21:04:39 +00:00
David ConradandAurelien Jacobs 41c1ccc332 matroskadec: merge only SSA packets together
fixes issue 2052
patch by David Conrad

Originally committed as revision 24004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 16:41:38 +00:00
David Conrad 982fac7357 Altivec VP8 MC functions
Originally committed as revision 23884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-29 06:42:17 +00:00
David Conrad 7bf4e9d7f7 Altivec: Add helper function to load from a constant misalignment
Originally committed as revision 23883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-29 06:42:12 +00:00
David Conrad a3ef994cea vorbis: cosmetics, remove trailing comma for values that will never have
anything added

Originally committed as revision 23882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-29 06:42:08 +00:00
David Conrad 30bdefd1de Fix build without yasm
Originally committed as revision 23816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 02:52:43 +00:00
David Conrad 21f45508ba Add myself as VP8 and vorbisdec maintainer
Originally committed as revision 23814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 01:46:34 +00:00
David Conrad 0ef1dbedcb VP8 bilinear filter
Originally committed as revision 23813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 01:46:29 +00:00
David Conrad a02bb835ac vorbisdec: Take channels into account when checking against residue overflow
Fixes issue1969

Originally committed as revision 23812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 01:46:23 +00:00
David Conrad 54fdf5d150 vorbisdec: Fix header parsing with no floor1 partitions
Originally committed as revision 23811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 01:46:20 +00:00
David Conrad 780621b832 vorbisdec: Remove write-only variable
Originally committed as revision 23810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 01:46:14 +00:00
David ConradandRonald S. Bultje 3b636f21da Native VP8 decoder.
Patch by David Conrad <lessen42 gmail com> and myself.

Originally committed as revision 23719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 19:24:09 +00:00
David ConradandRonald S. Bultje 3ad289fca7 Add intra prediction functions for VP8.
Patch by David Conrad <lessen42 gmail com> and myself.

Originally committed as revision 23716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 19:17:09 +00:00
David ConradandRonald S. Bultje caaf098cec Make "topright" argument to pred4x4() const.
Patch by David Conrad <lessen42 gmail com>.

Originally committed as revision 23714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 19:12:54 +00:00
David Conrad e7ddafd515 matroskaenc: Don't write a second seekhead for the clusters; mkvalidate agrees
with me that it's unnecessary.

Originally committed as revision 23478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:41:11 +00:00
David Conrad d06735a34a matroskaenc: Check that tracks was allocated
Originally committed as revision 23477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:41:06 +00:00
David Conrad 1f4280e744 matroskaenc: Use av_get_random_seed -> lfg for segment UID
Originally committed as revision 23476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:41:03 +00:00
David Conrad 4a6bef1f36 matroskaenc: Make put_ebml_binary take a void pointer
Originally committed as revision 23475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:58 +00:00
David Conrad 3ad0b189f7 Add myself as libvorbis.c maintainer
Originally committed as revision 23472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:44 +00:00
David Conrad 57ebbccf9c libvorbis: Disable strict bitrate management when not requested
This is 3 times faster in a quick benchmark

Originally committed as revision 23471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:40 +00:00
David Conrad ed638b5c4b libvorbis: OV_ECTL_RATEMANAGE_AVG is depreciated in favor of
OV_ECTL_RATEMANAGE2_SET

Originally committed as revision 23470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:36 +00:00
David Conrad e5a5ea9e89 libvorbis: Hook up min/max bitrate
Originally committed as revision 23469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:31 +00:00
David Conrad 413abbe164 Add bitexact versions of put_no_rnd_pixels8 _x2 and _y2 for vp3/theora
Originally committed as revision 23463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 04:46:26 +00:00
David Conrad 6a7d7b88af arm neon: Add missing mangle to external symbol
Originally committed as revision 23418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-01 20:59:06 +00:00
David Conrad c0fda017d1 vp3: 10l Fix DC-only IDCT for C and ARM too
Originally committed as revision 23359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 07:22:04 +00:00
David Conrad 179655b6c6 vp3: The DC-only IDCT is surprisingly not supposed to be bitexact to the
full IDCT. Fix this.

Originally committed as revision 23358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 07:01:34 +00:00
David Conrad 173bb37f82 On2 IVF demuxer
Originally committed as revision 23357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 21:23:04 +00:00
David Conrad 4717f87259 VP8 parser
Originally committed as revision 23349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 04:39:31 +00:00
David Conrad 910b9f30c8 Add const to ff_emulated_edge_mc
Originally committed as revision 23348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 04:39:27 +00:00
David Conrad 94b303ba08 Add more const to _l4 pixel functions
Originally committed as revision 23347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 04:39:23 +00:00
David Conrad a4501a45db vp3: Skip the loop filter when strength is 0 or when requested
Originally committed as revision 23346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 04:39:12 +00:00
David Conrad cc46005f50 theora: Don't read an excess bit for maximum length long bit runs if the run
exactly ends the remaining blocks.

Originally committed as revision 23304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 03:19:54 +00:00
David Conrad 7bb83d8ddf matroskaenc: Write codec time base as default duration for video tracks.
This isn't exactly semantically equivalent, but the field has already been
long abused to mean this, and writing it helps in determining a decent cfr
time base when transcoding from a mkv where the video codec stores none (VP8).

Originally committed as revision 23284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-24 08:58:19 +00:00
David Conrad 31fdd64194 Convert NaN to 0/0 in av_d2q
This fixes aspect ratio calculation for encoding from files with 0/0 stored,
common with ogg/theora

Originally committed as revision 23280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-24 00:44:02 +00:00
David Conrad 8daed34e48 matroskadec: Revert adding the doctype to metadata; it has no meaning elsewhere
Originally committed as revision 23275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 22:20:04 +00:00
David Conrad 85e86b6810 Update regression tests after removing track timecode scale from mkvenc
Originally committed as revision 23248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 02:13:01 +00:00
David Conrad 577abedb39 matroskaenc: Don't write track timecode scale
It's not required for mkv and unsupported in webm

Originally committed as revision 23247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 01:41:38 +00:00
David Conrad c7b913c8ad matroskadec: Allow unknown EBML doctype
Originally committed as revision 23246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 01:41:35 +00:00
David Conrad 7382617a2f Bump minor version for CODEC_ID_VP8
Originally committed as revision 23194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-19 20:13:50 +00:00
David Conrad 5549aa6d0d matroskadec: Free ebml binary buffer on error
Based on a Chromium patch

Originally committed as revision 23169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:37 +00:00
David Conrad 465c28b6b4 matroskadec: Fix buffer overread in matroska_ebmlnum_uint
Based on a Chromium patch

Originally committed as revision 23168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:32 +00:00
David Conrad d98bd80ed3 matroskadec: Ensure time_scale is nonzero, fixes divide-by-zero if the file
has 0 written

Based on a Chromium patch

Originally committed as revision 23167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:28 +00:00
David Conrad 1c664b239c matroskadec: Use av_freep in ebml_read_ascii
Based on a Chromium patch

Originally committed as revision 23166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:23 +00:00
David Conrad e9d96831f7 schroenc: Set colorspace info
Originally committed as revision 23030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 21:38:02 +00:00
David Conrad 37284120ca schroenc: Use AV_RB32
Originally committed as revision 23029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 21:37:58 +00:00
David Conrad 31cf8c650a schroenc: Set open-gop
Originally committed as revision 23028 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 21:02:49 +00:00
David Conrad 3d6fa004e8 schroenc: Set keyframe interval
Originally committed as revision 23027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 21:02:45 +00:00
David Conrad e0a24555b4 schroenc: Use constant quality for constant quality, not noise threshold
Originally committed as revision 23026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 21:02:41 +00:00
David Conrad 614748ceeb schroenc: Don't touch gop_structure by default, it should be left adaptive
Originally committed as revision 23025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 21:02:37 +00:00
David Conrad ddb630177a movenc: Write QuickTime chapters
Originally committed as revision 23022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 08:41:10 +00:00
David Conrad 1b206f62ea movenc: Swap positions of mov_write_header and mov_write_packet
Originally committed as revision 23021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 08:41:06 +00:00
David Conrad 1cf9f6ed4f mov: Read nero chapters
Originally committed as revision 23020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 08:41:01 +00:00
David Conrad 8e6daa4a95 theora: coeff huffman codes are allowed to be up to 32 bits long (for 32 tokens)
Originally committed as revision 22931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 13:19:00 +00:00
David Conrad 7221579b0c mov: Read QuickTime chapters
Originally committed as revision 22928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 06:36:09 +00:00
David Conrad dc75e4e3b3 movenc: Write nero chapters
Originally committed as revision 22927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 06:36:05 +00:00
David Conrad 33e623831b vp3: Use avctx pointer directly
Originally committed as revision 22899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 10:37:42 +00:00
David Conrad 8099d6c985 vp3: Read fps and aspect ratio in the decoder
Originally committed as revision 22898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:39 +00:00
David Conrad ddc7e438e0 vp3: Don't crop if there's a left/top offset, it's wrong
Fixes issue1834

Originally committed as revision 22897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:35 +00:00
David Conrad eb6a6cd788 vp3: DC-only IDCT
2-4% faster overall decode

Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:30 +00:00
David Conrad 6086731299 vp3: More buffer length checks
.5% slower to fix some crashes on invalid streams

Originally committed as revision 22893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:44 +00:00
David Conrad d7097c2d88 vp3: Remove internal debug statement
Originally committed as revision 22892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:41 +00:00
David Conrad adc725b558 oggdec: Move warning about missing granule to the correct place
Originally committed as revision 22891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:38 +00:00
David Conrad 44a088eab7 oggdec: Fix duration calculation if the last page in a file has no granule
Originally committed as revision 22890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:35 +00:00
David Conrad 49c2d29089 oggdec: Remove write-only variable
Originally committed as revision 22889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:29 +00:00
David Conrad 14268254c8 vp3: Split out motion vectors to their own array
1.5% faster overall decode on my penryn

Originally committed as revision 22504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 10:25:41 +00:00
David Conrad 1e76a1da05 theora: Add support for 4:2:2 and 4:4:4 subsampling
Originally committed as revision 22500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:59:22 +00:00
David Conrad 1a8560423e vp3: remove unneeded error, this is internal and doesn't happen
Originally committed as revision 22499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:59:18 +00:00
David Conrad 577838842d vp3: Make fragment_width _height by plane
Originally committed as revision 22498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:15 +00:00
David Conrad 1c183aa418 vp3: we only need a temp MV array of size 4
Originally committed as revision 22497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:11 +00:00
David Conrad 703acd540e vp3: Use memset to clear the fragment array
Originally committed as revision 22496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:08 +00:00
David Conrad cd9c03f57f vp3: Init MVs to 0
Originally committed as revision 22495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:05 +00:00
David Conrad a16389c18f vp3: Simplify init_block_mapping
Originally committed as revision 22494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:01 +00:00
David Conrad 3477897e5a oggdec: Set packet duration for ogm streams
Originally committed as revision 22493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:55:57 +00:00
David Conrad 81b743eb10 oggdec: Pass packets to header() until the stream is done with them
This fixes some old ogm files that had the 3rd vorbis header after a data
packet in another stream. This is invalid in ogg, but this change shouldn't
affect the behaviour of any valid file.

Originally committed as revision 22478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:17:01 +00:00
David Conrad 8730fad595 oggdec: Parse ogm chapters
Originally committed as revision 22477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:57 +00:00
David Conrad 2e5085854c oggdec: Cosmetics
Originally committed as revision 22476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:54 +00:00
David Conrad d8ba748359 oggdec: Read ogm metadata
Originally committed as revision 22475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:51 +00:00
David Conrad 533c30fced Const correctness for vorbis_comment
Originally committed as revision 22474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:47 +00:00
David Conrad b53cde48bd oggdec: Metadata is per-stream; don't merge multiple streams' together
Originally committed as revision 22473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:44 +00:00
David Conrad e4d2d8c5d7 Add ff_ prefix to vorbis_comment
Originally committed as revision 22472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:39 +00:00
David Conrad d8b91fae1d oggdec: Seek to keyframes
Originally committed as revision 22463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:18:00 +00:00
David Conrad 873d117e4b oggdec: Determine pts and filepos on a packet basis in read_timestamp
This takes into account whether the granule defines the start or end times
of packets, and sets the correct file offset of the associated page.

Originally committed as revision 22462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:56 +00:00
David Conrad 6abaa27211 oggdec: Move PTS/DTS calculation to a function
Originally committed as revision 22461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:53 +00:00