[FFmpeg-soc] [soc]: r617 - eac3/eac3_parser.c
bwolowiec
subversion at mplayerhq.hu
Tue Aug 7 22:46:32 CEST 2007
Author: bwolowiec
Date: Tue Aug 7 22:46:32 2007
New Revision: 617
Log:
Add rematrixing strategy.
Modified:
eac3/eac3_parser.c
Modified: eac3/eac3_parser.c
==============================================================================
--- eac3/eac3_parser.c (original)
+++ eac3/eac3_parser.c Tue Aug 7 22:46:32 2007
@@ -756,7 +756,7 @@ int ff_eac3_parse_audblk(GetBitContext *
/* These fields for coupling coordinates */
if(s->cplinu[blk])
{
- av_log(s->avctx, AV_LOG_INFO, "NOT TESTED");
+ av_log(s->avctx, AV_LOG_INFO, "NOT TESTED CPLINU\n");
if(s->ecplinu == 0) /* standard coupling in use */
{
@@ -857,21 +857,19 @@ int ff_eac3_parse_audblk(GetBitContext *
/* These fields for rematrixing operation in the 2/0 mode */
if(s->acmod == 0x2) /* if in 2/0 mode */
{
- if (blk == 0) {
+ if (blk == 0 || get_bits1(gbc)) {
s->rematstr = 1;
}
- else {
- GET_BITS(s->rematstr, gbc, 1);
- }
if(s->rematstr)
{
/* nrematbnds determined from cplinu, ecplinu, spxinu, cplbegf, ecplbegf and spxbegf
- * TODO: how ? */
- av_log(s->avctx, AV_LOG_ERROR, "NOT IMPLEMENTED");
- return -1;
- /*for(bnd = 0; bnd < s->nrematbnds; bnd++) {
+ * TODO XXX (code from AC-3) */
+ s->nrematbnds = 4;
+ if(s->cplinu && s->cplbegf <= 2)
+ s->nrematbnds -= 1 + (s->cplbegf == 0);
+ for(bnd = 0; bnd < s->nrematbnds; bnd++) {
GET_BITS(s->rematflg[bnd], gbc, 1);
- }*/
+ }
}
}
/* This field for channel bandwidth code */
More information about the FFmpeg-soc
mailing list