# HG changeset patch # User pross # Date 1219142190 0 # Node ID 1302ec81afc0c662b766f1e45d27ab44c2746755 # Parent a909361cdfc48ab40b53120bc22edc4d94cf32a3 Add SAMPLE_FMT_DBL. diff -r a909361cdfc4 -r 1302ec81afc0 audioconvert.c --- a/audioconvert.c Tue Aug 19 10:17:29 2008 +0000 +++ b/audioconvert.c Tue Aug 19 10:36:30 2008 +0000 @@ -39,7 +39,8 @@ [SAMPLE_FMT_S16] = { .name = "s16", .bits = 16 }, [SAMPLE_FMT_S24] = { .name = "s24", .bits = 24 }, [SAMPLE_FMT_S32] = { .name = "s32", .bits = 32 }, - [SAMPLE_FMT_FLT] = { .name = "flt", .bits = 32 } + [SAMPLE_FMT_FLT] = { .name = "flt", .bits = 32 }, + [SAMPLE_FMT_DBL] = { .name = "dbl", .bits = 64 }, }; const char *avcodec_get_sample_fmt_name(int sample_fmt) @@ -127,18 +128,27 @@ else CONV(SAMPLE_FMT_S16, int16_t, SAMPLE_FMT_U8 , (*(uint8_t*)pi - 0x80)<<8) else CONV(SAMPLE_FMT_S32, int32_t, SAMPLE_FMT_U8 , (*(uint8_t*)pi - 0x80)<<24) else CONV(SAMPLE_FMT_FLT, float , SAMPLE_FMT_U8 , (*(uint8_t*)pi - 0x80)*(1.0 / (1<<7))) + else CONV(SAMPLE_FMT_DBL, double , SAMPLE_FMT_U8 , (*(uint8_t*)pi - 0x80)*(1.0 / (1<<7))) else CONV(SAMPLE_FMT_U8 , uint8_t, SAMPLE_FMT_S16, (*(int16_t*)pi>>8) + 0x80) else CONV(SAMPLE_FMT_S16, int16_t, SAMPLE_FMT_S16, *(int16_t*)pi) else CONV(SAMPLE_FMT_S32, int32_t, SAMPLE_FMT_S16, *(int16_t*)pi<<16) else CONV(SAMPLE_FMT_FLT, float , SAMPLE_FMT_S16, *(int16_t*)pi*(1.0 / (1<<15))) + else CONV(SAMPLE_FMT_DBL, double , SAMPLE_FMT_S16, *(int16_t*)pi*(1.0 / (1<<15))) else CONV(SAMPLE_FMT_U8 , uint8_t, SAMPLE_FMT_S32, (*(int32_t*)pi>>24) + 0x80) else CONV(SAMPLE_FMT_S16, int16_t, SAMPLE_FMT_S32, *(int32_t*)pi>>16) else CONV(SAMPLE_FMT_S32, int32_t, SAMPLE_FMT_S32, *(int32_t*)pi) else CONV(SAMPLE_FMT_FLT, float , SAMPLE_FMT_S32, *(int32_t*)pi*(1.0 / (1<<31))) + else CONV(SAMPLE_FMT_DBL, double , SAMPLE_FMT_S32, *(int32_t*)pi*(1.0 / (1<<31))) else CONV(SAMPLE_FMT_U8 , uint8_t, SAMPLE_FMT_FLT, lrintf(*(float*)pi * (1<<7)) + 0x80) else CONV(SAMPLE_FMT_S16, int16_t, SAMPLE_FMT_FLT, lrintf(*(float*)pi * (1<<15))) else CONV(SAMPLE_FMT_S32, int32_t, SAMPLE_FMT_FLT, lrintf(*(float*)pi * (1<<31))) else CONV(SAMPLE_FMT_FLT, float , SAMPLE_FMT_FLT, *(float*)pi) + else CONV(SAMPLE_FMT_DBL, double , SAMPLE_FMT_FLT, *(float*)pi) + else CONV(SAMPLE_FMT_U8 , uint8_t, SAMPLE_FMT_DBL, lrint(*(double*)pi * (1<<7)) + 0x80) + else CONV(SAMPLE_FMT_S16, int16_t, SAMPLE_FMT_DBL, lrint(*(double*)pi * (1<<15))) + else CONV(SAMPLE_FMT_S32, int32_t, SAMPLE_FMT_DBL, lrint(*(double*)pi * (1<<31))) + else CONV(SAMPLE_FMT_FLT, float , SAMPLE_FMT_DBL, *(double*)pi) + else CONV(SAMPLE_FMT_DBL, double , SAMPLE_FMT_DBL, *(double*)pi) else return -1; } return 0; diff -r a909361cdfc4 -r 1302ec81afc0 avcodec.h --- a/avcodec.h Tue Aug 19 10:17:29 2008 +0000 +++ b/avcodec.h Tue Aug 19 10:36:30 2008 +0000 @@ -30,7 +30,7 @@ #include "libavutil/avutil.h" #define LIBAVCODEC_VERSION_MAJOR 51 -#define LIBAVCODEC_VERSION_MINOR 64 +#define LIBAVCODEC_VERSION_MINOR 65 #define LIBAVCODEC_VERSION_MICRO 0 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ @@ -348,6 +348,7 @@ SAMPLE_FMT_S24, ///< signed 24 bits @deprecated Deprecated in favor of SAMPLE_FMT_S32 SAMPLE_FMT_S32, ///< signed 32 bits SAMPLE_FMT_FLT, ///< float + SAMPLE_FMT_DBL, ///< double SAMPLE_FMT_NB ///< Number of sample formats. DO NOT USE if dynamically linking to libavcodec }; diff -r a909361cdfc4 -r 1302ec81afc0 utils.c --- a/utils.c Tue Aug 19 10:17:29 2008 +0000 +++ b/utils.c Tue Aug 19 10:36:30 2008 +0000 @@ -1329,6 +1329,8 @@ case SAMPLE_FMT_S32: case SAMPLE_FMT_FLT: return 32; + case SAMPLE_FMT_DBL: + return 64; default: return 0; }