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
4d693b02
Commit
4d693b02
authored
Apr 05, 2012
by
Justin Ruggles
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avutil: add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
Based on a patch by Clément Bœsch <ubitux@gmail.com>
parent
9294f538
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
11 deletions
+55
-11
APIchanges
doc/APIchanges
+3
-0
avutil.h
libavutil/avutil.h
+1
-1
samplefmt.c
libavutil/samplefmt.c
+29
-10
samplefmt.h
libavutil/samplefmt.h
+22
-0
No files found.
doc/APIchanges
View file @
4d693b02
...
...
@@ -12,6 +12,9 @@ libavutil: 2011-04-18
API changes, most recent first:
2012-xx-xx - xxxxxxx - lavu 51.27.0 - samplefmt.h
Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
2012-xx-xx - xxxxxxx - lavu 51.26.0 - audioconvert.h
Add av_get_default_channel_layout()
...
...
libavutil/avutil.h
View file @
4d693b02
...
...
@@ -152,7 +152,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 2
6
#define LIBAVUTIL_VERSION_MINOR 2
7
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
...
...
libavutil/samplefmt.c
View file @
4d693b02
...
...
@@ -26,20 +26,21 @@ typedef struct SampleFmtInfo {
const
char
*
name
;
int
bits
;
int
planar
;
enum
AVSampleFormat
altform
;
///< planar<->packed alternative form
}
SampleFmtInfo
;
/** this table gives more information about formats */
static
const
SampleFmtInfo
sample_fmt_info
[
AV_SAMPLE_FMT_NB
]
=
{
[
AV_SAMPLE_FMT_U8
]
=
{
.
name
=
"u8"
,
.
bits
=
8
,
.
planar
=
0
},
[
AV_SAMPLE_FMT_S16
]
=
{
.
name
=
"s16"
,
.
bits
=
16
,
.
planar
=
0
},
[
AV_SAMPLE_FMT_S32
]
=
{
.
name
=
"s32"
,
.
bits
=
32
,
.
planar
=
0
},
[
AV_SAMPLE_FMT_FLT
]
=
{
.
name
=
"flt"
,
.
bits
=
32
,
.
planar
=
0
},
[
AV_SAMPLE_FMT_DBL
]
=
{
.
name
=
"dbl"
,
.
bits
=
64
,
.
planar
=
0
},
[
AV_SAMPLE_FMT_U8P
]
=
{
.
name
=
"u8p"
,
.
bits
=
8
,
.
planar
=
1
},
[
AV_SAMPLE_FMT_S16P
]
=
{
.
name
=
"s16p"
,
.
bits
=
16
,
.
planar
=
1
},
[
AV_SAMPLE_FMT_S32P
]
=
{
.
name
=
"s32p"
,
.
bits
=
32
,
.
planar
=
1
},
[
AV_SAMPLE_FMT_FLTP
]
=
{
.
name
=
"fltp"
,
.
bits
=
32
,
.
planar
=
1
},
[
AV_SAMPLE_FMT_DBLP
]
=
{
.
name
=
"dblp"
,
.
bits
=
64
,
.
planar
=
1
},
[
AV_SAMPLE_FMT_U8
]
=
{
.
name
=
"u8"
,
.
bits
=
8
,
.
planar
=
0
,
.
altform
=
AV_SAMPLE_FMT_U8P
},
[
AV_SAMPLE_FMT_S16
]
=
{
.
name
=
"s16"
,
.
bits
=
16
,
.
planar
=
0
,
.
altform
=
AV_SAMPLE_FMT_S16P
},
[
AV_SAMPLE_FMT_S32
]
=
{
.
name
=
"s32"
,
.
bits
=
32
,
.
planar
=
0
,
.
altform
=
AV_SAMPLE_FMT_S32P
},
[
AV_SAMPLE_FMT_FLT
]
=
{
.
name
=
"flt"
,
.
bits
=
32
,
.
planar
=
0
,
.
altform
=
AV_SAMPLE_FMT_FLTP
},
[
AV_SAMPLE_FMT_DBL
]
=
{
.
name
=
"dbl"
,
.
bits
=
64
,
.
planar
=
0
,
.
altform
=
AV_SAMPLE_FMT_DBLP
},
[
AV_SAMPLE_FMT_U8P
]
=
{
.
name
=
"u8p"
,
.
bits
=
8
,
.
planar
=
1
,
.
altform
=
AV_SAMPLE_FMT_U8
},
[
AV_SAMPLE_FMT_S16P
]
=
{
.
name
=
"s16p"
,
.
bits
=
16
,
.
planar
=
1
,
.
altform
=
AV_SAMPLE_FMT_S16
},
[
AV_SAMPLE_FMT_S32P
]
=
{
.
name
=
"s32p"
,
.
bits
=
32
,
.
planar
=
1
,
.
altform
=
AV_SAMPLE_FMT_S32
},
[
AV_SAMPLE_FMT_FLTP
]
=
{
.
name
=
"fltp"
,
.
bits
=
32
,
.
planar
=
1
,
.
altform
=
AV_SAMPLE_FMT_FLT
},
[
AV_SAMPLE_FMT_DBLP
]
=
{
.
name
=
"dblp"
,
.
bits
=
64
,
.
planar
=
1
,
.
altform
=
AV_SAMPLE_FMT_DBL
},
};
const
char
*
av_get_sample_fmt_name
(
enum
AVSampleFormat
sample_fmt
)
...
...
@@ -59,6 +60,24 @@ enum AVSampleFormat av_get_sample_fmt(const char *name)
return
AV_SAMPLE_FMT_NONE
;
}
enum
AVSampleFormat
av_get_packed_sample_fmt
(
enum
AVSampleFormat
sample_fmt
)
{
if
(
sample_fmt
<
0
||
sample_fmt
>=
AV_SAMPLE_FMT_NB
)
return
AV_SAMPLE_FMT_NONE
;
if
(
sample_fmt_info
[
sample_fmt
].
planar
)
return
sample_fmt_info
[
sample_fmt
].
altform
;
return
sample_fmt
;
}
enum
AVSampleFormat
av_get_planar_sample_fmt
(
enum
AVSampleFormat
sample_fmt
)
{
if
(
sample_fmt
<
0
||
sample_fmt
>=
AV_SAMPLE_FMT_NB
)
return
AV_SAMPLE_FMT_NONE
;
if
(
sample_fmt_info
[
sample_fmt
].
planar
)
return
sample_fmt
;
return
sample_fmt_info
[
sample_fmt
].
altform
;
}
char
*
av_get_sample_fmt_string
(
char
*
buf
,
int
buf_size
,
enum
AVSampleFormat
sample_fmt
)
{
/* print header */
...
...
libavutil/samplefmt.h
View file @
4d693b02
...
...
@@ -53,6 +53,28 @@ const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt);
*/
enum
AVSampleFormat
av_get_sample_fmt
(
const
char
*
name
);
/**
* Get the packed alternative form of the given sample format.
*
* If the passed sample_fmt is already in packed format, the format returned is
* the same as the input.
*
* @return the packed alternative form of the given sample format or
AV_SAMPLE_FMT_NONE on error.
*/
enum
AVSampleFormat
av_get_packed_sample_fmt
(
enum
AVSampleFormat
sample_fmt
);
/**
* Get the planar alternative form of the given sample format.
*
* If the passed sample_fmt is already in planar format, the format returned is
* the same as the input.
*
* @return the planar alternative form of the given sample format or
AV_SAMPLE_FMT_NONE on error.
*/
enum
AVSampleFormat
av_get_planar_sample_fmt
(
enum
AVSampleFormat
sample_fmt
);
/**
* Generate a string corresponding to the sample format with
* sample_fmt, or a header if sample_fmt is negative.
...
...
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