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
8889cc4f
Commit
8889cc4f
authored
Nov 12, 2011
by
Justin Ruggles
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libavutil: add planar sample formats and av_sample_fmt_is_planar()
parent
aa38cff2
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
37 additions
and
6 deletions
+37
-6
APIchanges
doc/APIchanges
+3
-0
avutil.h
libavutil/avutil.h
+1
-1
samplefmt.c
libavutil/samplefmt.c
+18
-5
samplefmt.h
libavutil/samplefmt.h
+15
-0
No files found.
doc/APIchanges
View file @
8889cc4f
...
...
@@ -13,6 +13,9 @@ libavutil: 2011-04-18
API changes, most recent first:
2011-xx-xx - xxxxxxx - lavu 51.17.0
Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h.
2011-xx-xx - xxxxxxx - lavc 53.21.0
Move some AVCodecContext fields to a new private struct, AVCodecInternal,
which is accessed from a new field, AVCodecContext.internal.
...
...
libavutil/avutil.h
View file @
8889cc4f
...
...
@@ -153,7 +153,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 1
6
#define LIBAVUTIL_VERSION_MINOR 1
7
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
...
...
libavutil/samplefmt.c
View file @
8889cc4f
...
...
@@ -25,15 +25,21 @@
typedef
struct
SampleFmtInfo
{
const
char
*
name
;
int
bits
;
int
planar
;
}
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
},
[
AV_SAMPLE_FMT_S16
]
=
{
.
name
=
"s16"
,
.
bits
=
16
},
[
AV_SAMPLE_FMT_S32
]
=
{
.
name
=
"s32"
,
.
bits
=
32
},
[
AV_SAMPLE_FMT_FLT
]
=
{
.
name
=
"flt"
,
.
bits
=
32
},
[
AV_SAMPLE_FMT_DBL
]
=
{
.
name
=
"dbl"
,
.
bits
=
64
},
[
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
},
};
const
char
*
av_get_sample_fmt_name
(
enum
AVSampleFormat
sample_fmt
)
...
...
@@ -79,3 +85,10 @@ int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt)
0
:
sample_fmt_info
[
sample_fmt
].
bits
;
}
#endif
int
av_sample_fmt_is_planar
(
enum
AVSampleFormat
sample_fmt
)
{
if
(
sample_fmt
<
0
||
sample_fmt
>=
AV_SAMPLE_FMT_NB
)
return
0
;
return
sample_fmt_info
[
sample_fmt
].
planar
;
}
libavutil/samplefmt.h
View file @
8889cc4f
...
...
@@ -31,6 +31,13 @@ enum AVSampleFormat {
AV_SAMPLE_FMT_S32
,
///< signed 32 bits
AV_SAMPLE_FMT_FLT
,
///< float
AV_SAMPLE_FMT_DBL
,
///< double
AV_SAMPLE_FMT_U8P
,
///< unsigned 8 bits, planar
AV_SAMPLE_FMT_S16P
,
///< signed 16 bits, planar
AV_SAMPLE_FMT_S32P
,
///< signed 32 bits, planar
AV_SAMPLE_FMT_FLTP
,
///< float, planar
AV_SAMPLE_FMT_DBLP
,
///< double, planar
AV_SAMPLE_FMT_NB
///< Number of sample formats. DO NOT USE if linking dynamically
};
...
...
@@ -77,4 +84,12 @@ int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt);
*/
int
av_get_bytes_per_sample
(
enum
AVSampleFormat
sample_fmt
);
/**
* Check if the sample format is planar.
*
* @param sample_fmt the sample format to inspect
* @return 1 if the sample format is planar, 0 if it is interleaved
*/
int
av_sample_fmt_is_planar
(
enum
AVSampleFormat
sample_fmt
);
#endif
/* AVUTIL_SAMPLEFMT_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