libopusenc.git
20 months agoAdd VS projects to make dist
Ricardo Constantino [Thu, 4 Jan 2018 00:51:23 +0000 (00:51 +0000)]
Add VS projects to make dist

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
20 months agoAdd appveyor
Ricardo Constantino [Wed, 3 Jan 2018 23:57:02 +0000 (23:57 +0000)]
Add appveyor

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
20 months agoAdd Visual Studio 2015 projects
Ricardo Constantino [Wed, 3 Jan 2018 13:44:46 +0000 (13:44 +0000)]
Add Visual Studio 2015 projects

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
20 months agoAvoid undefined behavior in oggp_get_next_page
Mark Harris [Sat, 30 Dec 2017 19:17:22 +0000 (11:17 -0800)]
Avoid undefined behavior in oggp_get_next_page

This effectively changes:
  oggp->buf + (p->buf_pos - header_size)
to:
  oggp->buf + p->buf_pos - header_size

When header_size > p->buf_pos the first subtraction results in a large
unsigned value, as p->buf_pos is size_t.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
20 months agoFixes ope_encoder_drain() bug
Jean-Marc Valin [Sat, 30 Dec 2017 18:57:42 +0000 (13:57 -0500)]
Fixes ope_encoder_drain() bug

assert(enc->streams == NULL) would fail because pad_samples was missing
a fractional number of samples due to the resampler output latency not
being an integer.

20 months agog_old_output_cp is no longer needed
Jean-Marc Valin [Fri, 29 Dec 2017 20:35:54 +0000 (15:35 -0500)]
g_old_output_cp is no longer needed

20 months agoRelax JPEG check to allow EXIF metadata
Mark Harris [Fri, 29 Dec 2017 18:31:59 +0000 (10:31 -0800)]
Relax JPEG check to allow EXIF metadata

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
20 months agoAdd Windows UTF8 support
Jean-Marc Valin [Fri, 29 Dec 2017 18:47:13 +0000 (13:47 -0500)]
Add Windows UTF8 support

20 months agoFixes uninitialized seen_file_icons
Jean-Marc Valin [Fri, 29 Dec 2017 18:28:59 +0000 (13:28 -0500)]
Fixes uninitialized seen_file_icons

20 months agoRemove comment_replace_vendor_string() which is now useless
Jean-Marc Valin [Fri, 29 Dec 2017 16:53:29 +0000 (11:53 -0500)]
Remove comment_replace_vendor_string() which is now useless

20 months agoAvoid symbol collisions (especially with static linking)
Jean-Marc Valin [Fri, 29 Dec 2017 16:52:44 +0000 (11:52 -0500)]
Avoid symbol collisions (especially with static linking)

20 months agocleanup
Jean-Marc Valin [Fri, 29 Dec 2017 16:47:49 +0000 (11:47 -0500)]
cleanup

20 months agoAvoiding symbol collisions for the picture code
Jean-Marc Valin [Fri, 29 Dec 2017 07:59:00 +0000 (02:59 -0500)]
Avoiding symbol collisions for the picture code

20 months agofixes lookahead when application is changed
Jean-Marc Valin [Thu, 28 Dec 2017 23:12:48 +0000 (18:12 -0500)]
fixes lookahead when application is changed

20 months agofix comments
Jean-Marc Valin [Thu, 28 Dec 2017 21:49:19 +0000 (16:49 -0500)]
fix comments

22 months agoBump revision v0.1.1
Jean-Marc Valin [Mon, 13 Nov 2017 01:49:13 +0000 (20:49 -0500)]
Bump revision

2 years agoPrint a useful error when pkg-config is missing
Jean-Marc Valin [Wed, 2 Aug 2017 22:20:54 +0000 (18:20 -0400)]
Print a useful error when pkg-config is missing

(copied from opusfile)
Without this check, the PKG_CHECK_MODULES() macro remains
unexpanded, which gives a syntax error when the shell reaches that
point in the configure script, even for checks which are disabled
(e.g., the OpenSSL check when using --disable-http).

Instead, explicitly check for pkg-config and give the user useful
advice on how to solve the problem if it's not found.

Thanks to eXpl0it3r for reporting a problem for which installing
pkg-config turned out to be the solution.

2 years agosome extra checks to avoid crashing
Dragos Oancea [Mon, 24 Jul 2017 18:01:18 +0000 (19:01 +0100)]
some extra checks to avoid crashing

(modified by Jean-Marc Valin)

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2 years agoFix pull_api mode
miv [Fri, 14 Jul 2017 10:25:22 +0000 (12:25 +0200)]
Fix pull_api mode

ope_encoder_create_pull calls ope_encoder_create_callbacks with a
NULL callbacks argument, which causes the function to crash. Test
for NULL to prevent this.

As well, we try and call the close callback when flushing the stream,
which also leads to a crash when the callbacks are not set. Don't call
the callback in pull mode.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2 years agoUse snprintf() on newer MS compilers
Jean-Marc Valin [Mon, 10 Jul 2017 18:43:55 +0000 (14:43 -0400)]
Use snprintf() on newer MS compilers

2 years agoUsing _snprintf() on windows
Jean-Marc Valin [Mon, 10 Jul 2017 18:22:46 +0000 (14:22 -0400)]
Using _snprintf() on windows

2 years agoAvoid crashing when setting the muxing delay early
Jean-Marc Valin [Mon, 10 Jul 2017 17:10:28 +0000 (13:10 -0400)]
Avoid crashing when setting the muxing delay early

2 years agolimit decision_delay to MAX_LOOKAHEAD
Jean-Marc Valin [Sat, 24 Jun 2017 01:14:30 +0000 (21:14 -0400)]
limit decision_delay to MAX_LOOKAHEAD

2 years agomissed one
Jean-Marc Valin [Sat, 24 Jun 2017 00:59:38 +0000 (20:59 -0400)]
missed one

2 years agoRemove wav_permute_matrix[][]
Jean-Marc Valin [Sat, 24 Jun 2017 00:50:33 +0000 (20:50 -0400)]
Remove wav_permute_matrix[][]

It got copied from opus-tools, but it's not needed.

2 years agos/opusenc/libopusenc/
Jean-Marc Valin [Sat, 24 Jun 2017 00:50:06 +0000 (20:50 -0400)]
s/opusenc/libopusenc/

2 years agoFixes LPC extension for the resampling case
Jean-Marc Valin [Mon, 19 Jun 2017 17:34:39 +0000 (13:34 -0400)]
Fixes LPC extension for the resampling case

We have to do the extension at the input sampling rate, not at the output
sampling rate.

2 years agoFixes shift_buffer() to actually preserve the first LPC_INPUT samples
Jean-Marc Valin [Mon, 19 Jun 2017 17:06:25 +0000 (13:06 -0400)]
Fixes shift_buffer() to actually preserve the first LPC_INPUT samples

2 years agominor comment tweak v0.1
Jean-Marc Valin [Wed, 24 May 2017 00:12:48 +0000 (20:12 -0400)]
minor comment tweak

2 years agoRename opusenc makefile shortcuts to libopusenc.
Ralph Giles [Tue, 23 May 2017 22:29:25 +0000 (15:29 -0700)]
Rename opusenc makefile shortcuts to libopusenc.

Be consistent with the package name.

2 years agoUpdate makefile for libopusenc.pc name change.
Ralph Giles [Tue, 23 May 2017 22:27:39 +0000 (15:27 -0700)]
Update makefile for libopusenc.pc name change.

Fixes `make distcheck`.

2 years agoUpdate travis badge for the project rename.
Ralph Giles [Tue, 23 May 2017 22:17:58 +0000 (15:17 -0700)]
Update travis badge for the project rename.

Travis was initially configured to use the `opusenc`
repository name on github. Since it's been renamed
to `libopusenc` I've poked the travis config to pick
up the rename. However, that means the urls we use
for the build status have changed.

2 years agos/opusenc/libopusenc/
Jean-Marc Valin [Tue, 23 May 2017 22:06:09 +0000 (18:06 -0400)]
s/opusenc/libopusenc/

2 years agoAdd travis build status badge to the readme.
Ralph Giles [Fri, 19 May 2017 22:27:38 +0000 (15:27 -0700)]
Add travis build status badge to the readme.

This displays the current build status for the master branch
from travis-ci.org as part of the readme. This can be misleading
if one is working from a branch instead, but seems to be the
convention, at least until github gets better support for
the badges.

Signed-of-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2 years agotravis: Require Ubuntu 14.04.
Ralph Giles [Fri, 19 May 2017 22:16:35 +0000 (15:16 -0700)]
travis: Require Ubuntu 14.04.

This is necessary to have an apt-packaged libopus
available as part of the build environment.

Signed-of-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2 years agoAdd travis-ci.org build config.
Ralph Giles [Fri, 19 May 2017 22:10:22 +0000 (15:10 -0700)]
Add travis-ci.org build config.

This lets us get test feedback on github.

Signed-of-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2 years agopackage name is libopusenc
Jean-Marc Valin [Sat, 20 May 2017 02:01:18 +0000 (22:01 -0400)]
package name is libopusenc

2 years agoremoving mentions of libogg
Jean-Marc Valin [Fri, 19 May 2017 21:18:27 +0000 (17:18 -0400)]
removing mentions of libogg

2 years agomisc fixes
Jean-Marc Valin [Fri, 19 May 2017 21:04:10 +0000 (17:04 -0400)]
misc fixes

2 years agoFixes mixed declaration and code
Jean-Marc Valin [Fri, 19 May 2017 20:18:01 +0000 (16:18 -0400)]
Fixes mixed declaration and code

2 years agoRemove http from configure.ac
Jean-Marc Valin [Fri, 19 May 2017 20:08:54 +0000 (16:08 -0400)]
Remove http from configure.ac

2 years agoAdd missing copyright header
Jean-Marc Valin [Fri, 19 May 2017 19:47:52 +0000 (15:47 -0400)]
Add missing copyright header

2 years agoAvoiding sign comparison warnings on the resampler
Jean-Marc Valin [Fri, 19 May 2017 17:28:13 +0000 (13:28 -0400)]
Avoiding sign comparison warnings on the resampler

2 years agoAvoiding using the packet after invalidated by oggp_commit_packet()
Jean-Marc Valin [Fri, 19 May 2017 16:59:05 +0000 (12:59 -0400)]
Avoiding using the packet after invalidated by oggp_commit_packet()

2 years agoUsing oggp_get_packet_buffer() instead of a fixed size on the stack
Jean-Marc Valin [Fri, 19 May 2017 05:55:23 +0000 (01:55 -0400)]
Using oggp_get_packet_buffer() instead of a fixed size on the stack

2 years agoCall packet callback before committing the packet
Jean-Marc Valin [Fri, 19 May 2017 05:27:47 +0000 (01:27 -0400)]
Call packet callback before committing the packet

2 years agoImplement OPE_GET_* ctl() calls
Jean-Marc Valin [Fri, 19 May 2017 04:30:19 +0000 (00:30 -0400)]
Implement OPE_GET_* ctl() calls

2 years agoAdds OPUS_GET* calls
Jean-Marc Valin [Fri, 19 May 2017 04:22:40 +0000 (00:22 -0400)]
Adds OPUS_GET* calls

2 years agomisc fixes
Jean-Marc Valin [Fri, 19 May 2017 04:19:20 +0000 (00:19 -0400)]
misc fixes

2 years agoImplement ope_strerror()
Jean-Marc Valin [Fri, 19 May 2017 03:43:10 +0000 (23:43 -0400)]
Implement ope_strerror()

2 years agoReturn int error codes for pictures
Jean-Marc Valin [Fri, 19 May 2017 03:20:37 +0000 (23:20 -0400)]
Return int error codes for pictures

2 years agoChanging picture API
Jean-Marc Valin [Thu, 18 May 2017 21:47:05 +0000 (17:47 -0400)]
Changing picture API

2 years agoDon't need libogg anymore, but we need libopus 1.1 for the frame size API
Jean-Marc Valin [Thu, 18 May 2017 18:46:34 +0000 (14:46 -0400)]
Don't need libogg anymore, but we need libopus 1.1 for the frame size API

2 years agoreenable SSE and full sinc table
Jean-Marc Valin [Thu, 18 May 2017 18:39:58 +0000 (14:39 -0400)]
reenable SSE and full sinc table

2 years agoSync resampler with libspeexdsp
Jean-Marc Valin [Fri, 12 May 2017 23:13:08 +0000 (19:13 -0400)]
Sync resampler with libspeexdsp

2 years agoAdd support for header gain
Jean-Marc Valin [Tue, 16 May 2017 22:36:27 +0000 (18:36 -0400)]
Add support for header gain

2 years agoRemove const on OggOpusComments
Jean-Marc Valin [Sun, 14 May 2017 18:50:43 +0000 (14:50 -0400)]
Remove const on OggOpusComments

Will make it possible to do reference counting and copy-on-write

2 years agoRemove useless #includes
Jean-Marc Valin [Sun, 14 May 2017 18:13:56 +0000 (14:13 -0400)]
Remove useless #includes

2 years agoDocumenting API parameters
Jean-Marc Valin [Sun, 14 May 2017 18:13:44 +0000 (14:13 -0400)]
Documenting API parameters

2 years agoAdd some Doxygen doc
Jean-Marc Valin [Sun, 14 May 2017 02:09:45 +0000 (22:09 -0400)]
Add some Doxygen doc

2 years agoFIXME no longer applies (was only for libogg code)
Jean-Marc Valin [Fri, 12 May 2017 22:34:39 +0000 (18:34 -0400)]
FIXME no longer applies (was only for libogg code)

2 years agoProperly support > 8 channels
Jean-Marc Valin [Fri, 12 May 2017 22:24:17 +0000 (18:24 -0400)]
Properly support > 8 channels

2 years agocleanup
Jean-Marc Valin [Fri, 12 May 2017 22:20:44 +0000 (18:20 -0400)]
cleanup

2 years agoFix granulepos bug on empty streams
Jean-Marc Valin [Fri, 12 May 2017 22:17:28 +0000 (18:17 -0400)]
Fix granulepos bug on empty streams

2 years agoRemove use of ogg_packet
Jean-Marc Valin [Fri, 12 May 2017 19:15:30 +0000 (15:15 -0400)]
Remove use of ogg_packet

2 years agoRemove use of Ogg integer types
Jean-Marc Valin [Fri, 12 May 2017 19:08:05 +0000 (15:08 -0400)]
Remove use of Ogg integer types

2 years agoRemove libogg-based implementation
Jean-Marc Valin [Fri, 12 May 2017 19:02:14 +0000 (15:02 -0400)]
Remove libogg-based implementation

2 years agoVersioning
Jean-Marc Valin [Fri, 12 May 2017 06:32:31 +0000 (02:32 -0400)]
Versioning

2 years agoFix Makefile.am
Jean-Marc Valin [Thu, 11 May 2017 22:01:20 +0000 (18:01 -0400)]
Fix Makefile.am

2 years agomake sampling rate, page sizes, and packet sizes 32-bit values
Jean-Marc Valin [Thu, 11 May 2017 21:45:11 +0000 (17:45 -0400)]
make sampling rate, page sizes, and packet sizes 32-bit values

2 years agoA few more type changes
Jean-Marc Valin [Thu, 11 May 2017 21:39:28 +0000 (17:39 -0400)]
A few more type changes

2 years agoUsing size_t for things that could be beyond 4GB
Jean-Marc Valin [Thu, 11 May 2017 21:33:33 +0000 (17:33 -0400)]
Using size_t for things that could be beyond 4GB

2 years agoUsing oggp_int32 instead of some usage of int and long
Jean-Marc Valin [Thu, 11 May 2017 21:25:15 +0000 (17:25 -0400)]
Using oggp_int32 instead of some usage of int and long

2 years agoAdd explicit user data for packet callback, add OPUS_GET_LOOKAHEAD, fix error code
Jean-Marc Valin [Thu, 11 May 2017 21:18:30 +0000 (17:18 -0400)]
Add explicit user data for packet callback, add OPUS_GET_LOOKAHEAD, fix error code

2 years agoCalling packet callback on headers too
Jean-Marc Valin [Thu, 11 May 2017 04:43:28 +0000 (00:43 -0400)]
Calling packet callback on headers too

2 years agooops, forgot a break in switch() statement
Jean-Marc Valin [Thu, 11 May 2017 02:33:14 +0000 (22:33 -0400)]
oops, forgot a break in switch() statement

2 years agoMaking it possible to add a full comment string
Jean-Marc Valin [Wed, 10 May 2017 22:24:07 +0000 (18:24 -0400)]
Making it possible to add a full comment string

2 years agoPrefix OggOpusEnc functions with ope_encoder_
Jean-Marc Valin [Wed, 10 May 2017 20:52:30 +0000 (16:52 -0400)]
Prefix OggOpusEnc functions with ope_encoder_

2 years agoAdded comments object
Jean-Marc Valin [Wed, 10 May 2017 20:48:31 +0000 (16:48 -0400)]
Added comments object

2 years agoFixing window generation
Jean-Marc Valin [Sun, 7 May 2017 16:11:41 +0000 (12:11 -0400)]
Fixing window generation

Initialization was slightly off

2 years agoComputing the exact (I think) padding size
Jean-Marc Valin [Sun, 7 May 2017 15:57:19 +0000 (11:57 -0400)]
Computing the exact (I think) padding size

2 years agoMerge branch 'exp_lpc1'
Jean-Marc Valin [Sat, 6 May 2017 17:25:05 +0000 (13:25 -0400)]
Merge branch 'exp_lpc1'

2 years agoMisc fixes to LPC exp_lpc1
Jean-Marc Valin [Sat, 6 May 2017 17:24:42 +0000 (13:24 -0400)]
Misc fixes to LPC

2 years agoAdds windowing to the LPC output
Jean-Marc Valin [Sat, 6 May 2017 16:10:30 +0000 (12:10 -0400)]
Adds windowing to the LPC output

2 years agoFix indexing
Jean-Marc Valin [Sat, 6 May 2017 05:49:19 +0000 (01:49 -0400)]
Fix indexing

2 years agooops
Jean-Marc Valin [Sat, 6 May 2017 05:26:46 +0000 (01:26 -0400)]
oops

2 years agoAdding some LPC extension code
Jean-Marc Valin [Sat, 6 May 2017 05:25:38 +0000 (01:25 -0400)]
Adding some LPC extension code

2 years agoPreventing further damage when in unrecoverable error state
Jean-Marc Valin [Sat, 6 May 2017 01:36:49 +0000 (21:36 -0400)]
Preventing further damage when in unrecoverable error state

2 years agowip for handling unrecoverable errors
Jean-Marc Valin [Sat, 6 May 2017 01:25:38 +0000 (21:25 -0400)]
wip for handling unrecoverable errors

2 years agoProperly cleanup on failure to open a file
Jean-Marc Valin [Sat, 6 May 2017 01:12:33 +0000 (21:12 -0400)]
Properly cleanup on failure to open a file

2 years agoProperly cleanup even when ope_drain() isn't called
Jean-Marc Valin [Sat, 6 May 2017 01:04:55 +0000 (21:04 -0400)]
Properly cleanup even when ope_drain() isn't called

2 years agoFix copyright (using libogg's CRC code)
Jean-Marc Valin [Sat, 6 May 2017 00:48:39 +0000 (20:48 -0400)]
Fix copyright (using libogg's CRC code)

2 years agoImplement pull API
Jean-Marc Valin [Fri, 5 May 2017 21:35:14 +0000 (17:35 -0400)]
Implement pull API

2 years agosplit the calls for draining and destroying the object
Jean-Marc Valin [Fri, 5 May 2017 21:11:45 +0000 (17:11 -0400)]
split the calls for draining and destroying the object

2 years agoremove page callback
Jean-Marc Valin [Fri, 5 May 2017 21:03:20 +0000 (17:03 -0400)]
remove page callback

2 years agoFix leak
Jean-Marc Valin [Fri, 5 May 2017 21:00:37 +0000 (17:00 -0400)]
Fix leak

2 years agoMerge branch 'exp_oggpacker2'
Jean-Marc Valin [Fri, 5 May 2017 20:54:40 +0000 (16:54 -0400)]
Merge branch 'exp_oggpacker2'

2 years agoenable new packer
Jean-Marc Valin [Fri, 5 May 2017 20:53:57 +0000 (16:53 -0400)]
enable new packer

2 years agocleaning up exp_oggpacker2
Jean-Marc Valin [Fri, 5 May 2017 20:52:06 +0000 (16:52 -0400)]
cleaning up

2 years agomore splitting
Jean-Marc Valin [Fri, 5 May 2017 20:43:13 +0000 (16:43 -0400)]
more splitting