[FFmpeg-devel] [PATCH 1/2] avcodec/mpeg4videodec: Fix default low_delay flag value if not coded
Michael Niedermayer
michael at niedermayer.cc
Mon Mar 28 20:55:14 CEST 2016
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
libavcodec/mpeg4videodec.c | 12 ++-
tests/ref/fate/iv8-demux | 48 ++++++------
tests/ref/fate/nc-demux | 182 ++++++++++++++++++++++----------------------
3 files changed, 125 insertions(+), 117 deletions(-)
diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index 527cbe9..a74cdbd 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -1754,8 +1754,16 @@ static int decode_vol_header(Mpeg4DecContext *ctx, GetBitContext *gb)
} else {
/* is setting low delay flag only once the smartest thing to do?
* low delay detection won't be overridden. */
- if (s->picture_number == 0)
- s->low_delay = 0;
+ if (s->picture_number == 0) {
+ switch(s->vo_type) {
+ case SIMPLE_VO_TYPE:
+ case ADV_SIMPLE_VO_TYPE:
+ s->low_delay = 1;
+ break;
+ default:
+ s->low_delay = 0;
+ }
+ }
}
ctx->shape = get_bits(gb, 2); /* vol shape */
diff --git a/tests/ref/fate/iv8-demux b/tests/ref/fate/iv8-demux
index 02b6314..fe9f3b3 100644
--- a/tests/ref/fate/iv8-demux
+++ b/tests/ref/fate/iv8-demux
@@ -1,27 +1,27 @@
#extradata 0: 19, 0x1f2604b9
#tb 0: 1/90000
0, 0, 0, 0, 20883, 0x347191e2
-0, 0, 3600, 0, 20882, 0xe1573905
-0, 3600, 7200, 0, 20894, 0xd54f516a
-0, 7200, 10800, 0, 20891, 0x1b5c5039
-0, 10800, 14400, 0, 20883, 0x8e785b4d
-0, 14400, 18000, 0, 20870, 0xd26ca1f6
-0, 18000, 21600, 0, 21448, 0x946f5b2b
-0, 21600, 25200, 0, 21433, 0xb18687c5
-0, 25200, 28800, 0, 20865, 0xc0eb3fce
-0, 28800, 32399, 0, 20842, 0x9d0728ba
-0, 32399, 35999, 0, 20878, 0xf60f5dee
-0, 35999, 39600, 0, 20866, 0x3bde568f
-0, 39600, 43200, 0, 20884, 0x22736993
-0, 43200, 46800, 0, 20860, 0xf56f2fca
-0, 46800, 50400, 0, 20872, 0xf39e3cb3
-0, 50400, 53999, 0, 20835, 0xa3c4363b
-0, 53999, 57600, 0, 20905, 0x552853d1
-0, 57600, 61200, 0, 20874, 0xed0b91ec
-0, 61200, 64799, 0, 20877, 0xe1623e01
-0, 64799, 68399, 0, 20933, 0x19906564
-0, 68399, 72000, 0, 20891, 0x3d064fd3
-0, 72000, 75600, 0, 20834, 0xcb774dbc
-0, 75600, 79200, 0, 20870, 0xbc536589
-0, 79200, 82800, 0, 21421, 0xc99a68e4
-0, 82800, 86400, 0, 12869, 0x5684e304
+0, 3600, 3600, 0, 20882, 0xe1573905
+0, 7200, 7200, 0, 20894, 0xd54f516a
+0, 10800, 10800, 0, 20891, 0x1b5c5039
+0, 14400, 14400, 0, 20883, 0x8e785b4d
+0, 18000, 18000, 0, 20870, 0xd26ca1f6
+0, 21600, 21600, 0, 21448, 0x946f5b2b
+0, 25200, 25200, 0, 21433, 0xb18687c5
+0, 28800, 28800, 0, 20865, 0xc0eb3fce
+0, 32399, 32399, 0, 20842, 0x9d0728ba
+0, 35999, 35999, 0, 20878, 0xf60f5dee
+0, 39600, 39600, 0, 20866, 0x3bde568f
+0, 43200, 43200, 0, 20884, 0x22736993
+0, 46800, 46800, 0, 20860, 0xf56f2fca
+0, 50400, 50400, 0, 20872, 0xf39e3cb3
+0, 53999, 53999, 0, 20835, 0xa3c4363b
+0, 57600, 57600, 0, 20905, 0x552853d1
+0, 61200, 61200, 0, 20874, 0xed0b91ec
+0, 64799, 64799, 0, 20877, 0xe1623e01
+0, 68399, 68399, 0, 20933, 0x19906564
+0, 72000, 72000, 0, 20891, 0x3d064fd3
+0, 75600, 75600, 0, 20834, 0xcb774dbc
+0, 79200, 79200, 0, 20870, 0xbc536589
+0, 82800, 82800, 0, 21421, 0xc99a68e4
+0, 86400, 86400, 0, 12869, 0x5684e304
diff --git a/tests/ref/fate/nc-demux b/tests/ref/fate/nc-demux
index 98318ac..e5ff05d 100644
--- a/tests/ref/fate/nc-demux
+++ b/tests/ref/fate/nc-demux
@@ -1,93 +1,93 @@
#extradata 0: 19, 0x1afd0446
#tb 0: 1/100
-0, 0, -9223372036854775808, 1, 19787, 0x75e463f3
-0, 1, -9223372036854775808, 1, 11913, 0x0f429c34, F=0x0
-0, 2, -9223372036854775808, 1, 14225, 0xbd3c704c, F=0x0
-0, 3, -9223372036854775808, 1, 10357, 0xbf232393, F=0x0
-0, 4, -9223372036854775808, 1, 9595, 0xf565d39e, F=0x0
-0, 5, -9223372036854775808, 1, 9262, 0x2afd6ce0, F=0x0
-0, 6, -9223372036854775808, 1, 12214, 0x6ae81d9b, F=0x0
-0, 7, -9223372036854775808, 1, 13920, 0x31b5b307, F=0x0
-0, 8, -9223372036854775808, 1, 10164, 0x141eca4e, F=0x0
-0, 9, -9223372036854775808, 1, 9516, 0xd5f2c42b, F=0x0
-0, 10, -9223372036854775808, 1, 10006, 0x80850a76, F=0x0
-0, 11, -9223372036854775808, 1, 11791, 0x10bc2dcd, F=0x0
-0, 12, -9223372036854775808, 1, 13756, 0xda1fee08, F=0x0
-0, 13, -9223372036854775808, 1, 10452, 0xbb3d62b0, F=0x0
-0, 14, -9223372036854775808, 1, 9171, 0x64ae10f6, F=0x0
-0, 15, -9223372036854775808, 1, 8816, 0x31ad8fcb, F=0x0
-0, 16, -9223372036854775808, 1, 13168, 0xea1085ac, F=0x0
-0, 17, -9223372036854775808, 1, 12797, 0x25143d22, F=0x0
-0, 18, -9223372036854775808, 1, 11324, 0x3a54b38e, F=0x0
-0, 19, -9223372036854775808, 1, 9173, 0x8b2bf552, F=0x0
-0, 20, -9223372036854775808, 1, 9247, 0x2e87226b, F=0x0
-0, 21, -9223372036854775808, 1, 14140, 0x1063786c, F=0x0
-0, 22, -9223372036854775808, 1, 14437, 0xde123a17, F=0x0
-0, 23, -9223372036854775808, 1, 11938, 0x3f1168f4, F=0x0
-0, 24, -9223372036854775808, 1, 11966, 0xdd6786ec, F=0x0
-0, 25, -9223372036854775808, 1, 13213, 0x8ab27c58, F=0x0
-0, 26, -9223372036854775808, 1, 11843, 0x90415d8b, F=0x0
-0, 27, -9223372036854775808, 1, 13345, 0x3c0e1793, F=0x0
-0, 28, -9223372036854775808, 1, 9977, 0x74fc7f4b, F=0x0
-0, 29, -9223372036854775808, 1, 9158, 0x0b5426a5, F=0x0
-0, 30, -9223372036854775808, 1, 12715, 0x0035d569, F=0x0
-0, 31, -9223372036854775808, 1, 19944, 0xe2887ba8
-0, 32, -9223372036854775808, 1, 12762, 0xb0f17939, F=0x0
-0, 33, -9223372036854775808, 1, 10260, 0x182b27aa, F=0x0
-0, 34, -9223372036854775808, 1, 7405, 0x227fe9bf, F=0x0
-0, 35, -9223372036854775808, 1, 13317, 0x1a678c62, F=0x0
-0, 36, -9223372036854775808, 1, 11304, 0x3277af6d, F=0x0
-0, 37, -9223372036854775808, 1, 13291, 0xe267616a, F=0x0
-0, 38, -9223372036854775808, 1, 8975, 0xe7eeacea, F=0x0
-0, 39, -9223372036854775808, 1, 8473, 0x8bb1cbff, F=0x0
-0, 40, -9223372036854775808, 1, 13878, 0xfd3d55bb, F=0x0
-0, 41, -9223372036854775808, 1, 11278, 0x61c7c55e, F=0x0
-0, 42, -9223372036854775808, 1, 13785, 0x2acbf88f, F=0x0
-0, 43, -9223372036854775808, 1, 9521, 0x99e2d065, F=0x0
-0, 44, -9223372036854775808, 1, 9340, 0xe5c96510, F=0x0
-0, 45, -9223372036854775808, 1, 12777, 0x4c3c7844, F=0x0
-0, 46, -9223372036854775808, 1, 10685, 0x39e0f42e, F=0x0
-0, 47, -9223372036854775808, 1, 14237, 0x9398d07f, F=0x0
-0, 48, -9223372036854775808, 1, 9021, 0x3343c7ec, F=0x0
-0, 49, -9223372036854775808, 1, 9327, 0xad489e86, F=0x0
-0, 50, -9223372036854775808, 1, 13507, 0xb1344f1c, F=0x0
-0, 51, -9223372036854775808, 1, 10199, 0x9a8868bf, F=0x0
-0, 52, -9223372036854775808, 1, 14535, 0xddb13f41, F=0x0
-0, 53, -9223372036854775808, 1, 8773, 0x3d8b6a79, F=0x0
-0, 54, -9223372036854775808, 1, 16084, 0x5d915de4, F=0x0
-0, 55, -9223372036854775808, 1, 9156, 0x5cb08a6a, F=0x0
-0, 56, -9223372036854775808, 1, 15027, 0xc23b1dc8, F=0x0
-0, 57, -9223372036854775808, 1, 8240, 0xd6d3526c, F=0x0
-0, 58, -9223372036854775808, 1, 8720, 0x439c43bf, F=0x0
-0, 59, -9223372036854775808, 1, 13684, 0x18fc82f0, F=0x0
-0, 60, -9223372036854775808, 1, 8829, 0xa3ebeb30, F=0x0
-0, 61, -9223372036854775808, 1, 14650, 0x99e8678c, F=0x0
-0, 62, -9223372036854775808, 1, 19626, 0x80a7ee5c
-0, 63, -9223372036854775808, 1, 7762, 0x7c209a12, F=0x0
-0, 64, -9223372036854775808, 1, 13636, 0xc89c1aa3, F=0x0
-0, 65, -9223372036854775808, 1, 8337, 0x749bf76a, F=0x0
-0, 66, -9223372036854775808, 1, 15098, 0xc98bc6dc, F=0x0
-0, 67, -9223372036854775808, 1, 9070, 0xcd4cf7f1, F=0x0
-0, 68, -9223372036854775808, 1, 8269, 0x90e95d54, F=0x0
-0, 69, -9223372036854775808, 1, 12672, 0x034888d0, F=0x0
-0, 70, -9223372036854775808, 1, 7519, 0x6c089672, F=0x0
-0, 71, -9223372036854775808, 1, 14439, 0x5d2478b9, F=0x0
-0, 72, -9223372036854775808, 1, 6928, 0x98fbaa67, F=0x0
-0, 73, -9223372036854775808, 1, 8735, 0x07643f1e, F=0x0
-0, 74, -9223372036854775808, 1, 13522, 0x55034cdb, F=0x0
-0, 75, -9223372036854775808, 1, 7807, 0xf5983103, F=0x0
-0, 76, -9223372036854775808, 1, 14484, 0xfc9cf260, F=0x0
-0, 77, -9223372036854775808, 1, 7193, 0x170a0fa1, F=0x0
-0, 78, -9223372036854775808, 1, 9444, 0x6f9be36f, F=0x0
-0, 79, -9223372036854775808, 1, 12598, 0x69b7609d, F=0x0
-0, 80, -9223372036854775808, 1, 7650, 0x1abaec9e, F=0x0
-0, 81, -9223372036854775808, 1, 15162, 0x2a87f723, F=0x0
-0, 82, -9223372036854775808, 1, 7752, 0xcca248aa, F=0x0
-0, 83, -9223372036854775808, 1, 9085, 0x1ca7d7e5, F=0x0
-0, 84, -9223372036854775808, 1, 13187, 0xababcc64, F=0x0
-0, 85, -9223372036854775808, 1, 7968, 0x64a28f46, F=0x0
-0, 86, -9223372036854775808, 1, 15474, 0xf34c587c, F=0x0
-0, 87, -9223372036854775808, 1, 8615, 0x61301034, F=0x0
-0, 88, -9223372036854775808, 1, 14129, 0x42c88bea, F=0x0
-0, 89, -9223372036854775808, 1, 7223, 0x675d7500, F=0x0
-0, 90, -9223372036854775808, 1, 3072, 0x4cb6254c, F=0x0
+0, 0, 0, 1, 19787, 0x75e463f3
+0, 1, 1, 1, 11913, 0x0f429c34, F=0x0
+0, 2, 2, 1, 14225, 0xbd3c704c, F=0x0
+0, 3, 3, 1, 10357, 0xbf232393, F=0x0
+0, 4, 4, 1, 9595, 0xf565d39e, F=0x0
+0, 5, 5, 1, 9262, 0x2afd6ce0, F=0x0
+0, 6, 6, 1, 12214, 0x6ae81d9b, F=0x0
+0, 7, 7, 1, 13920, 0x31b5b307, F=0x0
+0, 8, 8, 1, 10164, 0x141eca4e, F=0x0
+0, 9, 9, 1, 9516, 0xd5f2c42b, F=0x0
+0, 10, 10, 1, 10006, 0x80850a76, F=0x0
+0, 11, 11, 1, 11791, 0x10bc2dcd, F=0x0
+0, 12, 12, 1, 13756, 0xda1fee08, F=0x0
+0, 13, 13, 1, 10452, 0xbb3d62b0, F=0x0
+0, 14, 14, 1, 9171, 0x64ae10f6, F=0x0
+0, 15, 15, 1, 8816, 0x31ad8fcb, F=0x0
+0, 16, 16, 1, 13168, 0xea1085ac, F=0x0
+0, 17, 17, 1, 12797, 0x25143d22, F=0x0
+0, 18, 18, 1, 11324, 0x3a54b38e, F=0x0
+0, 19, 19, 1, 9173, 0x8b2bf552, F=0x0
+0, 20, 20, 1, 9247, 0x2e87226b, F=0x0
+0, 21, 21, 1, 14140, 0x1063786c, F=0x0
+0, 22, 22, 1, 14437, 0xde123a17, F=0x0
+0, 23, 23, 1, 11938, 0x3f1168f4, F=0x0
+0, 24, 24, 1, 11966, 0xdd6786ec, F=0x0
+0, 25, 25, 1, 13213, 0x8ab27c58, F=0x0
+0, 26, 26, 1, 11843, 0x90415d8b, F=0x0
+0, 27, 27, 1, 13345, 0x3c0e1793, F=0x0
+0, 28, 28, 1, 9977, 0x74fc7f4b, F=0x0
+0, 29, 29, 1, 9158, 0x0b5426a5, F=0x0
+0, 30, 30, 1, 12715, 0x0035d569, F=0x0
+0, 31, 31, 1, 19944, 0xe2887ba8
+0, 32, 32, 1, 12762, 0xb0f17939, F=0x0
+0, 33, 33, 1, 10260, 0x182b27aa, F=0x0
+0, 34, 34, 1, 7405, 0x227fe9bf, F=0x0
+0, 35, 35, 1, 13317, 0x1a678c62, F=0x0
+0, 36, 36, 1, 11304, 0x3277af6d, F=0x0
+0, 37, 37, 1, 13291, 0xe267616a, F=0x0
+0, 38, 38, 1, 8975, 0xe7eeacea, F=0x0
+0, 39, 39, 1, 8473, 0x8bb1cbff, F=0x0
+0, 40, 40, 1, 13878, 0xfd3d55bb, F=0x0
+0, 41, 41, 1, 11278, 0x61c7c55e, F=0x0
+0, 42, 42, 1, 13785, 0x2acbf88f, F=0x0
+0, 43, 43, 1, 9521, 0x99e2d065, F=0x0
+0, 44, 44, 1, 9340, 0xe5c96510, F=0x0
+0, 45, 45, 1, 12777, 0x4c3c7844, F=0x0
+0, 46, 46, 1, 10685, 0x39e0f42e, F=0x0
+0, 47, 47, 1, 14237, 0x9398d07f, F=0x0
+0, 48, 48, 1, 9021, 0x3343c7ec, F=0x0
+0, 49, 49, 1, 9327, 0xad489e86, F=0x0
+0, 50, 50, 1, 13507, 0xb1344f1c, F=0x0
+0, 51, 51, 1, 10199, 0x9a8868bf, F=0x0
+0, 52, 52, 1, 14535, 0xddb13f41, F=0x0
+0, 53, 53, 1, 8773, 0x3d8b6a79, F=0x0
+0, 54, 54, 1, 16084, 0x5d915de4, F=0x0
+0, 55, 55, 1, 9156, 0x5cb08a6a, F=0x0
+0, 56, 56, 1, 15027, 0xc23b1dc8, F=0x0
+0, 57, 57, 1, 8240, 0xd6d3526c, F=0x0
+0, 58, 58, 1, 8720, 0x439c43bf, F=0x0
+0, 59, 59, 1, 13684, 0x18fc82f0, F=0x0
+0, 60, 60, 1, 8829, 0xa3ebeb30, F=0x0
+0, 61, 61, 1, 14650, 0x99e8678c, F=0x0
+0, 62, 62, 1, 19626, 0x80a7ee5c
+0, 63, 63, 1, 7762, 0x7c209a12, F=0x0
+0, 64, 64, 1, 13636, 0xc89c1aa3, F=0x0
+0, 65, 65, 1, 8337, 0x749bf76a, F=0x0
+0, 66, 66, 1, 15098, 0xc98bc6dc, F=0x0
+0, 67, 67, 1, 9070, 0xcd4cf7f1, F=0x0
+0, 68, 68, 1, 8269, 0x90e95d54, F=0x0
+0, 69, 69, 1, 12672, 0x034888d0, F=0x0
+0, 70, 70, 1, 7519, 0x6c089672, F=0x0
+0, 71, 71, 1, 14439, 0x5d2478b9, F=0x0
+0, 72, 72, 1, 6928, 0x98fbaa67, F=0x0
+0, 73, 73, 1, 8735, 0x07643f1e, F=0x0
+0, 74, 74, 1, 13522, 0x55034cdb, F=0x0
+0, 75, 75, 1, 7807, 0xf5983103, F=0x0
+0, 76, 76, 1, 14484, 0xfc9cf260, F=0x0
+0, 77, 77, 1, 7193, 0x170a0fa1, F=0x0
+0, 78, 78, 1, 9444, 0x6f9be36f, F=0x0
+0, 79, 79, 1, 12598, 0x69b7609d, F=0x0
+0, 80, 80, 1, 7650, 0x1abaec9e, F=0x0
+0, 81, 81, 1, 15162, 0x2a87f723, F=0x0
+0, 82, 82, 1, 7752, 0xcca248aa, F=0x0
+0, 83, 83, 1, 9085, 0x1ca7d7e5, F=0x0
+0, 84, 84, 1, 13187, 0xababcc64, F=0x0
+0, 85, 85, 1, 7968, 0x64a28f46, F=0x0
+0, 86, 86, 1, 15474, 0xf34c587c, F=0x0
+0, 87, 87, 1, 8615, 0x61301034, F=0x0
+0, 88, 88, 1, 14129, 0x42c88bea, F=0x0
+0, 89, 89, 1, 7223, 0x675d7500, F=0x0
+0, 90, 90, 1, 3072, 0x4cb6254c, F=0x0
--
1.7.9.5
More information about the ffmpeg-devel
mailing list