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>
int sample_rate;
int bit_rate;
int samples;
- int64_t channel_layout;
+ uint64_t channel_layout;
int service_type;
int remaining_size;
{ { 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,
uint32_t bit_rate;
uint8_t channels;
uint16_t frame_size;
- int64_t channel_layout;
+ uint64_t channel_layout;
/** @} */
} AC3HeaderInfo;
/**
* 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,
* 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)
} 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);
}
#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;
* @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;
* - 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.
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}
* 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)
return channels;
}
-static int64_t truehd_layout(int chanmap)
+static uint64_t truehd_layout(int chanmap)
{
int layout = 0, i;
#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, \
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;
{ 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,
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;
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;
#include "libavutil/audioconvert.h"
typedef struct {
- int64_t channel_layout;
+ uint64_t channel_layout;
int64_t sample_rate;
} ANullContext;
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;
#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, \
* 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
*/
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
/** 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
/** 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
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
*/
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.
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;
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);
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 },
{ 0 }
};
-int64_t av_get_channel_layout(const char *name)
+uint64_t av_get_channel_layout(const char *name)
{
int i = 0;
do {
}
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;
}
}
-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;
/** 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
/**
* @}
/**
* 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.
* @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);
/**
* @}
#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, \