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;