The rematrixing strategy reuse flags are not reset between frames, so they
need to be initialized for all blocks, not just block 0.
Signed-off-by: Mans Rullgard <mans@mansr.com>
| ... | ... |
@@ -310,9 +310,9 @@ static void compute_rematrixing_strategy(AC3EncodeContext *s) |
| 310 | 310 |
|
| 311 | 311 |
nb_coefs = FFMIN(s->nb_coefs[0], s->nb_coefs[1]); |
| 312 | 312 |
|
| 313 |
- s->blocks[0].new_rematrixing_strategy = 1; |
|
| 314 | 313 |
for (blk = 0; blk < AC3_MAX_BLOCKS; blk++) {
|
| 315 | 314 |
block = &s->blocks[blk]; |
| 315 |
+ block->new_rematrixing_strategy = !blk; |
|
| 316 | 316 |
for (bnd = 0; bnd < 4; bnd++) {
|
| 317 | 317 |
/* calculate calculate sum of squared coeffs for one band in one block */ |
| 318 | 318 |
int start = ff_ac3_rematrix_band_tab[bnd]; |
| ... | ... |
@@ -337,7 +337,6 @@ static void compute_rematrixing_strategy(AC3EncodeContext *s) |
| 337 | 337 |
|
| 338 | 338 |
/* determine if new rematrixing flags will be sent */ |
| 339 | 339 |
if (blk && |
| 340 |
- !block->new_rematrixing_strategy && |
|
| 341 | 340 |
block->rematrixing_flags[bnd] != block0->rematrixing_flags[bnd]) {
|
| 342 | 341 |
block->new_rematrixing_strategy = 1; |
| 343 | 342 |
} |
| ... | ... |
@@ -1,13 +1,17 @@ |
| 1 | 1 |
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
| 2 | 2 |
ret: 0 st:-1 flags:0 ts:-1.000000 |
| 3 | 3 |
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
| 4 |
-ret:-1 st:-1 flags:1 ts: 1.894167 |
|
| 5 |
-ret:-1 st: 0 flags:0 ts: 0.788000 |
|
| 4 |
+ret: 0 st:-1 flags:1 ts: 1.894167 |
|
| 5 |
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
|
| 6 |
+ret: 0 st: 0 flags:0 ts: 0.788000 |
|
| 7 |
+ret: 0 st: 0 flags:1 dts:4160806.587000 pts:4160806.587000 pos: 3883 size: 116 |
|
| 6 | 8 |
ret: 0 st: 0 flags:1 ts:-0.317000 |
| 7 | 9 |
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
| 8 |
-ret:-1 st:-1 flags:0 ts: 2.576668 |
|
| 10 |
+ret: 0 st:-1 flags:0 ts: 2.576668 |
|
| 11 |
+ret: 0 st: 0 flags:1 dts:4160806.587000 pts:4160806.587000 pos: 3883 size: 116 |
|
| 9 | 12 |
ret:-1 st:-1 flags:1 ts: 1.470835 |
| 10 |
-ret:-1 st: 0 flags:0 ts: 0.365000 |
|
| 13 |
+ret: 0 st: 0 flags:0 ts: 0.365000 |
|
| 14 |
+ret: 0 st: 0 flags:1 dts:4160806.587000 pts:4160806.587000 pos: 3883 size: 116 |
|
| 11 | 15 |
ret: 0 st: 0 flags:1 ts:-0.741000 |
| 12 | 16 |
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
| 13 | 17 |
ret:-1 st:-1 flags:0 ts: 2.153336 |
| ... | ... |
@@ -16,20 +20,26 @@ ret: 0 st: 0 flags:0 ts:-0.058000 |
| 16 | 16 |
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
| 17 | 17 |
ret:-1 st: 0 flags:1 ts: 2.836000 |
| 18 | 18 |
ret:-1 st:-1 flags:0 ts: 1.730004 |
| 19 |
-ret:-1 st:-1 flags:1 ts: 0.624171 |
|
| 19 |
+ret: 0 st:-1 flags:1 ts: 0.624171 |
|
| 20 |
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
|
| 20 | 21 |
ret: 0 st: 0 flags:0 ts:-0.482000 |
| 21 | 22 |
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
| 22 |
-ret:-1 st: 0 flags:1 ts: 2.413000 |
|
| 23 |
+ret: 0 st: 0 flags:1 ts: 2.413000 |
|
| 24 |
+ret: 0 st: 0 flags:1 dts: 2.229000 pts: 2.229000 pos: 36705 size: 556 |
|
| 23 | 25 |
ret:-1 st:-1 flags:0 ts: 1.306672 |
| 24 |
-ret:-1 st:-1 flags:1 ts: 0.200839 |
|
| 26 |
+ret: 0 st:-1 flags:1 ts: 0.200839 |
|
| 27 |
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
|
| 25 | 28 |
ret: 0 st: 0 flags:0 ts:-0.905000 |
| 26 | 29 |
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
| 27 | 30 |
ret:-1 st: 0 flags:1 ts: 1.989000 |
| 28 |
-ret:-1 st:-1 flags:0 ts: 0.883340 |
|
| 31 |
+ret: 0 st:-1 flags:0 ts: 0.883340 |
|
| 32 |
+ret: 0 st: 0 flags:1 dts:4160806.587000 pts:4160806.587000 pos: 3883 size: 116 |
|
| 29 | 33 |
ret: 0 st:-1 flags:1 ts:-0.222493 |
| 30 | 34 |
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |
| 31 |
-ret:-1 st: 0 flags:0 ts: 2.672000 |
|
| 35 |
+ret: 0 st: 0 flags:0 ts: 2.672000 |
|
| 36 |
+ret: 0 st: 0 flags:1 dts:6354.691000 pts:6354.691000 pos: 10783 size: 304 |
|
| 32 | 37 |
ret:-1 st: 0 flags:1 ts: 1.566000 |
| 33 |
-ret:-1 st:-1 flags:0 ts: 0.460008 |
|
| 38 |
+ret: 0 st:-1 flags:0 ts: 0.460008 |
|
| 39 |
+ret: 0 st: 0 flags:1 dts:4160806.587000 pts:4160806.587000 pos: 3883 size: 116 |
|
| 34 | 40 |
ret: 0 st:-1 flags:1 ts:-0.645825 |
| 35 | 41 |
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 271 size: 556 |