Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Vorbis
Vorbis
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 21
    • Issues 21
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Xiph.Org
  • VorbisVorbis
  • Issues
  • #113

Closed
Open
Opened Jan 03, 2002 by Gitlab Bot@GitlabBotDeveloper

vorbis_encode_setup_managed guesses bitrate after calculating quality factor

Here's the patch:

=========================================================
==========
RCS file: /usr/local/cvsroot/vorbis/lib/vorbisenc.c,v
retrieving revision 1.33
diff -c -r1.33 vorbisenc.c
*** vorbisenc.c 2001/12/23 11:53:53     1.33
--- vorbisenc.c 2002/01/03 08:51:44
***************
*** 914,936 ****
                                long nominal_bitrate,
                                long min_bitrate){
  
!   double tnominal=nominal_bitrate;
!   double approx_vbr=approx_bitrate_to_vbr(channels,(channels==2), 
!                                         (float)nominal_bitrate,rate);
    int ret=0;
!   if(approx_vbr<0)return(OV_EIMPL);
! 
!   if(nominal_bitrate<=0.){
!     if(max_bitrate>0.){
!       nominal_bitrate=max_bitrate*.875;
      }else{
!       if(min_bitrate>0.){
!       nominal_bitrate=min_bitrate;
        }else{
        return(OV_EINVAL);
        }
      }
    }
  
    ret=vorbis_encode_setup_vbr(vi,channels,rate,approx_vbr);
    if(ret){
--- 914,938 ----
                                long nominal_bitrate,
                                long min_bitrate){
  
!   float tnominal=nominal_bitrate;
!   double approx_vbr;
    int ret=0;
!   
!   if(nominal_bitrate<=0){
!     if(max_bitrate>0){
!       tnominal=(float)max_bitrate*.875f;
      }else{
!       if(min_bitrate>0){
!       tnominal=(float)min_bitrate;
        }else{
        return(OV_EINVAL);
        }
      }
    }
+ 
+   approx_vbr=approx_bitrate_to_vbr(channels,(channels==2), 
+                                         (float)tnominal,rate);
+   if(approx_vbr<0)return(OV_EIMPL);
  
    ret=vorbis_encode_setup_vbr(vi,channels,rate,approx_vbr);
    if(ret){
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: xiph/vorbis#113