mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Make channel layout masks unsigned
It makes more sense for a bit mask to use an unsigned type. The change should be source and binary compatible on all supported systems, hence micro version bump. Fixes a few invalid shifts. Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
00a856e3f9
commit
cc276c85d1
@ -48,7 +48,7 @@ typedef struct AACAC3ParseContext {
|
||||
int sample_rate;
|
||||
int bit_rate;
|
||||
int samples;
|
||||
int64_t channel_layout;
|
||||
uint64_t channel_layout;
|
||||
int service_type;
|
||||
|
||||
int remaining_size;
|
||||
|
@ -90,7 +90,7 @@ static const uint8_t aac_channel_layout_map[7][5][2] = {
|
||||
{ { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_LFE, 0 }, { TYPE_CPE, 2 }, { TYPE_CPE, 1 }, },
|
||||
};
|
||||
|
||||
static const int64_t aac_channel_layout[8] = {
|
||||
static const uint64_t aac_channel_layout[8] = {
|
||||
AV_CH_LAYOUT_MONO,
|
||||
AV_CH_LAYOUT_STEREO,
|
||||
AV_CH_LAYOUT_SURROUND,
|
||||
|
@ -118,7 +118,7 @@ typedef struct {
|
||||
uint32_t bit_rate;
|
||||
uint8_t channels;
|
||||
uint16_t frame_size;
|
||||
int64_t channel_layout;
|
||||
uint64_t channel_layout;
|
||||
/** @} */
|
||||
} AC3HeaderInfo;
|
||||
|
||||
|
@ -77,7 +77,7 @@ static uint8_t exponent_group_tab[2][3][256];
|
||||
/**
|
||||
* List of supported channel layouts.
|
||||
*/
|
||||
const int64_t ff_ac3_channel_layouts[19] = {
|
||||
const uint64_t ff_ac3_channel_layouts[19] = {
|
||||
AV_CH_LAYOUT_MONO,
|
||||
AV_CH_LAYOUT_STEREO,
|
||||
AV_CH_LAYOUT_2_1,
|
||||
@ -2063,13 +2063,13 @@ av_cold int ff_ac3_encode_close(AVCodecContext *avctx)
|
||||
* Set channel information during initialization.
|
||||
*/
|
||||
static av_cold int set_channel_info(AC3EncodeContext *s, int channels,
|
||||
int64_t *channel_layout)
|
||||
uint64_t *channel_layout)
|
||||
{
|
||||
int ch_layout;
|
||||
|
||||
if (channels < 1 || channels > AC3_MAX_CHANNELS)
|
||||
return AVERROR(EINVAL);
|
||||
if ((uint64_t)*channel_layout > 0x7FF)
|
||||
if (*channel_layout > 0x7FF)
|
||||
return AVERROR(EINVAL);
|
||||
ch_layout = *channel_layout;
|
||||
if (!ch_layout)
|
||||
|
@ -258,7 +258,7 @@ typedef struct AC3EncodeContext {
|
||||
} AC3EncodeContext;
|
||||
|
||||
|
||||
extern const int64_t ff_ac3_channel_layouts[19];
|
||||
extern const uint64_t ff_ac3_channel_layouts[19];
|
||||
|
||||
int ff_ac3_encode_init(AVCodecContext *avctx);
|
||||
|
||||
|
@ -48,7 +48,7 @@ void avcodec_sample_fmt_string (char *buf, int buf_size, int sample_fmt)
|
||||
}
|
||||
#endif
|
||||
|
||||
int64_t avcodec_guess_channel_layout(int nb_channels, enum CodecID codec_id, const char *fmt_name)
|
||||
uint64_t avcodec_guess_channel_layout(int nb_channels, enum CodecID codec_id, const char *fmt_name)
|
||||
{
|
||||
switch(nb_channels) {
|
||||
case 1: return AV_CH_LAYOUT_MONO;
|
||||
|
@ -80,7 +80,7 @@ int avcodec_channel_layout_num_channels(int64_t channel_layout);
|
||||
* @param fmt_name Format name, or NULL if unknown
|
||||
* @return Channel layout mask
|
||||
*/
|
||||
int64_t avcodec_guess_channel_layout(int nb_channels, enum CodecID codec_id, const char *fmt_name);
|
||||
uint64_t avcodec_guess_channel_layout(int nb_channels, enum CodecID codec_id, const char *fmt_name);
|
||||
|
||||
struct AVAudioConvert;
|
||||
typedef struct AVAudioConvert AVAudioConvert;
|
||||
|
@ -2696,14 +2696,14 @@ typedef struct AVCodecContext {
|
||||
* - encoding: set by user.
|
||||
* - decoding: set by libavcodec.
|
||||
*/
|
||||
int64_t channel_layout;
|
||||
uint64_t channel_layout;
|
||||
|
||||
/**
|
||||
* Request decoder to use this channel layout if it can (0 for default)
|
||||
* - encoding: unused
|
||||
* - decoding: Set by user.
|
||||
*/
|
||||
int64_t request_channel_layout;
|
||||
uint64_t request_channel_layout;
|
||||
|
||||
/**
|
||||
* Ratecontrol attempt to use, at maximum, <value> of what can be used without an underflow.
|
||||
@ -3044,7 +3044,7 @@ typedef struct AVCodec {
|
||||
const char *long_name;
|
||||
const int *supported_samplerates; ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0
|
||||
const enum AVSampleFormat *sample_fmts; ///< array of supported sample formats, or NULL if unknown, array is terminated by -1
|
||||
const int64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0
|
||||
const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0
|
||||
uint8_t max_lowres; ///< maximum value for lowres supported by the decoder
|
||||
const AVClass *priv_class; ///< AVClass for the private context
|
||||
const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN}
|
||||
|
@ -128,7 +128,7 @@ static const int dca_ext_audio_descr_mask[] = {
|
||||
* All 2 channel configurations -> AV_CH_LAYOUT_STEREO
|
||||
*/
|
||||
|
||||
static const int64_t dca_core_channel_layout[] = {
|
||||
static const uint64_t dca_core_channel_layout[] = {
|
||||
AV_CH_FRONT_CENTER, ///< 1, A
|
||||
AV_CH_LAYOUT_STEREO, ///< 2, A + B (dual mono)
|
||||
AV_CH_LAYOUT_STEREO, ///< 2, L + R (stereo)
|
||||
|
@ -107,7 +107,7 @@ static int truehd_channels(int chanmap)
|
||||
return channels;
|
||||
}
|
||||
|
||||
static int64_t truehd_layout(int chanmap)
|
||||
static uint64_t truehd_layout(int chanmap)
|
||||
{
|
||||
int layout = 0, i;
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 53
|
||||
#define LIBAVCODEC_VERSION_MINOR 22
|
||||
#define LIBAVCODEC_VERSION_MICRO 0
|
||||
#define LIBAVCODEC_VERSION_MICRO 1
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
|
@ -27,7 +27,7 @@ extern const float ff_vorbis_floor1_inverse_db_table[256];
|
||||
extern const float * const ff_vorbis_vwin[8];
|
||||
extern const uint8_t ff_vorbis_channel_layout_offsets[8][8];
|
||||
extern const uint8_t ff_vorbis_encoding_channel_layout_offsets[8][8];
|
||||
extern const int64_t ff_vorbis_channel_layouts[9];
|
||||
extern const uint64_t ff_vorbis_channel_layouts[9];
|
||||
|
||||
typedef struct {
|
||||
uint16_t x;
|
||||
|
@ -44,7 +44,7 @@ const uint8_t ff_vorbis_encoding_channel_layout_offsets[8][8] = {
|
||||
{ 0, 2, 1, 6, 7, 4, 5, 3 },
|
||||
};
|
||||
|
||||
const int64_t ff_vorbis_channel_layouts[9] = {
|
||||
const uint64_t ff_vorbis_channel_layouts[9] = {
|
||||
AV_CH_LAYOUT_MONO,
|
||||
AV_CH_LAYOUT_STEREO,
|
||||
AV_CH_LAYOUT_SURROUND,
|
||||
|
@ -143,7 +143,7 @@ switch(format) {\
|
||||
case FORMAT_F32: s->reorder_func = alsa_reorder_f32_out_ ##layout; break;\
|
||||
}
|
||||
|
||||
static av_cold int find_reorder_func(AlsaData *s, int codec_id, int64_t layout, int out)
|
||||
static av_cold int find_reorder_func(AlsaData *s, int codec_id, uint64_t layout, int out)
|
||||
{
|
||||
int format;
|
||||
|
||||
@ -194,7 +194,7 @@ av_cold int ff_alsa_open(AVFormatContext *ctx, snd_pcm_stream_t mode,
|
||||
snd_pcm_t *h;
|
||||
snd_pcm_hw_params_t *hw_params;
|
||||
snd_pcm_uframes_t buffer_size, period_size;
|
||||
int64_t layout = ctx->streams[0]->codec->channel_layout;
|
||||
uint64_t layout = ctx->streams[0]->codec->channel_layout;
|
||||
|
||||
if (ctx->filename[0] == 0) audio_device = "default";
|
||||
else audio_device = ctx->filename;
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include "libavutil/audioconvert.h"
|
||||
|
||||
typedef struct {
|
||||
int64_t channel_layout;
|
||||
uint64_t channel_layout;
|
||||
int64_t sample_rate;
|
||||
} ANullContext;
|
||||
|
||||
|
@ -349,7 +349,7 @@ fail:
|
||||
|
||||
AVFilterBufferRef *avfilter_get_audio_buffer(AVFilterLink *link, int perms,
|
||||
enum AVSampleFormat sample_fmt, int size,
|
||||
int64_t channel_layout, int planar)
|
||||
uint64_t channel_layout, int planar)
|
||||
{
|
||||
AVFilterBufferRef *ret = NULL;
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
#define LIBAVFILTER_VERSION_MAJOR 2
|
||||
#define LIBAVFILTER_VERSION_MINOR 13
|
||||
#define LIBAVFILTER_VERSION_MICRO 0
|
||||
#define LIBAVFILTER_VERSION_MICRO 1
|
||||
|
||||
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
||||
LIBAVFILTER_VERSION_MINOR, \
|
||||
@ -100,7 +100,7 @@ typedef struct AVFilterBuffer {
|
||||
* per reference properties must be separated out.
|
||||
*/
|
||||
typedef struct AVFilterBufferRefAudioProps {
|
||||
int64_t channel_layout; ///< channel layout of audio buffer
|
||||
uint64_t channel_layout; ///< channel layout of audio buffer
|
||||
int nb_samples; ///< number of audio samples
|
||||
int size; ///< audio buffer size
|
||||
uint32_t sample_rate; ///< audio buffer sample rate
|
||||
@ -376,7 +376,7 @@ struct AVFilterPad {
|
||||
*/
|
||||
AVFilterBufferRef *(*get_audio_buffer)(AVFilterLink *link, int perms,
|
||||
enum AVSampleFormat sample_fmt, int size,
|
||||
int64_t channel_layout, int planar);
|
||||
uint64_t channel_layout, int planar);
|
||||
|
||||
/**
|
||||
* Callback called after the slices of a frame are completely sent. If
|
||||
@ -465,7 +465,7 @@ AVFilterBufferRef *avfilter_default_get_video_buffer(AVFilterLink *link,
|
||||
/** default handler for get_audio_buffer() for audio inputs */
|
||||
AVFilterBufferRef *avfilter_default_get_audio_buffer(AVFilterLink *link, int perms,
|
||||
enum AVSampleFormat sample_fmt, int size,
|
||||
int64_t channel_layout, int planar);
|
||||
uint64_t channel_layout, int planar);
|
||||
|
||||
/**
|
||||
* A helper for query_formats() which sets all links to the same list of
|
||||
@ -496,7 +496,7 @@ AVFilterBufferRef *avfilter_null_get_video_buffer(AVFilterLink *link,
|
||||
/** get_audio_buffer() handler for filters which simply pass audio along */
|
||||
AVFilterBufferRef *avfilter_null_get_audio_buffer(AVFilterLink *link, int perms,
|
||||
enum AVSampleFormat sample_fmt, int size,
|
||||
int64_t channel_layout, int planar);
|
||||
uint64_t channel_layout, int planar);
|
||||
|
||||
/**
|
||||
* Filter definition. This defines the pads a filter contains, and all the
|
||||
@ -589,7 +589,7 @@ struct AVFilterLink {
|
||||
int h; ///< agreed upon image height
|
||||
AVRational sample_aspect_ratio; ///< agreed upon sample aspect ratio
|
||||
/* These two parameters apply only to audio */
|
||||
int64_t channel_layout; ///< channel layout of current buffer (see libavutil/audioconvert.h)
|
||||
uint64_t channel_layout; ///< channel layout of current buffer (see libavutil/audioconvert.h)
|
||||
int64_t sample_rate; ///< samples per second
|
||||
|
||||
int format; ///< agreed upon media format
|
||||
@ -688,7 +688,7 @@ avfilter_get_video_buffer_ref_from_arrays(uint8_t *data[4], int linesize[4], int
|
||||
*/
|
||||
AVFilterBufferRef *avfilter_get_audio_buffer(AVFilterLink *link, int perms,
|
||||
enum AVSampleFormat sample_fmt, int size,
|
||||
int64_t channel_layout, int planar);
|
||||
uint64_t channel_layout, int planar);
|
||||
|
||||
/**
|
||||
* Request an input frame from the filter at the other end of the link.
|
||||
|
@ -57,7 +57,7 @@ AVFilterBufferRef *avfilter_default_get_video_buffer(AVFilterLink *link, int per
|
||||
|
||||
AVFilterBufferRef *avfilter_default_get_audio_buffer(AVFilterLink *link, int perms,
|
||||
enum AVSampleFormat sample_fmt, int size,
|
||||
int64_t channel_layout, int planar)
|
||||
uint64_t channel_layout, int planar)
|
||||
{
|
||||
AVFilterBuffer *samples = av_mallocz(sizeof(AVFilterBuffer));
|
||||
AVFilterBufferRef *ref = NULL;
|
||||
@ -292,7 +292,7 @@ AVFilterBufferRef *avfilter_null_get_video_buffer(AVFilterLink *link, int perms,
|
||||
|
||||
AVFilterBufferRef *avfilter_null_get_audio_buffer(AVFilterLink *link, int perms,
|
||||
enum AVSampleFormat sample_fmt, int size,
|
||||
int64_t channel_layout, int packed)
|
||||
uint64_t channel_layout, int packed)
|
||||
{
|
||||
return avfilter_get_audio_buffer(link->dst->outputs[0], perms, sample_fmt,
|
||||
size, channel_layout, packed);
|
||||
|
@ -60,7 +60,7 @@ static const char *get_channel_name(int channel_id)
|
||||
static const struct {
|
||||
const char *name;
|
||||
int nb_channels;
|
||||
int64_t layout;
|
||||
uint64_t layout;
|
||||
} channel_layout_map[] = {
|
||||
{ "mono", 1, AV_CH_LAYOUT_MONO },
|
||||
{ "stereo", 2, AV_CH_LAYOUT_STEREO },
|
||||
@ -77,7 +77,7 @@ static const struct {
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
int64_t av_get_channel_layout(const char *name)
|
||||
uint64_t av_get_channel_layout(const char *name)
|
||||
{
|
||||
int i = 0;
|
||||
do {
|
||||
@ -90,7 +90,7 @@ int64_t av_get_channel_layout(const char *name)
|
||||
}
|
||||
|
||||
void av_get_channel_layout_string(char *buf, int buf_size,
|
||||
int nb_channels, int64_t channel_layout)
|
||||
int nb_channels, uint64_t channel_layout)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -123,7 +123,7 @@ void av_get_channel_layout_string(char *buf, int buf_size,
|
||||
}
|
||||
}
|
||||
|
||||
int av_get_channel_layout_nb_channels(int64_t channel_layout)
|
||||
int av_get_channel_layout_nb_channels(uint64_t channel_layout)
|
||||
{
|
||||
int count;
|
||||
uint64_t x = channel_layout;
|
||||
|
@ -62,7 +62,7 @@
|
||||
/** Channel mask value used for AVCodecContext.request_channel_layout
|
||||
to indicate that the user requests the channel order of the decoder output
|
||||
to be the native codec channel order. */
|
||||
#define AV_CH_LAYOUT_NATIVE 0x8000000000000000LL
|
||||
#define AV_CH_LAYOUT_NATIVE 0x8000000000000000ULL
|
||||
|
||||
/**
|
||||
* @}
|
||||
@ -92,7 +92,7 @@
|
||||
/**
|
||||
* Return a channel layout id that matches name, 0 if no match.
|
||||
*/
|
||||
int64_t av_get_channel_layout(const char *name);
|
||||
uint64_t av_get_channel_layout(const char *name);
|
||||
|
||||
/**
|
||||
* Return a description of a channel layout.
|
||||
@ -101,12 +101,12 @@ int64_t av_get_channel_layout(const char *name);
|
||||
* @param buf put here the string containing the channel layout
|
||||
* @param buf_size size in bytes of the buffer
|
||||
*/
|
||||
void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, int64_t channel_layout);
|
||||
void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout);
|
||||
|
||||
/**
|
||||
* Return the number of channels in the channel layout.
|
||||
*/
|
||||
int av_get_channel_layout_nb_channels(int64_t channel_layout);
|
||||
int av_get_channel_layout_nb_channels(uint64_t channel_layout);
|
||||
|
||||
/**
|
||||
* @}
|
||||
|
@ -154,7 +154,7 @@
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 51
|
||||
#define LIBAVUTIL_VERSION_MINOR 19
|
||||
#define LIBAVUTIL_VERSION_MICRO 0
|
||||
#define LIBAVUTIL_VERSION_MICRO 1
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
LIBAVUTIL_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user