Commit Graph
100 Commits
Author SHA1 Message Date
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
David Conrad 2ac41150c0 oggdec: Fix memory leak in setting up vorbis headers
Originally committed as revision 22460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:49 +00:00
David Conrad 8f8320d7c3 oggdec: Don't use ogg_stream's seq for vorbis or speex headers
Originally committed as revision 22459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:46 +00:00
David Conrad 77560b0ef1 oggdec: Fix duration calculation for streams with non-zero start
Originally committed as revision 22458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:43 +00:00
David Conrad 32ad869284 oggdec: Parse skeleton to determine the start time of each stream
Originally committed as revision 22457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:40 +00:00
David Conrad 296bdf9cf1 oggdec: Check that we have a codec in gptopts (needed for skeleton)
Originally committed as revision 22456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:36 +00:00
David Conrad dfaed51f04 oggdec: Move ogg_find_stream and ogg_gptopts to oggdec.h
(skeleton will need them)

Originally committed as revision 22455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:33 +00:00
David Conrad 50a9d32310 oggdec: Set data_offset to the right value
Otherwise it gets set automatically to a page midstream and prevents seeking
to the first page.

Originally committed as revision 22454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:29 +00:00
David Conrad 73823cb941 oggdec: Save offset of the page needed to reconstruct the current packet
Originally committed as revision 22453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:24 +00:00
David Conrad f50dafa8fc vp3: avoid buffer overread in coeff decode
I couldn't measure it to be slower for normal interframe videos.
For the worst case, high-bitrate intra-only videos, it can be 0.7% slower.

Originally committed as revision 22416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 00:59:32 +00:00
David Conrad d63a718764 vp3: correctly clip vp3_draw_horiz_band call
Originally committed as revision 22377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 06:52:33 +00:00
David Conrad f9ff7179ff mkvenc: Handle negative timestamps correctly
Originally committed as revision 22372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:36 +00:00
David Conrad 654b65d012 mkvenc: Don't try to write packets with unknown timestamps
Originally committed as revision 22371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:33 +00:00
David Conrad 84d4e599a5 mkvenc: write dts for VFW mode
Originally committed as revision 22370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:28 +00:00
David Conrad ff65969fd8 vp3: Set pict_type
Originally committed as revision 22361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:26 +00:00
David Conrad 7a4e8b5913 vp3: Allocate a dummy reference frame if we have no keyframe
Originally committed as revision 22360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:22 +00:00
David Conrad 0c9afacbf5 vp3: use FF_BUFFER_TYPE_COPY
Originally committed as revision 22359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:19 +00:00
David Conrad e72d2d1221 vp3: Don't leak buffers on errors
Originally committed as revision 22358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:16 +00:00
David Conrad 739b5090af vp3: Simplify buffer management
Originally committed as revision 22357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:12 +00:00
David Conrad 01f9640b21 vp3: be less spammy on broken files
Originally committed as revision 22356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:09 +00:00
David Conrad 38c3b6e73e inet_aton needs _DARWIN_C_SOURCE on OS X
Originally committed as revision 22285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 19:49:02 +00:00
David Conrad ac11d562e5 Localize the #define _SVID_SOURCE needed for inet_aton() to os_support.c
Originally committed as revision 22284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 19:48:59 +00:00
David Conrad 4def700e9e Fix clang sysroot flag
Older versions accepted both with and without an '=', but newer versions
require the '=' to be omitted

Originally committed as revision 22274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 03:01:36 +00:00
David Conrad 457c08ba3c Add internal.h include for av_read_frame_flush prototype
Fixes build with clang

Originally committed as revision 22273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 02:35:45 +00:00
David Conrad 148e8f2d29 Fix warning about incompatible pointer types
Originally committed as revision 22272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 02:26:34 +00:00
David Conrad e48f7ff3cb matroskadec: Fix a buffer overread
Originally committed as revision 22271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 02:26:30 +00:00
David Conrad 8b6bdb6cf3 oggdec: Parse theora headers since ogg might not mark keyframes
Fixes issue746

Originally committed as revision 22214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 00:22:40 +00:00
David Conrad 8ef9484023 Just ignore streams with unknown codec_type instead of exiting
Originally committed as revision 22213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 00:22:37 +00:00
David Conrad e2720b6b1e Really fix 2.95
Originally committed as revision 22204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 10:01:03 +00:00
David Conrad 0448ef7788 Maybe fix gcc 2.95
Originally committed as revision 22203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 09:25:42 +00:00
David Conrad 871b641b80 Ensure that we write clusters and blocks with known size when streaming
Too many demuxers can't cope with clusters of unknown size.

Originally committed as revision 22201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:14 +00:00
David Conrad 434a70b8f1 Fix indentation
Originally committed as revision 22200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:11 +00:00
David Conrad 30f06a58a0 Simplify starting and ending clusters
Originally committed as revision 22199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:08 +00:00
David Conrad 7a2a484081 Write the first seekhead if writing to a stream, we won't be able to seek
back and write it at the end

Originally committed as revision 22198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:04 +00:00
David Conrad 2529bb3019 Attempt seeking to write EBML master sizes even if streamed
Most EBML masters are much smaller than IO_BUFFER_SIZE and thus the size
can be updated. This makes parsing the resulting files easier.

Originally committed as revision 22197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:00 +00:00
David Conrad c72625f299 Delay translating DCT tokens into coefficients until immediately before IDCT
This is generally around 12% faster than the prior method of creating a
linked list for each block as tokens are read, but can be anywhere from
8% to 28% faster depending on file and CPU.

Originally committed as revision 22190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:43 +00:00