Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
c9a13a28
Commit
c9a13a28
authored
Oct 28, 2013
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavc: remove old unused audio conversion functions.
parent
6c82c87d
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
187 deletions
+0
-187
Makefile
libavcodec/Makefile
+0
-1
audioconvert.c
libavcodec/audioconvert.c
+0
-116
audioconvert.h
libavcodec/audioconvert.h
+0
-70
No files found.
libavcodec/Makefile
View file @
c9a13a28
...
...
@@ -11,7 +11,6 @@ HEADERS = avcodec.h \
xvmc.h
\
OBJS
=
allcodecs.o
\
audioconvert.o
\
avpacket.o
\
avpicture.o
\
bitstream.o
\
...
...
libavcodec/audioconvert.c
deleted
100644 → 0
View file @
6c82c87d
/*
* audio conversion
* Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file
* audio conversion
* @author Michael Niedermayer <michaelni@gmx.at>
*/
#include "libavutil/avstring.h"
#include "libavutil/common.h"
#include "libavutil/libm.h"
#include "libavutil/samplefmt.h"
#include "avcodec.h"
#include "audioconvert.h"
struct
AVAudioConvert
{
int
in_channels
,
out_channels
;
int
fmt_pair
;
};
AVAudioConvert
*
av_audio_convert_alloc
(
enum
AVSampleFormat
out_fmt
,
int
out_channels
,
enum
AVSampleFormat
in_fmt
,
int
in_channels
,
const
float
*
matrix
,
int
flags
)
{
AVAudioConvert
*
ctx
;
if
(
in_channels
!=
out_channels
)
return
NULL
;
/* FIXME: not supported */
ctx
=
av_malloc
(
sizeof
(
AVAudioConvert
));
if
(
!
ctx
)
return
NULL
;
ctx
->
in_channels
=
in_channels
;
ctx
->
out_channels
=
out_channels
;
ctx
->
fmt_pair
=
out_fmt
+
AV_SAMPLE_FMT_NB
*
in_fmt
;
return
ctx
;
}
void
av_audio_convert_free
(
AVAudioConvert
*
ctx
)
{
av_free
(
ctx
);
}
int
av_audio_convert
(
AVAudioConvert
*
ctx
,
void
*
const
out
[
6
],
const
int
out_stride
[
6
],
const
void
*
const
in
[
6
],
const
int
in_stride
[
6
],
int
len
)
{
int
ch
;
//FIXME optimize common cases
for
(
ch
=
0
;
ch
<
ctx
->
out_channels
;
ch
++
){
const
int
is
=
in_stride
[
ch
];
const
int
os
=
out_stride
[
ch
];
const
uint8_t
*
pi
=
in
[
ch
];
uint8_t
*
po
=
out
[
ch
];
uint8_t
*
end
=
po
+
os
*
len
;
if
(
!
out
[
ch
])
continue
;
#define CONV(ofmt, otype, ifmt, expr)\
if(ctx->fmt_pair == ofmt + AV_SAMPLE_FMT_NB*ifmt){\
do{\
*(otype*)po = expr; pi += is; po += os;\
}while(po < end);\
}
//FIXME put things below under ifdefs so we do not waste space for cases no codec will need
//FIXME rounding ?
CONV
(
AV_SAMPLE_FMT_U8
,
uint8_t
,
AV_SAMPLE_FMT_U8
,
*
(
const
uint8_t
*
)
pi
)
else
CONV
(
AV_SAMPLE_FMT_S16
,
int16_t
,
AV_SAMPLE_FMT_U8
,
(
*
(
const
uint8_t
*
)
pi
-
0x80
)
<<
8
)
else
CONV
(
AV_SAMPLE_FMT_S32
,
int32_t
,
AV_SAMPLE_FMT_U8
,
(
*
(
const
uint8_t
*
)
pi
-
0x80
)
<<
24
)
else
CONV
(
AV_SAMPLE_FMT_FLT
,
float
,
AV_SAMPLE_FMT_U8
,
(
*
(
const
uint8_t
*
)
pi
-
0x80
)
*
(
1
.
0
/
(
1
<<
7
)))
else
CONV
(
AV_SAMPLE_FMT_DBL
,
double
,
AV_SAMPLE_FMT_U8
,
(
*
(
const
uint8_t
*
)
pi
-
0x80
)
*
(
1
.
0
/
(
1
<<
7
)))
else
CONV
(
AV_SAMPLE_FMT_U8
,
uint8_t
,
AV_SAMPLE_FMT_S16
,
(
*
(
const
int16_t
*
)
pi
>>
8
)
+
0x80
)
else
CONV
(
AV_SAMPLE_FMT_S16
,
int16_t
,
AV_SAMPLE_FMT_S16
,
*
(
const
int16_t
*
)
pi
)
else
CONV
(
AV_SAMPLE_FMT_S32
,
int32_t
,
AV_SAMPLE_FMT_S16
,
*
(
const
int16_t
*
)
pi
<<
16
)
else
CONV
(
AV_SAMPLE_FMT_FLT
,
float
,
AV_SAMPLE_FMT_S16
,
*
(
const
int16_t
*
)
pi
*
(
1
.
0
/
(
1
<<
15
)))
else
CONV
(
AV_SAMPLE_FMT_DBL
,
double
,
AV_SAMPLE_FMT_S16
,
*
(
const
int16_t
*
)
pi
*
(
1
.
0
/
(
1
<<
15
)))
else
CONV
(
AV_SAMPLE_FMT_U8
,
uint8_t
,
AV_SAMPLE_FMT_S32
,
(
*
(
const
int32_t
*
)
pi
>>
24
)
+
0x80
)
else
CONV
(
AV_SAMPLE_FMT_S16
,
int16_t
,
AV_SAMPLE_FMT_S32
,
*
(
const
int32_t
*
)
pi
>>
16
)
else
CONV
(
AV_SAMPLE_FMT_S32
,
int32_t
,
AV_SAMPLE_FMT_S32
,
*
(
const
int32_t
*
)
pi
)
else
CONV
(
AV_SAMPLE_FMT_FLT
,
float
,
AV_SAMPLE_FMT_S32
,
*
(
const
int32_t
*
)
pi
*
(
1
.
0
/
(
1U
<<
31
)))
else
CONV
(
AV_SAMPLE_FMT_DBL
,
double
,
AV_SAMPLE_FMT_S32
,
*
(
const
int32_t
*
)
pi
*
(
1
.
0
/
(
1U
<<
31
)))
else
CONV
(
AV_SAMPLE_FMT_U8
,
uint8_t
,
AV_SAMPLE_FMT_FLT
,
av_clip_uint8
(
lrintf
(
*
(
const
float
*
)
pi
*
(
1
<<
7
))
+
0x80
))
else
CONV
(
AV_SAMPLE_FMT_S16
,
int16_t
,
AV_SAMPLE_FMT_FLT
,
av_clip_int16
(
lrintf
(
*
(
const
float
*
)
pi
*
(
1
<<
15
))))
else
CONV
(
AV_SAMPLE_FMT_S32
,
int32_t
,
AV_SAMPLE_FMT_FLT
,
av_clipl_int32
(
llrintf
(
*
(
const
float
*
)
pi
*
(
1U
<<
31
))))
else
CONV
(
AV_SAMPLE_FMT_FLT
,
float
,
AV_SAMPLE_FMT_FLT
,
*
(
const
float
*
)
pi
)
else
CONV
(
AV_SAMPLE_FMT_DBL
,
double
,
AV_SAMPLE_FMT_FLT
,
*
(
const
float
*
)
pi
)
else
CONV
(
AV_SAMPLE_FMT_U8
,
uint8_t
,
AV_SAMPLE_FMT_DBL
,
av_clip_uint8
(
lrint
(
*
(
const
double
*
)
pi
*
(
1
<<
7
))
+
0x80
))
else
CONV
(
AV_SAMPLE_FMT_S16
,
int16_t
,
AV_SAMPLE_FMT_DBL
,
av_clip_int16
(
lrint
(
*
(
const
double
*
)
pi
*
(
1
<<
15
))))
else
CONV
(
AV_SAMPLE_FMT_S32
,
int32_t
,
AV_SAMPLE_FMT_DBL
,
av_clipl_int32
(
llrint
(
*
(
const
double
*
)
pi
*
(
1U
<<
31
))))
else
CONV
(
AV_SAMPLE_FMT_FLT
,
float
,
AV_SAMPLE_FMT_DBL
,
*
(
const
double
*
)
pi
)
else
CONV
(
AV_SAMPLE_FMT_DBL
,
double
,
AV_SAMPLE_FMT_DBL
,
*
(
const
double
*
)
pi
)
else
return
-
1
;
}
return
0
;
}
libavcodec/audioconvert.h
deleted
100644 → 0
View file @
6c82c87d
/*
* audio conversion
* Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
* Copyright (c) 2008 Peter Ross
*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVCODEC_AUDIOCONVERT_H
#define AVCODEC_AUDIOCONVERT_H
/**
* @file
* Audio format conversion routines
*/
#include "libavutil/cpu.h"
#include "avcodec.h"
#include "libavutil/channel_layout.h"
struct
AVAudioConvert
;
typedef
struct
AVAudioConvert
AVAudioConvert
;
/**
* Create an audio sample format converter context
* @param out_fmt Output sample format
* @param out_channels Number of output channels
* @param in_fmt Input sample format
* @param in_channels Number of input channels
* @param[in] matrix Channel mixing matrix (of dimension in_channel*out_channels). Set to NULL to ignore.
* @param flags See AV_CPU_FLAG_xx
* @return NULL on error
*/
AVAudioConvert
*
av_audio_convert_alloc
(
enum
AVSampleFormat
out_fmt
,
int
out_channels
,
enum
AVSampleFormat
in_fmt
,
int
in_channels
,
const
float
*
matrix
,
int
flags
);
/**
* Free audio sample format converter context
*/
void
av_audio_convert_free
(
AVAudioConvert
*
ctx
);
/**
* Convert between audio sample formats
* @param[in] out array of output buffers for each channel. set to NULL to ignore processing of the given channel.
* @param[in] out_stride distance between consecutive output samples (measured in bytes)
* @param[in] in array of input buffers for each channel
* @param[in] in_stride distance between consecutive input samples (measured in bytes)
* @param len length of audio frame size (measured in samples)
*/
int
av_audio_convert
(
AVAudioConvert
*
ctx
,
void
*
const
out
[
6
],
const
int
out_stride
[
6
],
const
void
*
const
in
[
6
],
const
int
in_stride
[
6
],
int
len
);
#endif
/* AVCODEC_AUDIOCONVERT_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment