Mercurial > libavcodec.hg
comparison cook.c @ 4425:aca324d5bd58 libavcodec
Sort out the diffrent cook versions.
author | banan |
---|---|
date | Sun, 28 Jan 2007 10:17:48 +0000 |
parents | 8c830bde8006 |
children | eeb16216b454 |
comparison
equal
deleted
inserted
replaced
4424:8c830bde8006 | 4425:aca324d5bd58 |
---|---|
52 #include "dsputil.h" | 52 #include "dsputil.h" |
53 | 53 |
54 #include "cookdata.h" | 54 #include "cookdata.h" |
55 | 55 |
56 /* the different Cook versions */ | 56 /* the different Cook versions */ |
57 #define MONO_COOK1 0x1000001 | 57 #define MONO 0x1000001 |
58 #define MONO_COOK2 0x1000002 | 58 #define STEREO 0x1000002 |
59 #define JOINT_STEREO 0x1000003 | 59 #define JOINT_STEREO 0x1000003 |
60 #define MC_COOK 0x2000000 //multichannel Cook, not supported | 60 #define MC_COOK 0x2000000 //multichannel Cook, not supported |
61 | 61 |
62 #define SUBBAND_SIZE 20 | 62 #define SUBBAND_SIZE 20 |
63 //#define COOKDEBUG | 63 //#define COOKDEBUG |
1163 { | 1163 { |
1164 //int i=0; | 1164 //int i=0; |
1165 #define PRINT(a,b) av_log(NULL,AV_LOG_ERROR," %s = %d\n", a, b); | 1165 #define PRINT(a,b) av_log(NULL,AV_LOG_ERROR," %s = %d\n", a, b); |
1166 av_log(NULL,AV_LOG_ERROR,"COOKextradata\n"); | 1166 av_log(NULL,AV_LOG_ERROR,"COOKextradata\n"); |
1167 av_log(NULL,AV_LOG_ERROR,"cookversion=%x\n",e->cookversion); | 1167 av_log(NULL,AV_LOG_ERROR,"cookversion=%x\n",e->cookversion); |
1168 if (e->cookversion > MONO_COOK2) { | 1168 if (e->cookversion > STEREO) { |
1169 PRINT("js_subband_start",e->js_subband_start); | 1169 PRINT("js_subband_start",e->js_subband_start); |
1170 PRINT("js_vlc_bits",e->js_vlc_bits); | 1170 PRINT("js_vlc_bits",e->js_vlc_bits); |
1171 } | 1171 } |
1172 av_log(NULL,AV_LOG_ERROR,"COOKContext\n"); | 1172 av_log(NULL,AV_LOG_ERROR,"COOKContext\n"); |
1173 PRINT("nb_channels",q->nb_channels); | 1173 PRINT("nb_channels",q->nb_channels); |
1235 q->total_subbands = q->subbands; | 1235 q->total_subbands = q->subbands; |
1236 | 1236 |
1237 /* Initialize version-dependent variables */ | 1237 /* Initialize version-dependent variables */ |
1238 av_log(NULL,AV_LOG_DEBUG,"e->cookversion=%x\n",e->cookversion); | 1238 av_log(NULL,AV_LOG_DEBUG,"e->cookversion=%x\n",e->cookversion); |
1239 switch (e->cookversion) { | 1239 switch (e->cookversion) { |
1240 case MONO_COOK1: | 1240 case MONO: |
1241 if (q->nb_channels != 1) { | 1241 if (q->nb_channels != 1) { |
1242 av_log(avctx,AV_LOG_ERROR,"Container channels != 1, report sample!\n"); | 1242 av_log(avctx,AV_LOG_ERROR,"Container channels != 1, report sample!\n"); |
1243 return -1; | 1243 return -1; |
1244 } | 1244 } |
1245 av_log(avctx,AV_LOG_DEBUG,"MONO_COOK1\n"); | 1245 av_log(avctx,AV_LOG_DEBUG,"MONO\n"); |
1246 break; | 1246 break; |
1247 case MONO_COOK2: | 1247 case STEREO: |
1248 if (q->nb_channels != 1) { | 1248 if (q->nb_channels != 1) { |
1249 q->joint_stereo = 0; | 1249 q->joint_stereo = 0; |
1250 q->bits_per_subpacket = q->bits_per_subpacket/2; | 1250 q->bits_per_subpacket = q->bits_per_subpacket/2; |
1251 } | 1251 } |
1252 av_log(avctx,AV_LOG_DEBUG,"MONO_COOK2\n"); | 1252 av_log(avctx,AV_LOG_DEBUG,"STEREO\n"); |
1253 break; | 1253 break; |
1254 case JOINT_STEREO: | 1254 case JOINT_STEREO: |
1255 if (q->nb_channels != 2) { | 1255 if (q->nb_channels != 2) { |
1256 av_log(avctx,AV_LOG_ERROR,"Container channels != 2, report sample!\n"); | 1256 av_log(avctx,AV_LOG_ERROR,"Container channels != 2, report sample!\n"); |
1257 return -1; | 1257 return -1; |