IPB

Welcome Guest ( Log In | Register )

3 Pages V  < 1 2 3  
Reply to this topicStart new topic
Opus 1.1, Almost But Not Quite Officially Released Yet
nu774
post Jul 1 2014, 12:19
Post #51





Group: Developer
Posts: 528
Joined: 22-November 10
From: Japan
Member No.: 85902



QUOTE (lvqcl @ Jul 1 2014, 19:22) *
Found a way to fix this problem: in function seek_forward (in audio_in.c) comment out fseek():

CODE
static int seek_forward(FILE *in, unsigned int length)
{
    //if(fseek(in, length, SEEK_CUR))
    {
        /* Failed. Do it the hard way. */
        unsigned char buf[1024];
        unsigned int seek_needed = length;


added: currently opusenc uses fseek() to skip over "LIST" chunk, and this somehow prevents further reading/seeking

Doesn't it look familiar? IIRC, I saw similar code in flac frontend in the past.
fseek() on a non-seekable file is guaranteed to fail on Posix, but not on Windows. Therefore, "try to seek first and read when fail" doesn't work...
Go to the top of the page
+Quote Post
lvqcl
post Jul 1 2014, 13:01
Post #52





Group: Developer
Posts: 3383
Joined: 2-December 07
Member No.: 49183



So another solution is to use #ifdef?

CODE
static int seek_forward(FILE *in, unsigned int length)
{
#if !defined _WIN32
    if(fseek(in, length, SEEK_CUR))
#endif
    {
        /* Failed. Do it the hard way. */
        unsigned char buf[1024];
Go to the top of the page
+Quote Post
john33
post Jul 1 2014, 18:22
Post #53


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3760
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (lvqcl @ Jul 1 2014, 13:01) *
So another solution is to use #ifdef?

CODE
static int seek_forward(FILE *in, unsigned int length)
{
#if !defined _WIN32
    if(fseek(in, length, SEEK_CUR))
#endif
    {
        /* Failed. Do it the hard way. */
        unsigned char buf[1024];

I have uploaded a build of opustools with this mod in place. If someone would kindly confirm this works OK, I'll complete other relevant recompiles and upload.

It's available here: http://www.rarewares.org/files/opus/opus-t...win32_SSE-1.zip

TIA. smile.gif


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
CoRoNe
post Jul 1 2014, 22:42
Post #54





Group: Members
Posts: 185
Joined: 31-May 05
From: Netherlands
Member No.: 22417



This one works, john33.
CODE
ffmpeg.exe -hide_banner -i input.avs -c:a copy -f wav - | qaac.exe --silent -D - -o - | opusenc.exe --bitrate 64 - output.opus
ffmpeg.exe -hide_banner -i input.avs -c:a copy -f wav - | opusenc.exe --bitrate 64 - output.opus
Now both produce the same output. Thank you, lvqcl and john33!
Upon having loaded the AviSynth audiostream ffmpeg does still notify me though with: "[wav @ 02f8d700] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead." Does anyone know by chance if this is important/bad?
Btw john33, I see you grabbed opus-tools 0.1.8 for this fix, but 0.1.9 is out already.


--------------------
DC-Bass Source Mod: http://reino.degeelebosch.nl
Go to the top of the page
+Quote Post
john33
post Jul 1 2014, 23:44
Post #55


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3760
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (CoRoNe @ Jul 1 2014, 22:42) *
This one works, john33.
........
Btw john33, I see you grabbed opus-tools 0.1.8 for this fix, but 0.1.9 is out already.

Thanks for the feedback, and the 'heads up'. I'll sort new compiles out tomorrow.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
john33
post Jul 2 2014, 19:18
Post #56


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3760
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (john33 @ Jul 1 2014, 23:44) *
QUOTE (CoRoNe @ Jul 1 2014, 22:42) *
This one works, john33.
........
Btw john33, I see you grabbed opus-tools 0.1.8 for this fix, but 0.1.9 is out already.

Thanks for the feedback, and the 'heads up'. I'll sort new compiles out tomorrow.

Opus-tools updated on Rarewares to 0.1.9, including the bug fix. I'll get to the oggenc2 compiles later. wink.gif


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
eahm
post Jul 2 2014, 19:44
Post #57





Group: Members
Posts: 1085
Joined: 11-February 12
Member No.: 97076



QUOTE (john33 @ Jul 2 2014, 11:18) *
Opus-tools updated on Rarewares to 0.1.9, including the bug fix.

Thanks.

QUOTE
I'll get to the oggenc2 compiles later. wink.gif

What's new on this one? Same fix?


--------------------
/lwAsIimz
Go to the top of the page
+Quote Post
CoRoNe
post Jul 2 2014, 19:57
Post #58





Group: Members
Posts: 185
Joined: 31-May 05
From: Netherlands
Member No.: 22417



CODE
opusenc.exe -V
opusenc opus-tools  (using libopus 1.1.x-git)
Copyright (C) 2008-2013 Xiph.Org Foundation
Could you please recompile and enter the opus-tools version, because opusinfo.exe, but especially MediaInfo reads those entries.
"libopus 1.1.x-git" means compiled from latest git at that moment I guess?

P.s. http://www.rarewares.org/opus.php --> you seem to forgot a "<" in front of "/span>".


--------------------
DC-Bass Source Mod: http://reino.degeelebosch.nl
Go to the top of the page
+Quote Post
john33
post Jul 2 2014, 22:05
Post #59


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3760
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (eahm @ Jul 2 2014, 19:44) *
QUOTE (john33 @ Jul 2 2014, 11:18) *
I'll get to the oggenc2 compiles later. wink.gif

What's new on this one? Same fix?

Yep.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
john33
post Jul 2 2014, 22:09
Post #60


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3760
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (CoRoNe @ Jul 2 2014, 19:57) *
CODE
opusenc.exe -V
opusenc opus-tools  (using libopus 1.1.x-git)
Copyright (C) 2008-2013 Xiph.Org Foundation
Could you please recompile and enter the opus-tools version, because opusinfo.exe, but especially MediaInfo reads those entries.
"libopus 1.1.x-git" means compiled from latest git at that moment I guess?

P.s. http://www.rarewares.org/opus.php --> you seem to forgot a "<" in front of "/span>".

Recompiled, as requested. Sorry, I thought I'd taken care of that! Yes, latest git.

opus.php fixed as well, thanks again!


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
CoRoNe
post Jul 2 2014, 22:24
Post #61





Group: Members
Posts: 185
Joined: 31-May 05
From: Netherlands
Member No.: 22417



Appreciated, thanks!

I was wondering btw...will this fix only be in your binaries, or also in futures releases on http://opus-codec.org?


--------------------
DC-Bass Source Mod: http://reino.degeelebosch.nl
Go to the top of the page
+Quote Post
john33
post Jul 2 2014, 22:26
Post #62


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3760
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (CoRoNe @ Jul 2 2014, 22:24) *
Appreciated, thanks!

I was wondering btw...will this fix only be in your binaries, or also in futures releases on http://opus-codec.org?

Only in mine until jmvalin, or another official maintainer, makes the change.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
nu774
post Jul 3 2014, 10:06
Post #63





Group: Developer
Posts: 528
Joined: 22-November 10
From: Japan
Member No.: 85902



You can steel fskip_ahead() from FLAC frontend:
https://git.xiph.org/?p=flac.git;a=commitdi...6a8645e83be9768
LAME has similar function named fskip() in get_audio.c, in which only S_ISFIFO is treated as a non-seekable candidate.

Completely killing fseek() on win32 is usually fine since what is skipped is usually tiny.
However, AIFF can have COMM(=header) after ssnd(=PCM data), in which case HUGE amount of block has to be skipped by fread() before reading COMM.
Go to the top of the page
+Quote Post
john33
post Jul 3 2014, 11:50
Post #64


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3760
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (nu774 @ Jul 3 2014, 10:06) *
You can steel fskip_ahead() from FLAC frontend:
https://git.xiph.org/?p=flac.git;a=commitdi...6a8645e83be9768
LAME has similar function named fskip() in get_audio.c, in which only S_ISFIFO is treated as a non-seekable candidate.

Completely killing fseek() on win32 is usually fine since what is skipped is usually tiny.
However, AIFF can have COMM(=header) after ssnd(=PCM data), in which case HUGE amount of block has to be skipped by fread() before reading COMM.

Code 'stolen' from FLAC fronted! wink.gif Could someone kindly check that I've amended this in a way that it performs correctly? TIA.

It's here: http://www.rarewares.org/files/opus/opus-t...win32_SSE-1.zip


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
CoRoNe
post Jul 3 2014, 18:17
Post #65





Group: Members
Posts: 185
Joined: 31-May 05
From: Netherlands
Member No.: 22417



Piping 32bit float AviSynth audio from ffmpeg to opusenc works for me. Thanks.


--------------------
DC-Bass Source Mod: http://reino.degeelebosch.nl
Go to the top of the page
+Quote Post
john33
post Jul 3 2014, 18:19
Post #66


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3760
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (CoRoNe @ Jul 3 2014, 18:17) *
Piping 32bit float AviSynth audio from ffmpeg to opusenc works for me. Thanks.

Excellent. smile.gif Thanks for letting me know. I'll proliferate new compiles that use this code.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
eahm
post Jul 3 2014, 19:57
Post #67





Group: Members
Posts: 1085
Joined: 11-February 12
Member No.: 97076



john33, thanks for the new builds again.

Is SSE2 optimised instead of SSE on Opus 64bit a typo?

This post has been edited by eahm: Jul 3 2014, 19:59


--------------------
/lwAsIimz
Go to the top of the page
+Quote Post
john33
post Jul 4 2014, 15:25
Post #68


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3760
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (eahm @ Jul 3 2014, 19:57) *
john33, thanks for the new builds again.

Is SSE2 optimised instead of SSE on Opus 64bit a typo?

No, it's not a typo, I just selected the SSE2 compiler option on all the Opus x64 component builds.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
zima
post Jul 5 2014, 23:03
Post #69





Group: Members
Posts: 136
Joined: 3-July 03
From: Pomerania
Member No.: 7541



eahm, all x64 CPUs must support SSE2, so there's no harm....


--------------------
http://last.fm/user/zima
Go to the top of the page
+Quote Post
SokilOff
post Jul 5 2014, 23:44
Post #70





Group: Members
Posts: 22
Joined: 3-November 06
Member No.: 37122



QUOTE (zima @ Jul 5 2014, 16:03) *
eahm, all x64 CPUs must support SSE2, so there's no harm....

True.
Even the very first 64-bit Athlons (ClawHammer and Newcastle from september 2003) already had SSE2 support. So there's no 64-bit desktop CPU from Intel or AMD without SSE2.

2 john33: thanks for releasing new opus builds. Btw do you still plan to create opusdropXP one day ?
Go to the top of the page
+Quote Post
bat_guano
post Jul 16 2014, 01:38
Post #71





Group: Members
Posts: 19
Joined: 7-January 13
Member No.: 105656



QUOTE (CoRoNe @ Jul 1 2014, 22:42) *
ffmpeg does still notify me though with: "[wav @ 02f8d700] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead." Does anyone know by chance if this is important/bad?

Hi
It's been fixed ---> fixed
Go to the top of the page
+Quote Post
CoRoNe
post Jul 18 2014, 11:34
Post #72





Group: Members
Posts: 185
Joined: 31-May 05
From: Netherlands
Member No.: 22417



Confirmed, thank you.


--------------------
DC-Bass Source Mod: http://reino.degeelebosch.nl
Go to the top of the page
+Quote Post
oto_shan
post Jul 31 2014, 19:18
Post #73





Group: Members
Posts: 4
Joined: 16-August 12
Member No.: 102377



Why file converted 2 times with same encoder options (--bitrate 128) with last official codec opus-tools 0.1.9 they have different structure/checksum?



This post has been edited by oto_shan: Jul 31 2014, 19:43
Go to the top of the page
+Quote Post
Anakunda
post Jul 31 2014, 19:54
Post #74





Group: Members
Posts: 460
Joined: 24-November 08
Member No.: 63072



QUOTE (oto_shan @ Jul 31 2014, 20:18) *
Why file converted 2 times with same encoder options (--bitrate 128) with last official codec opus-tools 0.1.9 they have different structure/checksum?

Timestamp? Unique conversion id?
Go to the top of the page
+Quote Post
lvqcl
post Jul 31 2014, 20:08
Post #75





Group: Developer
Posts: 3383
Joined: 2-December 07
Member No.: 49183



CODE
Diagnostic options:
--serial n         Forces a specific stream serial number
Go to the top of the page
+Quote Post

3 Pages V  < 1 2 3
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 21st September 2014 - 09:55