From 3a0b72dee0d92470cd8bd986dd419e387c7cf5ec Mon Sep 17 00:00:00 2001 From: Mans Rullgard Date: Tue, 22 Nov 2011 16:53:18 +0000 Subject: [PATCH 01/15] ARM: remove needless .text/.align directives The 'function' macro already includes the appropriate directives. Signed-off-by: Mans Rullgard --- libavcodec/arm/dsputil_armv6.S | 2 -- libavcodec/arm/dsputil_neon.S | 1 - libavcodec/arm/fft_neon.S | 1 - libavcodec/arm/fmtconvert_neon.S | 1 - libavcodec/arm/h264dsp_neon.S | 3 --- libavcodec/arm/h264idct_neon.S | 1 - libavcodec/arm/int_neon.S | 1 - libavcodec/arm/mdct_neon.S | 2 -- libavcodec/arm/simple_idct_arm.S | 2 -- 9 files changed, 14 deletions(-) diff --git a/libavcodec/arm/dsputil_armv6.S b/libavcodec/arm/dsputil_armv6.S index b8461059d9..becf85182d 100644 --- a/libavcodec/arm/dsputil_armv6.S +++ b/libavcodec/arm/dsputil_armv6.S @@ -22,8 +22,6 @@ preserve8 - .text - .macro call_2x_pixels type, subp function ff_\type\()_pixels16\subp\()_armv6, export=1 push {r0-r3, lr} diff --git a/libavcodec/arm/dsputil_neon.S b/libavcodec/arm/dsputil_neon.S index 13f0699eb2..33969134d7 100644 --- a/libavcodec/arm/dsputil_neon.S +++ b/libavcodec/arm/dsputil_neon.S @@ -23,7 +23,6 @@ #include "asm.S" preserve8 - .text function ff_clear_block_neon, export=1 vmov.i16 q0, #0 diff --git a/libavcodec/arm/fft_neon.S b/libavcodec/arm/fft_neon.S index b79a2dc265..a45898592e 100644 --- a/libavcodec/arm/fft_neon.S +++ b/libavcodec/arm/fft_neon.S @@ -28,7 +28,6 @@ #define M_SQRT1_2 0.70710678118654752440 - .text function fft4_neon vld1.32 {d0-d3}, [r0,:128] diff --git a/libavcodec/arm/fmtconvert_neon.S b/libavcodec/arm/fmtconvert_neon.S index 45cc84b7ec..ad1c15d0fa 100644 --- a/libavcodec/arm/fmtconvert_neon.S +++ b/libavcodec/arm/fmtconvert_neon.S @@ -23,7 +23,6 @@ #include "asm.S" preserve8 - .text function ff_float_to_int16_neon, export=1 subs r2, r2, #8 diff --git a/libavcodec/arm/h264dsp_neon.S b/libavcodec/arm/h264dsp_neon.S index 3d2c6746ae..5156538ed2 100644 --- a/libavcodec/arm/h264dsp_neon.S +++ b/libavcodec/arm/h264dsp_neon.S @@ -392,9 +392,6 @@ function ff_\type\()_h264_chroma_mc2_neon, export=1 endfunc .endm - .text - .align - h264_chroma_mc8 put h264_chroma_mc8 avg h264_chroma_mc4 put diff --git a/libavcodec/arm/h264idct_neon.S b/libavcodec/arm/h264idct_neon.S index 6c62e0f7cb..edb2ae5270 100644 --- a/libavcodec/arm/h264idct_neon.S +++ b/libavcodec/arm/h264idct_neon.S @@ -21,7 +21,6 @@ #include "asm.S" preserve8 - .text function ff_h264_idct_add_neon, export=1 vld1.64 {d0-d3}, [r1,:128] diff --git a/libavcodec/arm/int_neon.S b/libavcodec/arm/int_neon.S index 5a149912f4..8bb58afb18 100644 --- a/libavcodec/arm/int_neon.S +++ b/libavcodec/arm/int_neon.S @@ -23,7 +23,6 @@ preserve8 .fpu neon - .text function ff_scalarproduct_int16_neon, export=1 vmov.i16 q0, #0 diff --git a/libavcodec/arm/mdct_neon.S b/libavcodec/arm/mdct_neon.S index 1ba3067c4e..5669075521 100644 --- a/libavcodec/arm/mdct_neon.S +++ b/libavcodec/arm/mdct_neon.S @@ -23,8 +23,6 @@ preserve8 - .text - #define ff_fft_calc_neon X(ff_fft_calc_neon) function ff_imdct_half_neon, export=1 diff --git a/libavcodec/arm/simple_idct_arm.S b/libavcodec/arm/simple_idct_arm.S index fce40b7d8c..1490f539df 100644 --- a/libavcodec/arm/simple_idct_arm.S +++ b/libavcodec/arm/simple_idct_arm.S @@ -53,8 +53,6 @@ #define COL_SHIFTED_1 524288 /* 1<< (COL_SHIFT-1) */ - .text - function ff_simple_idct_arm, export=1 @@ void simple_idct_arm(int16_t *block) @@ save stack for reg needed (take all of them), From 50efd3cad8b2a77d98b9e6b6637ef70fe70c6681 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 20 Nov 2011 12:45:36 +0100 Subject: [PATCH 02/15] md5enc: add flags AVFMT_NOTIMESTAMPS for md5, as it ignores the timestamps. AVFMT_VARIABLE_FPS for framemd5, as it prints dts. -vsync 0 for the vp8 test is needed because with vsync 2 the timestamp guessing code gets confused by an altref frame that is never displayed and drops a frame later. --- libavformat/md5enc.c | 2 ++ tests/fate/vp8.mak | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/md5enc.c b/libavformat/md5enc.c index dc8919a8c8..4509c18e84 100644 --- a/libavformat/md5enc.c +++ b/libavformat/md5enc.c @@ -75,6 +75,7 @@ AVOutputFormat ff_md5_muxer = { .write_header = write_header, .write_packet = write_packet, .write_trailer = write_trailer, + .flags = AVFMT_NOTIMESTAMPS, }; #endif @@ -102,5 +103,6 @@ AVOutputFormat ff_framemd5_muxer = { .audio_codec = CODEC_ID_PCM_S16LE, .video_codec = CODEC_ID_RAWVIDEO, .write_packet = framemd5_write_packet, + .flags = AVFMT_VARIABLE_FPS, }; #endif diff --git a/tests/fate/vp8.mak b/tests/fate/vp8.mak index 1f442af4ac..be8f50aaf8 100644 --- a/tests/fate/vp8.mak +++ b/tests/fate/vp8.mak @@ -10,7 +10,7 @@ define FATE_VP8_FULL $(foreach N,$(VP8_SUITE),$(eval $(call FATE_VP8_SUITE,$(N),$(1),$(2)))) FATE_VP8 += fate-vp8-sign-bias$(1) -fate-vp8-sign-bias$(1): CMD = framemd5 $(2) -i $(SAMPLES)/vp8/sintel-signbias.ivf +fate-vp8-sign-bias$(1): CMD = framemd5 $(2) -i $(SAMPLES)/vp8/sintel-signbias.ivf -vsync 0 fate-vp8-sign-bias$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-sign-bias endef From a94c769dad502e2b782a09ece0ba490276239252 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 23 Nov 2011 19:45:39 +0100 Subject: [PATCH 03/15] tiffenc: add a private option for selecting compression algorithm --- libavcodec/tiffenc.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c index d486b3fd4b..7b71481a74 100644 --- a/libavcodec/tiffenc.c +++ b/libavcodec/tiffenc.c @@ -25,6 +25,9 @@ * @author Bartlomiej Wolowiec */ +#include "libavutil/log.h" +#include "libavutil/opt.h" + #include "avcodec.h" #if CONFIG_ZLIB #include @@ -43,6 +46,7 @@ static const uint8_t type_sizes2[6] = { }; typedef struct TiffEncoderContext { + AVClass *class; ///< for private options AVCodecContext *avctx; AVFrame picture; @@ -227,7 +231,6 @@ static int encode_frame(AVCodecContext * avctx, unsigned char *buf, p->key_frame = 1; avctx->coded_frame= &s->picture; - s->compr = TIFF_PACKBITS; if (avctx->compression_level == 0) { s->compr = TIFF_RAW; } else if(avctx->compression_level == 2) { @@ -444,6 +447,26 @@ fail: return ret; } +#define OFFSET(x) offsetof(TiffEncoderContext, x) +#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM +static const AVOption options[] = { + { "compression_algo", NULL, OFFSET(compr), AV_OPT_TYPE_INT, {TIFF_PACKBITS}, TIFF_RAW, TIFF_DEFLATE, VE, "compression_algo" }, + { "packbits", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_PACKBITS}, 0, 0, VE, "compression_algo" }, + { "raw", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_RAW}, 0, 0, VE, "compression_algo" }, + { "lzw", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_LZW}, 0, 0, VE, "compression_algo" }, +#if CONFIG_ZLIB + { "deflate", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_DEFLATE}, 0, 0, VE, "compression_algo" }, +#endif + { NULL }, +}; + +static const AVClass tiffenc_class = { + .class_name = "TIFF encoder", + .item_name = av_default_item_name, + .option = options, + .version = LIBAVUTIL_VERSION_INT, +}; + AVCodec ff_tiff_encoder = { .name = "tiff", .type = AVMEDIA_TYPE_VIDEO, @@ -458,4 +481,5 @@ AVCodec ff_tiff_encoder = { PIX_FMT_YUV411P, PIX_FMT_NONE}, .long_name = NULL_IF_CONFIG_SMALL("TIFF image"), + .priv_class = &tiffenc_class, }; From e1edfbcb240cace69d92701e6910c2b03555b7d7 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 20 Nov 2011 12:46:24 +0100 Subject: [PATCH 04/15] avconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats. Prevent avconv from duplicating or dropping frames for formats where it makes even less sense than usual, e.g. image2. --- avconv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/avconv.c b/avconv.c index a03c9c1ba9..ff26bdd0db 100644 --- a/avconv.c +++ b/avconv.c @@ -1160,7 +1160,8 @@ static void do_video_out(AVFormatContext *s, format_video_sync = video_sync_method; if (format_video_sync < 0) - format_video_sync = (s->oformat->flags & AVFMT_VARIABLE_FPS) ? 2 : 1; + format_video_sync = (s->oformat->flags & AVFMT_NOTIMESTAMPS) ? 0 : + (s->oformat->flags & AVFMT_VARIABLE_FPS) ? 2 : 1; if (format_video_sync) { double vdelta = sync_ipts - ost->sync_opts; From 0844b57c11cc3a1d5320c34f81f66d30f6706d2c Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 20 Nov 2011 12:45:36 +0100 Subject: [PATCH 05/15] crcenc: add flags AVFMT_NOTIMESTAMPS for crc, as it ignores the timestamps. AVFMT_VARIABLE_FPS for framecrc, as it prints dts. Many FATE changes, because avconv is no longer duplicating frames in those tests. Also added -vsync 0 for some tests to prevent avconv from dropping frames until it can be fixed more properly. --- libavformat/crcenc.c | 1 + libavformat/framecrcenc.c | 1 + tests/fate.mak | 4 +- tests/ref/fate/cdgraphics | 433 +++++++++-------------- tests/ref/fate/deluxepaint-anm | 136 +++---- tests/ref/fate/film-cvid-pcm-stereo-8bit | 322 ++++++----------- tests/ref/fate/mpeg2-field-enc | 68 ++-- tests/ref/fate/nuv | 19 +- tests/ref/fate/tiertex-seq | 89 +---- tests/ref/fate/tscc-32bit | 125 ++++--- tests/ref/fate/vmnc-32bit | 210 +++-------- tests/ref/fate/wmv8-drm | 288 +++++++-------- 12 files changed, 626 insertions(+), 1070 deletions(-) diff --git a/libavformat/crcenc.c b/libavformat/crcenc.c index ae688e4f07..c67fd09960 100644 --- a/libavformat/crcenc.c +++ b/libavformat/crcenc.c @@ -64,4 +64,5 @@ AVOutputFormat ff_crc_muxer = { .write_header = crc_write_header, .write_packet = crc_write_packet, .write_trailer = crc_write_trailer, + .flags = AVFMT_NOTIMESTAMPS, }; diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c index f87562025c..d845e79c41 100644 --- a/libavformat/framecrcenc.c +++ b/libavformat/framecrcenc.c @@ -40,4 +40,5 @@ AVOutputFormat ff_framecrc_muxer = { .audio_codec = CODEC_ID_PCM_S16LE, .video_codec = CODEC_ID_RAWVIDEO, .write_packet = framecrc_write_packet, + .flags = AVFMT_VARIABLE_FPS, }; diff --git a/tests/fate.mak b/tests/fate.mak index 36d6e28405..753dc5558f 100644 --- a/tests/fate.mak +++ b/tests/fate.mak @@ -197,7 +197,7 @@ fate-nc-demux: CMD = framecrc -i $(SAMPLES)/nc-camera/nc-sample-partial -vcodec FATE_TESTS += fate-nsv-demux fate-nsv-demux: CMD = framecrc -i $(SAMPLES)/nsv/witchblade-51kbps.nsv -t 6 -vcodec copy -acodec copy FATE_TESTS += fate-nuv -fate-nuv: CMD = framecrc -idct simple -i $(SAMPLES)/nuv/Today.nuv +fate-nuv: CMD = framecrc -idct simple -i $(SAMPLES)/nuv/Today.nuv -vsync 0 FATE_TESTS += fate-oma-demux fate-oma-demux: CMD = crc -i $(SAMPLES)/oma/01-Untitled-partial.oma -acodec copy FATE_TESTS += fate-pcm_dvd @@ -267,7 +267,7 @@ fate-quickdraw: CMD = framecrc -i $(SAMPLES)/quickdraw/Airplane.mov -pix_fmt rg FATE_TESTS += fate-real-14_4 fate-real-14_4: CMD = md5 -i $(SAMPLES)/real/ra3_in_rm_file.rm -f s16le FATE_TESTS += fate-real-rv40 -fate-real-rv40: CMD = framecrc -i $(SAMPLES)/real/spygames-2MB.rmvb -t 10 -an +fate-real-rv40: CMD = framecrc -i $(SAMPLES)/real/spygames-2MB.rmvb -t 10 -an -vsync 0 FATE_TESTS += fate-redcode-demux fate-redcode-demux: CMD = framecrc -i $(SAMPLES)/r3d/4MB-sample.r3d -vcodec copy -acodec copy FATE_TESTS += fate-rl2 diff --git a/tests/ref/fate/cdgraphics b/tests/ref/fate/cdgraphics index 0f9e74eec8..17489de78e 100644 --- a/tests/ref/fate/cdgraphics +++ b/tests/ref/fate/cdgraphics @@ -37,263 +37,176 @@ 0, 10800, 194400, 0x7b8cf983 0, 11100, 194400, 0x07a20f7c 0, 11400, 194400, 0xa63e2962 -0, 11700, 194400, 0xa63e2962 -0, 12000, 194400, 0x2dd54447 -0, 12300, 194400, 0x90735e2d -0, 12600, 194400, 0x90735e2d -0, 12900, 194400, 0x90d98506 -0, 13200, 194400, 0xe5b08ffb -0, 13500, 194400, 0xe5b08ffb -0, 13800, 194400, 0x7a0d95f5 -0, 14100, 194400, 0xff6bacde -0, 14400, 194400, 0xff6bacde -0, 14700, 194400, 0xd998c2c8 -0, 15000, 194400, 0x3d1ddfab -0, 15300, 194400, 0x3d1ddfab -0, 15600, 194400, 0x817de4a6 -0, 15900, 194400, 0xfa3ef694 -0, 16200, 194400, 0xfa3ef694 -0, 16500, 194400, 0x0b5bfb8f -0, 16800, 194400, 0x00f62376 -0, 17100, 194400, 0x00f62376 -0, 17400, 194400, 0x2f6b2d6c -0, 17700, 194400, 0x40cb4752 -0, 18000, 194400, 0x40cb4752 -0, 18300, 194400, 0xd8456435 -0, 18600, 194400, 0x459f6a2f -0, 18900, 194400, 0x459f6a2f -0, 19200, 194400, 0x9b678910 -0, 19500, 194400, 0x8791a1f7 -0, 19800, 194400, 0x8791a1f7 -0, 20100, 194400, 0xdb4ac5d3 -0, 20400, 194400, 0xb223c8d0 -0, 20700, 194400, 0xb223c8d0 -0, 21000, 194400, 0x4a9ce7b1 -0, 21300, 194400, 0x187eeaae -0, 21600, 194400, 0x187eeaae -0, 21900, 194400, 0xc712f8a0 -0, 22200, 194400, 0x549c00a7 -0, 22500, 194400, 0x549c00a7 -0, 22800, 194400, 0x4d991295 -0, 23100, 194400, 0xc41b2681 -0, 23400, 194400, 0xc41b2681 -0, 23700, 194400, 0xed5a3077 -0, 24000, 194400, 0x85ad4463 -0, 24300, 194400, 0x85ad4463 -0, 24600, 194400, 0xb98f4760 -0, 24900, 194400, 0x87ef5e49 -0, 25200, 194400, 0x87ef5e49 -0, 25500, 194400, 0x830a6146 -0, 25800, 194400, 0xe33a792e -0, 26100, 194400, 0xe33a792e -0, 26400, 194400, 0x83517a2d -0, 26700, 194400, 0xa97e9314 -0, 27000, 194400, 0xa97e9314 -0, 27300, 194400, 0x39059611 -0, 27600, 194400, 0xbf4eb9ed -0, 27900, 194400, 0xbf4eb9ed -0, 28200, 194400, 0xe5afc4e2 -0, 28500, 194400, 0x35d4cdd9 -0, 28800, 194400, 0x35d4cdd9 -0, 29100, 194400, 0xb376e1c5 -0, 29400, 194400, 0x6128e3c3 -0, 29700, 194400, 0x6128e3c3 -0, 30000, 194400, 0x30b7f7af -0, 30300, 194400, 0xf1effaac -0, 30600, 194400, 0xf1effaac -0, 30900, 194400, 0x483914a1 -0, 31200, 194400, 0xbd48199c -0, 31500, 194400, 0xbd48199c -0, 31800, 194400, 0x382f2d88 -0, 32100, 194400, 0x5a573085 -0, 32400, 194400, 0x5a573085 -0, 32700, 194400, 0x89733580 -0, 33000, 194400, 0xd1325a5b -0, 33300, 194400, 0xd1325a5b -0, 33600, 194400, 0x655b6253 -0, 33900, 194400, 0x55146352 -0, 34200, 194400, 0x55146352 -0, 34500, 194400, 0xda527c39 -0, 34800, 194400, 0xb0cd7e37 -0, 35100, 194400, 0xb0cd7e37 -0, 35400, 194400, 0x25e7991c -0, 35700, 194400, 0x5c22a411 -0, 36000, 194400, 0x5c22a411 -0, 36300, 194400, 0x1e2abdf7 -0, 36600, 194400, 0x8308bff5 -0, 36900, 194400, 0x8308bff5 -0, 37200, 194400, 0xfdbfd6de -0, 37500, 194400, 0xd4d4d9db -0, 37800, 194400, 0xd4d4d9db -0, 38100, 194400, 0xa449fbb9 -0, 38400, 194400, 0x3dcafdb7 -0, 38700, 194400, 0x3dcafdb7 -0, 39000, 194400, 0x6f1f01c2 -0, 39300, 194400, 0xf54a1da6 -0, 39600, 194400, 0xf54a1da6 -0, 39900, 194400, 0x88d11fa4 -0, 40200, 194400, 0x59642d96 -0, 40500, 194400, 0x59642d96 -0, 40800, 194400, 0x8ba44182 -0, 41100, 194400, 0x88f56360 -0, 41400, 194400, 0x88f56360 -0, 41700, 194400, 0xfb246d56 -0, 42000, 194400, 0xad128043 -0, 42300, 194400, 0xad128043 -0, 42600, 194400, 0x3a4f8a39 -0, 42900, 194400, 0x563d9d26 -0, 43200, 194400, 0x563d9d26 -0, 43500, 194400, 0x6ff8a320 -0, 43800, 194400, 0xcdb9b70c -0, 44100, 194400, 0xcdb9b70c -0, 44400, 194400, 0x99c2bd06 -0, 44700, 194400, 0x4b47cef4 -0, 45000, 194400, 0x4b47cef4 -0, 45300, 194400, 0x10b9dce6 -0, 45600, 194400, 0xdd39f1d1 -0, 45900, 194400, 0xdd39f1d1 -0, 46200, 194400, 0xbcf104cd -0, 46500, 194400, 0x85ec17ba -0, 46800, 194400, 0x85ec17ba -0, 47100, 194400, 0x069219b8 -0, 47400, 194400, 0x84dd3899 -0, 47700, 194400, 0x84dd3899 -0, 48000, 194400, 0xacca4190 -0, 48300, 194400, 0xcf5b5d74 -0, 48600, 194400, 0xcf5b5d74 -0, 48900, 194400, 0x4b8c626f -0, 49200, 194400, 0xf0817958 -0, 49500, 194400, 0xf0817958 -0, 49800, 194400, 0xc0887e53 -0, 50100, 194400, 0x42e6854c -0, 50400, 194400, 0x42e6854c -0, 50700, 194400, 0x036c9140 -0, 51000, 194400, 0x0f21a62b -0, 51300, 194400, 0x0f21a62b -0, 51600, 194400, 0xcdaeaa27 -0, 51900, 194400, 0xe425bc15 -0, 52200, 194400, 0xe425bc15 -0, 52500, 194400, 0x8e18c20f -0, 52800, 194400, 0x767cd5fb -0, 53100, 194400, 0x767cd5fb -0, 53400, 194400, 0x554ae6ea -0, 53700, 194400, 0xeac1f9d7 -0, 54000, 194400, 0xeac1f9d7 -0, 54300, 194400, 0x0b32fed2 -0, 54600, 194400, 0xe30c19c6 -0, 54900, 194400, 0xe30c19c6 -0, 55200, 194400, 0x6a8a23bc -0, 55500, 194400, 0x26bf36a9 -0, 55800, 194400, 0x26bf36a9 -0, 56100, 194400, 0x1e4f3fa0 -0, 56400, 194400, 0x231f5986 -0, 56700, 194400, 0x231f5986 -0, 57000, 194400, 0xf557756a -0, 57300, 194400, 0x6bce805f -0, 57600, 194400, 0x6bce805f -0, 57900, 194400, 0xcd80924d -0, 58200, 194400, 0x65dc9f40 -0, 58500, 194400, 0x65dc9f40 -0, 58800, 194400, 0x2ab7af30 -0, 59100, 194400, 0xd43cb728 -0, 59400, 194400, 0xd43cb728 -0, 59700, 194400, 0x05d9c916 -0, 60000, 194400, 0x43cad10e -0, 60300, 194400, 0x43cad10e -0, 60600, 194400, 0x06b5e0fe -0, 60900, 194400, 0xa142f0ee -0, 61200, 194400, 0xa142f0ee -0, 61500, 194400, 0xed7f03ea -0, 61800, 194400, 0xf26019d4 -0, 62100, 194400, 0xf26019d4 -0, 62400, 194400, 0x3b7f29c4 -0, 62700, 194400, 0x30282ebf -0, 63000, 194400, 0x30282ebf -0, 63300, 194400, 0xaeff4aa3 -0, 63600, 194400, 0x1d355697 -0, 63900, 194400, 0x1d355697 -0, 64200, 194400, 0x2ead6f7e -0, 64500, 194400, 0xf1b67776 -0, 64800, 194400, 0xf1b67776 -0, 65100, 194400, 0x93b38b62 -0, 65400, 194400, 0x9469905d -0, 65700, 194400, 0x9469905d -0, 66000, 194400, 0x27bf9756 -0, 66300, 194400, 0xd016a548 -0, 66600, 194400, 0xd016a548 -0, 66900, 194400, 0x6889b835 -0, 67200, 194400, 0x6a05be2f -0, 67500, 194400, 0x6a05be2f -0, 67800, 194400, 0xe0a1ce1f -0, 68100, 194400, 0x8fdbd617 -0, 68400, 194400, 0x8fdbd617 -0, 68700, 194400, 0xd68fe805 -0, 69000, 194400, 0x0d1dfbf1 -0, 69300, 194400, 0x0d1dfbf1 -0, 69600, 194400, 0x0fe70bf0 -0, 69900, 194400, 0x0a8f13e8 -0, 70200, 194400, 0x0a8f13e8 -0, 70500, 194400, 0x0ca42bd0 -0, 70800, 194400, 0x6f3838c3 -0, 71100, 194400, 0x6f3838c3 -0, 71400, 194400, 0x045448b3 -0, 71700, 194400, 0x764349b2 -0, 72000, 194400, 0x764349b2 -0, 72300, 194400, 0xed1651aa -0, 72600, 194400, 0xbb376398 -0, 72900, 194400, 0xbb376398 -0, 73200, 194400, 0xd0d5718a -0, 73500, 194400, 0xcd977e7d -0, 73800, 194400, 0xcd977e7d -0, 74100, 194400, 0x8cb39665 -0, 74400, 194400, 0xb935b04b -0, 74700, 194400, 0xb935b04b -0, 75000, 194400, 0x0292be3d -0, 75300, 194400, 0x4f21c833 -0, 75600, 194400, 0x4f21c833 -0, 75900, 194400, 0xa5c7d823 -0, 76200, 194400, 0xfb8ee01b -0, 76500, 194400, 0xfb8ee01b -0, 76800, 194400, 0xea53ee0d -0, 77100, 194400, 0x803efcfe -0, 77400, 194400, 0x803efcfe -0, 77700, 194400, 0x2c0e0aff -0, 78000, 194400, 0x3df318f1 -0, 78300, 194400, 0x3df318f1 -0, 78600, 194400, 0xc4cb26e3 -0, 78900, 194400, 0x92a033d6 -0, 79200, 194400, 0x92a033d6 -0, 79500, 194400, 0x1b2048c1 -0, 79800, 194400, 0x236858b1 -0, 80100, 194400, 0x236858b1 -0, 80400, 194400, 0x482f6d9c -0, 80700, 194400, 0x9ee97891 -0, 81000, 194400, 0x9ee97891 -0, 81300, 194400, 0xe0dc8683 -0, 81600, 194400, 0x461b9079 -0, 81900, 194400, 0x461b9079 -0, 82200, 194400, 0xd346a960 -0, 82500, 194400, 0xa384b554 -0, 82800, 194400, 0xa384b554 -0, 83100, 194400, 0x3246cf3a -0, 83400, 194400, 0xa53fe722 -0, 83700, 194400, 0xa53fe722 -0, 84000, 194400, 0xe620fd0c -0, 84300, 194400, 0xd6370414 -0, 84600, 194400, 0xd6370414 -0, 84900, 194400, 0xf57f1404 -0, 85200, 194400, 0x8c6420f7 -0, 85500, 194400, 0x8c6420f7 -0, 85800, 194400, 0xd4be3add -0, 86100, 194400, 0xa8dc4ec9 -0, 86400, 194400, 0xa8dc4ec9 -0, 86700, 194400, 0xda1563b4 -0, 87000, 194400, 0xd51873a4 -0, 87300, 194400, 0xd51873a4 -0, 87600, 194400, 0x68588196 -0, 87900, 194400, 0x40d18e89 -0, 88200, 194400, 0x40d18e89 -0, 88500, 194400, 0x1b75a275 -0, 88800, 194400, 0xedd1a572 -0, 89100, 194400, 0xedd1a572 -0, 89400, 194400, 0x55daad6a +0, 11700, 194400, 0x2dd54447 +0, 12000, 194400, 0x90735e2d +0, 12300, 194400, 0x90d98506 +0, 12600, 194400, 0xe5b08ffb +0, 12900, 194400, 0x7a0d95f5 +0, 13200, 194400, 0xff6bacde +0, 13500, 194400, 0xd998c2c8 +0, 13800, 194400, 0x3d1ddfab +0, 14100, 194400, 0x817de4a6 +0, 14400, 194400, 0xfa3ef694 +0, 14700, 194400, 0x0b5bfb8f +0, 15000, 194400, 0x00f62376 +0, 15300, 194400, 0x2f6b2d6c +0, 15600, 194400, 0x40cb4752 +0, 15900, 194400, 0xd8456435 +0, 16200, 194400, 0x459f6a2f +0, 16500, 194400, 0x9b678910 +0, 16800, 194400, 0x8791a1f7 +0, 17100, 194400, 0xdb4ac5d3 +0, 17400, 194400, 0xb223c8d0 +0, 17700, 194400, 0x4a9ce7b1 +0, 18000, 194400, 0x187eeaae +0, 18300, 194400, 0xc712f8a0 +0, 18600, 194400, 0x549c00a7 +0, 18900, 194400, 0x4d991295 +0, 19200, 194400, 0xc41b2681 +0, 19500, 194400, 0xed5a3077 +0, 19800, 194400, 0x85ad4463 +0, 20100, 194400, 0xb98f4760 +0, 20400, 194400, 0x87ef5e49 +0, 20700, 194400, 0x830a6146 +0, 21000, 194400, 0xe33a792e +0, 21300, 194400, 0x83517a2d +0, 21600, 194400, 0xa97e9314 +0, 21900, 194400, 0x39059611 +0, 22200, 194400, 0xbf4eb9ed +0, 22500, 194400, 0xe5afc4e2 +0, 22800, 194400, 0x35d4cdd9 +0, 23100, 194400, 0xb376e1c5 +0, 23400, 194400, 0x6128e3c3 +0, 23700, 194400, 0x30b7f7af +0, 24000, 194400, 0xf1effaac +0, 24300, 194400, 0x483914a1 +0, 24600, 194400, 0xbd48199c +0, 24900, 194400, 0x382f2d88 +0, 25200, 194400, 0x5a573085 +0, 25500, 194400, 0x89733580 +0, 25800, 194400, 0xd1325a5b +0, 26100, 194400, 0x655b6253 +0, 26400, 194400, 0x55146352 +0, 26700, 194400, 0xda527c39 +0, 27000, 194400, 0xb0cd7e37 +0, 27300, 194400, 0x25e7991c +0, 27600, 194400, 0x5c22a411 +0, 27900, 194400, 0x1e2abdf7 +0, 28200, 194400, 0x8308bff5 +0, 28500, 194400, 0xfdbfd6de +0, 28800, 194400, 0xd4d4d9db +0, 29100, 194400, 0xa449fbb9 +0, 29400, 194400, 0x3dcafdb7 +0, 29700, 194400, 0x6f1f01c2 +0, 30000, 194400, 0xf54a1da6 +0, 30300, 194400, 0x88d11fa4 +0, 30600, 194400, 0x59642d96 +0, 30900, 194400, 0x8ba44182 +0, 31200, 194400, 0x88f56360 +0, 31500, 194400, 0xfb246d56 +0, 31800, 194400, 0xad128043 +0, 32100, 194400, 0x3a4f8a39 +0, 32400, 194400, 0x563d9d26 +0, 32700, 194400, 0x6ff8a320 +0, 33000, 194400, 0xcdb9b70c +0, 33300, 194400, 0x99c2bd06 +0, 33600, 194400, 0x4b47cef4 +0, 33900, 194400, 0x10b9dce6 +0, 34200, 194400, 0xdd39f1d1 +0, 34500, 194400, 0xbcf104cd +0, 34800, 194400, 0x85ec17ba +0, 35100, 194400, 0x069219b8 +0, 35400, 194400, 0x84dd3899 +0, 35700, 194400, 0xacca4190 +0, 36000, 194400, 0xcf5b5d74 +0, 36300, 194400, 0x4b8c626f +0, 36600, 194400, 0xf0817958 +0, 36900, 194400, 0xc0887e53 +0, 37200, 194400, 0x42e6854c +0, 37500, 194400, 0x036c9140 +0, 37800, 194400, 0x0f21a62b +0, 38100, 194400, 0xcdaeaa27 +0, 38400, 194400, 0xe425bc15 +0, 38700, 194400, 0x8e18c20f +0, 39000, 194400, 0x767cd5fb +0, 39300, 194400, 0x554ae6ea +0, 39600, 194400, 0xeac1f9d7 +0, 39900, 194400, 0x0b32fed2 +0, 40200, 194400, 0xe30c19c6 +0, 40500, 194400, 0x6a8a23bc +0, 40800, 194400, 0x26bf36a9 +0, 41100, 194400, 0x1e4f3fa0 +0, 41400, 194400, 0x231f5986 +0, 41700, 194400, 0xf557756a +0, 42000, 194400, 0x6bce805f +0, 42300, 194400, 0xcd80924d +0, 42600, 194400, 0x65dc9f40 +0, 42900, 194400, 0x2ab7af30 +0, 43200, 194400, 0xd43cb728 +0, 43500, 194400, 0x05d9c916 +0, 43800, 194400, 0x43cad10e +0, 44100, 194400, 0x06b5e0fe +0, 44400, 194400, 0xa142f0ee +0, 44700, 194400, 0xed7f03ea +0, 45000, 194400, 0xf26019d4 +0, 45300, 194400, 0x3b7f29c4 +0, 45600, 194400, 0x30282ebf +0, 45900, 194400, 0xaeff4aa3 +0, 46200, 194400, 0x1d355697 +0, 46500, 194400, 0x2ead6f7e +0, 46800, 194400, 0xf1b67776 +0, 47100, 194400, 0x93b38b62 +0, 47400, 194400, 0x9469905d +0, 47700, 194400, 0x27bf9756 +0, 48000, 194400, 0xd016a548 +0, 48300, 194400, 0x6889b835 +0, 48600, 194400, 0x6a05be2f +0, 48900, 194400, 0xe0a1ce1f +0, 49200, 194400, 0x8fdbd617 +0, 49500, 194400, 0xd68fe805 +0, 49800, 194400, 0x0d1dfbf1 +0, 50100, 194400, 0x0fe70bf0 +0, 50400, 194400, 0x0a8f13e8 +0, 50700, 194400, 0x0ca42bd0 +0, 51000, 194400, 0x6f3838c3 +0, 51300, 194400, 0x045448b3 +0, 51600, 194400, 0x764349b2 +0, 51900, 194400, 0xed1651aa +0, 52200, 194400, 0xbb376398 +0, 52500, 194400, 0xd0d5718a +0, 52800, 194400, 0xcd977e7d +0, 53100, 194400, 0x8cb39665 +0, 53400, 194400, 0xb935b04b +0, 53700, 194400, 0x0292be3d +0, 54000, 194400, 0x4f21c833 +0, 54300, 194400, 0xa5c7d823 +0, 54600, 194400, 0xfb8ee01b +0, 54900, 194400, 0xea53ee0d +0, 55200, 194400, 0x803efcfe +0, 55500, 194400, 0x2c0e0aff +0, 55800, 194400, 0x3df318f1 +0, 56100, 194400, 0xc4cb26e3 +0, 56400, 194400, 0x92a033d6 +0, 56700, 194400, 0x1b2048c1 +0, 57000, 194400, 0x236858b1 +0, 57300, 194400, 0x482f6d9c +0, 57600, 194400, 0x9ee97891 +0, 57900, 194400, 0xe0dc8683 +0, 58200, 194400, 0x461b9079 +0, 58500, 194400, 0xd346a960 +0, 58800, 194400, 0xa384b554 +0, 59100, 194400, 0x3246cf3a +0, 59400, 194400, 0xa53fe722 +0, 59700, 194400, 0xe620fd0c +0, 60000, 194400, 0xd6370414 +0, 60300, 194400, 0xf57f1404 +0, 60600, 194400, 0x8c6420f7 +0, 60900, 194400, 0xd4be3add +0, 61200, 194400, 0xa8dc4ec9 +0, 61500, 194400, 0xda1563b4 +0, 61800, 194400, 0xd51873a4 +0, 62100, 194400, 0x68588196 +0, 62400, 194400, 0x40d18e89 +0, 62700, 194400, 0x1b75a275 +0, 63000, 194400, 0xedd1a572 +0, 63300, 194400, 0x55daad6a diff --git a/tests/ref/fate/deluxepaint-anm b/tests/ref/fate/deluxepaint-anm index 2a60606611..98da9287a6 100644 --- a/tests/ref/fate/deluxepaint-anm +++ b/tests/ref/fate/deluxepaint-anm @@ -69,87 +69,55 @@ 0, 204000, 192000, 0xdd7f371d 0, 207000, 192000, 0xeed134c6 0, 210000, 192000, 0x362931f5 -0, 213000, 192000, 0x362931f5 -0, 216000, 192000, 0x362931f5 -0, 219000, 192000, 0x362931f5 -0, 222000, 192000, 0x362931f5 -0, 225000, 192000, 0x362931f5 -0, 228000, 192000, 0x362931f5 -0, 231000, 192000, 0x362931f5 -0, 234000, 192000, 0x362931f5 -0, 237000, 192000, 0x362931f5 -0, 240000, 192000, 0x362931f5 -0, 243000, 192000, 0x362931f5 -0, 246000, 192000, 0x362931f5 -0, 249000, 192000, 0x362931f5 -0, 252000, 192000, 0x362931f5 -0, 255000, 192000, 0x362931f5 -0, 258000, 192000, 0x362931f5 -0, 261000, 192000, 0x362931f5 -0, 264000, 192000, 0x362931f5 -0, 267000, 192000, 0x362931f5 -0, 270000, 192000, 0x362931f5 -0, 273000, 192000, 0x362931f5 -0, 276000, 192000, 0x362931f5 -0, 279000, 192000, 0x362931f5 -0, 282000, 192000, 0x362931f5 -0, 285000, 192000, 0x362931f5 -0, 288000, 192000, 0x362931f5 -0, 291000, 192000, 0x362931f5 -0, 294000, 192000, 0x362931f5 -0, 297000, 192000, 0x362931f5 -0, 300000, 192000, 0x362931f5 -0, 303000, 192000, 0x362931f5 -0, 306000, 192000, 0x362931f5 -0, 309000, 192000, 0xfb41331d -0, 312000, 192000, 0x087433f8 -0, 315000, 192000, 0xf36b34a6 -0, 318000, 192000, 0x652a33cd -0, 321000, 192000, 0x652a33cd -0, 324000, 192000, 0xe50c336a -0, 327000, 192000, 0x652a33cd -0, 330000, 192000, 0xeed134c6 -0, 333000, 192000, 0x652a33cd -0, 336000, 192000, 0x5d7633e5 -0, 339000, 192000, 0x845233b5 -0, 342000, 192000, 0x9d1c349b -0, 345000, 192000, 0x25843317 -0, 348000, 192000, 0xc84b375c -0, 351000, 192000, 0xaf2b3410 -0, 354000, 192000, 0xaf2b3410 -0, 357000, 192000, 0x26d23594 -0, 360000, 192000, 0xaf2b3410 -0, 363000, 192000, 0x26d23594 -0, 366000, 192000, 0xaf2b3410 -0, 369000, 192000, 0x72c4dfb9 -0, 372000, 192000, 0x3c72e390 -0, 375000, 192000, 0xb4466634 -0, 378000, 192000, 0x84f064f5 -0, 381000, 192000, 0xad43f3f5 -0, 384000, 192000, 0xa8644d57 -0, 387000, 192000, 0xfac35238 -0, 390000, 192000, 0xe9374d1e -0, 393000, 192000, 0x0bd14cfa -0, 396000, 192000, 0x7e51a437 -0, 399000, 192000, 0x92678dfa -0, 402000, 192000, 0x43338d41 -0, 405000, 192000, 0x00000000 -0, 408000, 192000, 0x00000000 -0, 411000, 192000, 0x00000000 -0, 414000, 192000, 0x00000000 -0, 417000, 192000, 0x00000000 -0, 420000, 192000, 0x00000000 -0, 423000, 192000, 0x00000000 -0, 426000, 192000, 0x00000000 -0, 429000, 192000, 0x00000000 -0, 432000, 192000, 0x00000000 -0, 435000, 192000, 0x00000000 -0, 438000, 192000, 0x00000000 -0, 441000, 192000, 0x00000000 -0, 444000, 192000, 0x00000000 -0, 447000, 192000, 0x00000000 -0, 450000, 192000, 0x00000000 -0, 453000, 192000, 0x00000000 -0, 456000, 192000, 0x00000000 -0, 459000, 192000, 0x00000000 -0, 462000, 192000, 0x82a79641 +0, 213000, 192000, 0xfb41331d +0, 216000, 192000, 0x087433f8 +0, 219000, 192000, 0xf36b34a6 +0, 222000, 192000, 0x652a33cd +0, 225000, 192000, 0x652a33cd +0, 228000, 192000, 0xe50c336a +0, 231000, 192000, 0x652a33cd +0, 234000, 192000, 0xeed134c6 +0, 237000, 192000, 0x652a33cd +0, 240000, 192000, 0x5d7633e5 +0, 243000, 192000, 0x845233b5 +0, 246000, 192000, 0x9d1c349b +0, 249000, 192000, 0x25843317 +0, 252000, 192000, 0xc84b375c +0, 255000, 192000, 0xaf2b3410 +0, 258000, 192000, 0xaf2b3410 +0, 261000, 192000, 0x26d23594 +0, 264000, 192000, 0xaf2b3410 +0, 267000, 192000, 0x26d23594 +0, 270000, 192000, 0xaf2b3410 +0, 273000, 192000, 0x72c4dfb9 +0, 276000, 192000, 0x3c72e390 +0, 279000, 192000, 0xb4466634 +0, 282000, 192000, 0x84f064f5 +0, 285000, 192000, 0xad43f3f5 +0, 288000, 192000, 0xa8644d57 +0, 291000, 192000, 0xfac35238 +0, 294000, 192000, 0xe9374d1e +0, 297000, 192000, 0x0bd14cfa +0, 300000, 192000, 0x7e51a437 +0, 303000, 192000, 0x92678dfa +0, 306000, 192000, 0x43338d41 +0, 309000, 192000, 0x00000000 +0, 312000, 192000, 0x00000000 +0, 315000, 192000, 0x00000000 +0, 318000, 192000, 0x00000000 +0, 321000, 192000, 0x00000000 +0, 324000, 192000, 0x00000000 +0, 327000, 192000, 0x00000000 +0, 330000, 192000, 0x00000000 +0, 333000, 192000, 0x00000000 +0, 336000, 192000, 0x00000000 +0, 339000, 192000, 0x00000000 +0, 342000, 192000, 0x00000000 +0, 345000, 192000, 0x00000000 +0, 348000, 192000, 0x00000000 +0, 351000, 192000, 0x00000000 +0, 354000, 192000, 0x00000000 +0, 357000, 192000, 0x00000000 +0, 360000, 192000, 0x00000000 +0, 363000, 192000, 0x00000000 +0, 366000, 192000, 0x82a79641 diff --git a/tests/ref/fate/film-cvid-pcm-stereo-8bit b/tests/ref/fate/film-cvid-pcm-stereo-8bit index 3566b0f85a..4f3fcf4689 100644 --- a/tests/ref/fate/film-cvid-pcm-stereo-8bit +++ b/tests/ref/fate/film-cvid-pcm-stereo-8bit @@ -2,246 +2,138 @@ 1, 0, 88192, 0x23bb50ae 0, 3000, 107520, 0x61eb28c1 0, 6000, 107520, 0x45e20af7 -0, 9000, 107520, 0x45e20af7 -0, 12000, 107520, 0x366970fc -0, 15000, 107520, 0x366970fc -0, 18000, 107520, 0xa392bcb3 -0, 21000, 107520, 0xa392bcb3 -0, 24000, 107520, 0xcf7bac98 -0, 27000, 107520, 0xcf7bac98 -0, 30000, 107520, 0x222eba53 -0, 33000, 107520, 0x222eba53 -0, 36000, 107520, 0x74e255a1 -0, 39000, 107520, 0x74e255a1 -0, 42000, 107520, 0xc19eec6f +0, 9000, 107520, 0x366970fc +0, 12000, 107520, 0xa392bcb3 +0, 15000, 107520, 0xcf7bac98 +0, 18000, 107520, 0x222eba53 +0, 21000, 107520, 0x74e255a1 +0, 24000, 107520, 0xc19eec6f +0, 27000, 107520, 0xa3880681 +0, 30000, 107520, 0x957878db +0, 33000, 107520, 0x18340692 +0, 36000, 107520, 0x9970f24d +0, 39000, 107520, 0xf08618aa +0, 42000, 107520, 0xee7324f0 1, 44996, 44112, 0x79600f01 -0, 45000, 107520, 0xc19eec6f -0, 48000, 107520, 0xa3880681 -0, 51000, 107520, 0xa3880681 -0, 54000, 107520, 0x957878db -0, 57000, 107520, 0x957878db -0, 60000, 107520, 0x18340692 -0, 63000, 107520, 0x18340692 -0, 66000, 107520, 0x9970f24d +0, 45000, 107520, 0xe15025b3 +0, 48000, 107520, 0x8afa312e +0, 51000, 107520, 0x717a7d0f +0, 54000, 107520, 0x355c6e23 +0, 57000, 107520, 0x7015a50f +0, 60000, 107520, 0xcdfc1a16 +0, 63000, 107520, 0x38d929e7 +0, 66000, 107520, 0x52913423 1, 67502, 44096, 0x09dbf7aa -0, 69000, 107520, 0x9970f24d -0, 72000, 107520, 0xf08618aa -0, 75000, 107520, 0xf08618aa -0, 78000, 107520, 0xee7324f0 -0, 81000, 107520, 0xee7324f0 -0, 84000, 107520, 0xe15025b3 -0, 87000, 107520, 0xe15025b3 -0, 90000, 107520, 0x8afa312e +0, 69000, 107520, 0xe2c91c10 +0, 72000, 107520, 0x85516e9c +0, 75000, 107520, 0xd1626030 +0, 78000, 107520, 0xea7b16de +0, 81000, 107520, 0xa33eaa0d +0, 84000, 107520, 0x8e3be6a6 +0, 87000, 107520, 0x14147bd6 +0, 90000, 107520, 0x07d54bec 1, 90000, 44112, 0x18fed048 -0, 93000, 107520, 0x8afa312e -0, 96000, 107520, 0x717a7d0f -0, 99000, 107520, 0x717a7d0f -0, 102000, 107520, 0x355c6e23 -0, 105000, 107520, 0x355c6e23 -0, 108000, 107520, 0x7015a50f -0, 111000, 107520, 0x7015a50f +0, 93000, 107520, 0xe287a0a7 +0, 96000, 107520, 0xc023a14d +0, 99000, 107520, 0x2437085d +0, 102000, 107520, 0x63823918 +0, 105000, 107520, 0xbc17e198 +0, 108000, 107520, 0x9d99bc81 +0, 111000, 107520, 0x7e4ec71e 1, 112506, 44112, 0x030d35ef -0, 114000, 107520, 0xcdfc1a16 -0, 117000, 107520, 0xcdfc1a16 -0, 120000, 107520, 0x38d929e7 -0, 123000, 107520, 0x38d929e7 -0, 126000, 107520, 0x52913423 -0, 129000, 107520, 0x52913423 -0, 132000, 107520, 0xe2c91c10 -0, 135000, 107520, 0xe2c91c10 +0, 114000, 107520, 0x55b98376 +0, 117000, 107520, 0x356d8e9e +0, 120000, 107520, 0xf77e8a61 +0, 123000, 107520, 0x5ae7c8c7 +0, 126000, 107520, 0x8acf9322 +0, 129000, 107520, 0x40a9177e +0, 132000, 107520, 0x3e0e4d8d +0, 135000, 107520, 0xd268865b 1, 135012, 44112, 0xc23154d5 -0, 138000, 107520, 0x85516e9c -0, 141000, 107520, 0x85516e9c -0, 144000, 107520, 0xd1626030 -0, 147000, 107520, 0xd1626030 -0, 150000, 107520, 0xea7b16de -0, 153000, 107520, 0xea7b16de -0, 156000, 107520, 0xa33eaa0d +0, 138000, 107520, 0x89a4efeb +0, 141000, 107520, 0x70ca2478 +0, 144000, 107520, 0xcc9ec981 +0, 147000, 107520, 0xf0648459 +0, 150000, 107520, 0x7e4a4cca +0, 153000, 107520, 0xb315dc65 +0, 156000, 107520, 0x2aecc7b4 1, 157518, 44064, 0xe4713ee7 -0, 159000, 107520, 0xa33eaa0d -0, 162000, 107520, 0x8e3be6a6 -0, 165000, 107520, 0x8e3be6a6 -0, 168000, 107520, 0x14147bd6 -0, 171000, 107520, 0x14147bd6 -0, 174000, 107520, 0x07d54bec -0, 177000, 107520, 0x07d54bec -0, 180000, 107520, 0xe287a0a7 +0, 159000, 107520, 0x81742f51 +0, 162000, 107520, 0x3a1d7571 +0, 165000, 107520, 0x3a1d7571 +0, 168000, 107520, 0x3a1d7571 +0, 171000, 107520, 0x3a1d7571 +0, 174000, 107520, 0x3a1d7571 +0, 177000, 107520, 0x3a1d7571 +0, 180000, 107520, 0x3a1d7571 1, 180000, 44112, 0xddc19d91 -0, 183000, 107520, 0xe287a0a7 -0, 186000, 107520, 0xc023a14d -0, 189000, 107520, 0xc023a14d -0, 192000, 107520, 0x2437085d -0, 195000, 107520, 0x2437085d -0, 198000, 107520, 0x63823918 -0, 201000, 107520, 0x63823918 +0, 183000, 107520, 0xe974733e +0, 186000, 107520, 0x999c6fbf +0, 189000, 107520, 0x26b56b6e +0, 192000, 107520, 0xc9f9647b +0, 195000, 107520, 0x6d025d00 +0, 198000, 107520, 0xf9c056c1 +0, 201000, 107520, 0xa5cc4d0b 1, 202506, 44112, 0x9591522d -0, 204000, 107520, 0xbc17e198 -0, 207000, 107520, 0xbc17e198 -0, 210000, 107520, 0x9d99bc81 -0, 213000, 107520, 0x9d99bc81 -0, 216000, 107520, 0x7e4ec71e -0, 219000, 107520, 0x7e4ec71e -0, 222000, 107520, 0x55b98376 -0, 225000, 107520, 0x55b98376 +0, 204000, 107520, 0x1a4c4236 +0, 207000, 107520, 0xa9d538b6 +0, 210000, 107520, 0x14682d00 +0, 213000, 107520, 0x6236204f +0, 216000, 107520, 0x303e14aa +0, 219000, 107520, 0x943b0837 +0, 222000, 107520, 0xfce5fd07 +0, 225000, 107520, 0xd993f193 1, 225012, 44112, 0x90deb013 -0, 228000, 107520, 0x356d8e9e -0, 231000, 107520, 0x356d8e9e -0, 234000, 107520, 0xf77e8a61 -0, 237000, 107520, 0xf77e8a61 -0, 240000, 107520, 0x5ae7c8c7 -0, 243000, 107520, 0x5ae7c8c7 -0, 246000, 107520, 0x8acf9322 +0, 228000, 107520, 0x4d48e7b4 +0, 231000, 107520, 0x61ccdf83 +0, 234000, 107520, 0xfb4fd608 +0, 237000, 107520, 0x5efdcdb3 +0, 240000, 107520, 0xb03ec886 +0, 243000, 107520, 0xf464c343 +0, 246000, 107520, 0xf464c343 1, 247518, 44064, 0x3842d420 -0, 249000, 107520, 0x8acf9322 -0, 252000, 107520, 0x40a9177e -0, 255000, 107520, 0x40a9177e -0, 258000, 107520, 0x3e0e4d8d -0, 261000, 107520, 0x3e0e4d8d -0, 264000, 107520, 0xd268865b -0, 267000, 107520, 0xd268865b -0, 270000, 107520, 0x89a4efeb +0, 249000, 107520, 0xf464c343 +0, 252000, 107520, 0xf464c343 +0, 255000, 107520, 0xf464c343 +0, 258000, 107520, 0xf464c343 +0, 261000, 107520, 0xf464c343 +0, 264000, 107520, 0xf464c343 +0, 267000, 107520, 0xf464c343 +0, 270000, 107520, 0xf464c343 1, 270000, 44112, 0x99c8c3d9 -0, 273000, 107520, 0x89a4efeb -0, 276000, 107520, 0x70ca2478 -0, 279000, 107520, 0x70ca2478 -0, 282000, 107520, 0xcc9ec981 -0, 285000, 107520, 0xcc9ec981 -0, 288000, 107520, 0xf0648459 -0, 291000, 107520, 0xf0648459 +0, 273000, 107520, 0xf464c343 +0, 276000, 107520, 0xf2b2c712 +0, 279000, 107520, 0xf2b2c712 +0, 282000, 107520, 0xf2b2c712 +0, 285000, 107520, 0xf2b2c712 +0, 288000, 107520, 0xb95e6bc8 +0, 291000, 107520, 0x33feee37 1, 292506, 44112, 0xffaf3824 -0, 294000, 107520, 0x7e4a4cca -0, 297000, 107520, 0x7e4a4cca -0, 300000, 107520, 0xb315dc65 -0, 303000, 107520, 0xb315dc65 -0, 306000, 107520, 0x2aecc7b4 -0, 309000, 107520, 0x2aecc7b4 -0, 312000, 107520, 0x81742f51 -0, 315000, 107520, 0x81742f51 +0, 294000, 107520, 0x36ee3cd5 +0, 297000, 107520, 0x59096471 +0, 300000, 107520, 0x53b470c6 +0, 303000, 107520, 0xdb7c64ff +0, 306000, 107520, 0xe5a1596a +0, 309000, 107520, 0x8c8942eb +0, 312000, 107520, 0x5ecc379e +0, 315000, 107520, 0xea09432a 1, 315012, 44112, 0x3dbe1aef -0, 318000, 107520, 0x3a1d7571 -0, 321000, 107520, 0x3a1d7571 -0, 324000, 107520, 0x3a1d7571 -0, 327000, 107520, 0x3a1d7571 -0, 330000, 107520, 0x3a1d7571 -0, 333000, 107520, 0x3a1d7571 -0, 336000, 107520, 0x3a1d7571 +0, 318000, 107520, 0xe01e6b73 +0, 321000, 107520, 0x1d13bba8 +0, 324000, 107520, 0x3a993a6c +0, 327000, 107520, 0x2ede041a 1, 337518, 44064, 0xed2c7dfb -0, 339000, 107520, 0x3a1d7571 -0, 342000, 107520, 0x3a1d7571 -0, 345000, 107520, 0x3a1d7571 -0, 348000, 107520, 0x3a1d7571 -0, 351000, 107520, 0x3a1d7571 -0, 354000, 107520, 0x3a1d7571 -0, 357000, 107520, 0x3a1d7571 -0, 360000, 107520, 0xe974733e 1, 360000, 44112, 0x9e475274 -0, 363000, 107520, 0xe974733e -0, 366000, 107520, 0x999c6fbf -0, 369000, 107520, 0x999c6fbf -0, 372000, 107520, 0x26b56b6e -0, 375000, 107520, 0x26b56b6e -0, 378000, 107520, 0xc9f9647b -0, 381000, 107520, 0xc9f9647b 1, 382506, 44112, 0x541f05d4 -0, 384000, 107520, 0x6d025d00 -0, 387000, 107520, 0x6d025d00 -0, 390000, 107520, 0xf9c056c1 -0, 393000, 107520, 0xf9c056c1 -0, 396000, 107520, 0xa5cc4d0b -0, 399000, 107520, 0xa5cc4d0b -0, 402000, 107520, 0x1a4c4236 -0, 405000, 107520, 0x1a4c4236 1, 405012, 44112, 0x09e39025 -0, 408000, 107520, 0xa9d538b6 -0, 411000, 107520, 0xa9d538b6 -0, 414000, 107520, 0x14682d00 -0, 417000, 107520, 0x14682d00 -0, 420000, 107520, 0x6236204f -0, 423000, 107520, 0x6236204f -0, 426000, 107520, 0x303e14aa 1, 427518, 44064, 0xdc111087 -0, 429000, 107520, 0x303e14aa -0, 432000, 107520, 0x943b0837 -0, 435000, 107520, 0x943b0837 -0, 438000, 107520, 0xfce5fd07 -0, 441000, 107520, 0xfce5fd07 -0, 444000, 107520, 0xd993f193 -0, 447000, 107520, 0xd993f193 -0, 450000, 107520, 0x4d48e7b4 1, 450000, 44112, 0xb8f86e48 -0, 453000, 107520, 0x4d48e7b4 -0, 456000, 107520, 0x61ccdf83 -0, 459000, 107520, 0x61ccdf83 -0, 462000, 107520, 0xfb4fd608 -0, 465000, 107520, 0xfb4fd608 -0, 468000, 107520, 0x5efdcdb3 -0, 471000, 107520, 0x5efdcdb3 1, 472506, 44112, 0xa1e0c75c -0, 474000, 107520, 0xb03ec886 -0, 477000, 107520, 0xb03ec886 -0, 480000, 107520, 0xf464c343 -0, 483000, 107520, 0xf464c343 -0, 486000, 107520, 0xf464c343 -0, 489000, 107520, 0xf464c343 -0, 492000, 107520, 0xf464c343 -0, 495000, 107520, 0xf464c343 1, 495012, 44112, 0x0654dcb0 -0, 498000, 107520, 0xf464c343 -0, 501000, 107520, 0xf464c343 -0, 504000, 107520, 0xf464c343 -0, 507000, 107520, 0xf464c343 -0, 510000, 107520, 0xf464c343 -0, 513000, 107520, 0xf464c343 -0, 516000, 107520, 0xf464c343 1, 517518, 44064, 0xb921e11a -0, 519000, 107520, 0xf464c343 -0, 522000, 107520, 0xf464c343 -0, 525000, 107520, 0xf464c343 -0, 528000, 107520, 0xf464c343 -0, 531000, 107520, 0xf464c343 -0, 534000, 107520, 0xf464c343 -0, 537000, 107520, 0xf464c343 -0, 540000, 107520, 0xf464c343 1, 540000, 44112, 0xe0ac619f -0, 543000, 107520, 0xf464c343 -0, 546000, 107520, 0xf2b2c712 -0, 549000, 107520, 0xf2b2c712 -0, 552000, 107520, 0xf2b2c712 -0, 555000, 107520, 0xf2b2c712 -0, 558000, 107520, 0xf2b2c712 -0, 561000, 107520, 0xf2b2c712 1, 562506, 44112, 0xb07aa65c -0, 564000, 107520, 0xf2b2c712 -0, 567000, 107520, 0xf2b2c712 -0, 570000, 107520, 0xb95e6bc8 -0, 573000, 107520, 0xb95e6bc8 -0, 576000, 107520, 0x33feee37 -0, 579000, 107520, 0x33feee37 -0, 582000, 107520, 0x36ee3cd5 -0, 585000, 107520, 0x36ee3cd5 1, 585012, 44112, 0x24610ff0 -0, 588000, 107520, 0x59096471 -0, 591000, 107520, 0x59096471 -0, 594000, 107520, 0x53b470c6 -0, 597000, 107520, 0x53b470c6 -0, 600000, 107520, 0xdb7c64ff -0, 603000, 107520, 0xdb7c64ff -0, 606000, 107520, 0xe5a1596a 1, 607518, 44064, 0x00000000 -0, 609000, 107520, 0xe5a1596a -0, 612000, 107520, 0x8c8942eb -0, 615000, 107520, 0x8c8942eb -0, 618000, 107520, 0x5ecc379e -0, 621000, 107520, 0x5ecc379e -0, 624000, 107520, 0xea09432a -0, 627000, 107520, 0xea09432a -0, 630000, 107520, 0xe01e6b73 1, 630000, 44112, 0x00000000 -0, 633000, 107520, 0xe01e6b73 -0, 636000, 107520, 0x1d13bba8 -0, 639000, 107520, 0x1d13bba8 -0, 642000, 107520, 0x3a993a6c -0, 645000, 107520, 0x3a993a6c -0, 648000, 107520, 0x2ede041a -0, 651000, 107520, 0x2ede041a 1, 652506, 8800, 0x00000000 diff --git a/tests/ref/fate/mpeg2-field-enc b/tests/ref/fate/mpeg2-field-enc index 1ea05bd9b7..9ae5d62bf0 100644 --- a/tests/ref/fate/mpeg2-field-enc +++ b/tests/ref/fate/mpeg2-field-enc @@ -1,39 +1,31 @@ 0, 0, 622080, 0xb3b66c5c -0, 3600, 622080, 0xb3b66c5c -0, 7200, 622080, 0xb3b66c5c -0, 10800, 622080, 0xb3b66c5c -0, 14400, 622080, 0xb3b66c5c -0, 18000, 622080, 0xb3b66c5c -0, 21600, 622080, 0xb3b66c5c -0, 25200, 622080, 0xb3b66c5c -0, 28800, 622080, 0xb3b66c5c -0, 32400, 622080, 0x088ec02b -0, 36000, 622080, 0x7a36db21 -0, 39600, 622080, 0x541b286f -0, 43200, 622080, 0xb6c3e590 -0, 46800, 622080, 0x39dbed51 -0, 50400, 622080, 0x973dc728 -0, 54000, 622080, 0xd7a4f804 -0, 57600, 622080, 0xa2484762 -0, 61200, 622080, 0x0cd268d1 -0, 64800, 622080, 0x72eb663d -0, 68400, 622080, 0x8fdbac59 -0, 72000, 622080, 0xa6f4feb9 -0, 75600, 622080, 0xadb828c6 -0, 79200, 622080, 0xea630a63 -0, 82800, 622080, 0xa901d925 -0, 86400, 622080, 0xac5e7087 -0, 90000, 622080, 0x10274a2b -0, 93600, 622080, 0x143d541c -0, 97200, 622080, 0xee94c93a -0, 100800, 622080, 0xca030208 -0, 104400, 622080, 0x26f30ead -0, 108000, 622080, 0xfc22f32c -0, 111600, 622080, 0x940a5ff8 -0, 115200, 622080, 0x2164f805 -0, 118800, 622080, 0xa76f5aba -0, 122400, 622080, 0x8c311471 -0, 126000, 622080, 0xa45e1d95 -0, 129600, 622080, 0x6cc61d6c -0, 133200, 622080, 0x6983b417 -0, 136800, 622080, 0x982363c0 +0, 3600, 622080, 0x088ec02b +0, 7200, 622080, 0x7a36db21 +0, 10800, 622080, 0x541b286f +0, 14400, 622080, 0xb6c3e590 +0, 18000, 622080, 0x39dbed51 +0, 21600, 622080, 0x973dc728 +0, 25200, 622080, 0xd7a4f804 +0, 28800, 622080, 0xa2484762 +0, 32400, 622080, 0x0cd268d1 +0, 36000, 622080, 0x72eb663d +0, 39600, 622080, 0x8fdbac59 +0, 43200, 622080, 0xa6f4feb9 +0, 46800, 622080, 0xadb828c6 +0, 50400, 622080, 0xea630a63 +0, 54000, 622080, 0xa901d925 +0, 57600, 622080, 0xac5e7087 +0, 61200, 622080, 0x10274a2b +0, 64800, 622080, 0x143d541c +0, 68400, 622080, 0xee94c93a +0, 72000, 622080, 0xca030208 +0, 75600, 622080, 0x26f30ead +0, 79200, 622080, 0xfc22f32c +0, 82800, 622080, 0x940a5ff8 +0, 86400, 622080, 0x2164f805 +0, 90000, 622080, 0xa76f5aba +0, 93600, 622080, 0x8c311471 +0, 97200, 622080, 0xa45e1d95 +0, 100800, 622080, 0x6cc61d6c +0, 104400, 622080, 0x6983b417 +0, 108000, 622080, 0x982363c0 diff --git a/tests/ref/fate/nuv b/tests/ref/fate/nuv index b047378954..f1fcae3883 100644 --- a/tests/ref/fate/nuv +++ b/tests/ref/fate/nuv @@ -1,30 +1,27 @@ 0, 0, 460800, 0x54aedafe 1, 0, 4096, 0x00000000 1, 2090, 4096, 0x4dfae7a6 -0, 3003, 460800, 0x54aedafe +0, 3003, 460800, 0xb7aa8b56 1, 4180, 4096, 0x3fd9f5c6 -0, 6006, 460800, 0x54aedafe +0, 6006, 460800, 0x283ea3b5 1, 6269, 4096, 0x7b86e310 1, 8359, 4096, 0x611cece5 -0, 9009, 460800, 0x54aedafe +0, 9009, 460800, 0x283ea3b5 1, 10449, 4096, 0xb7d8e872 -0, 12012, 460800, 0xb7aa8b56 +0, 12012, 460800, 0x10e577de 1, 12539, 4096, 0x072ef72b 1, 14629, 4096, 0xb3560144 -0, 15015, 460800, 0x283ea3b5 +0, 15015, 460800, 0x4e091ee2 1, 16718, 4096, 0x0a3d119e -0, 18018, 460800, 0x283ea3b5 +0, 18018, 460800, 0x2ea88828 1, 18808, 4096, 0xbe391aa4 1, 20898, 4096, 0x28f7c6e5 -0, 21021, 460800, 0x10e577de +0, 21021, 460800, 0x4b7f4df0 1, 22988, 4096, 0xca9d9df2 -0, 24024, 460800, 0x4e091ee2 +0, 24024, 460800, 0xb30eb322 1, 25078, 4096, 0x5c6b95a9 -0, 27027, 460800, 0x2ea88828 1, 27167, 4096, 0x0bdfc0bf 1, 29257, 4096, 0xd95a9277 -0, 30030, 460800, 0x4b7f4df0 1, 31347, 4096, 0xae2bef2c -0, 33033, 460800, 0xb30eb322 1, 33437, 4096, 0xbf031e83 1, 35527, 4096, 0x4c83e2d1 diff --git a/tests/ref/fate/tiertex-seq b/tests/ref/fate/tiertex-seq index 6aa7fc7b9f..24819ebf62 100644 --- a/tests/ref/fate/tiertex-seq +++ b/tests/ref/fate/tiertex-seq @@ -2,145 +2,94 @@ 1, 0, 1764, 0x00000000 0, 3600, 98304, 0xb20c19d0 1, 3600, 1764, 0x80a253d9 -0, 7200, 98304, 0xb20c19d0 +0, 7200, 98304, 0x6b8538c0 1, 7200, 1764, 0x95a16721 -0, 10800, 98304, 0xb20c19d0 +0, 10800, 98304, 0x172207e3 1, 10800, 1764, 0x0f0d4cb6 -0, 14400, 98304, 0x6b8538c0 +0, 14400, 98304, 0x63fb7dc1 1, 14400, 1764, 0x75026779 -0, 18000, 98304, 0x6b8538c0 +0, 18000, 98304, 0x37cf1601 1, 18000, 1764, 0xb4356e37 -0, 21600, 98304, 0x6b8538c0 +0, 21600, 98304, 0x82941990 1, 21600, 1764, 0xfafa64cb -0, 25200, 98304, 0x172207e3 +0, 25200, 98304, 0xe0a5309e 1, 25200, 1764, 0xe8fd7970 -0, 28800, 98304, 0x172207e3 +0, 28800, 98304, 0x164cb67d 1, 28800, 1764, 0x666879b7 -0, 32400, 98304, 0x172207e3 +0, 32400, 98304, 0xed2189f8 1, 32400, 1764, 0xf2cd7770 -0, 36000, 98304, 0x172207e3 +0, 36000, 98304, 0x7215e529 1, 36000, 1764, 0x54317a1c -0, 39600, 98304, 0x63fb7dc1 +0, 39600, 98304, 0x170c783b 1, 39600, 1764, 0x9c396930 -0, 43200, 98304, 0x63fb7dc1 +0, 43200, 98304, 0xf6bd74c7 1, 43200, 1764, 0x87115ec4 -0, 46800, 98304, 0x63fb7dc1 +0, 46800, 98304, 0x1efd38c4 1, 46800, 1764, 0x0c9b69b6 -0, 50400, 98304, 0x37cf1601 +0, 50400, 98304, 0x29c26bba 1, 50400, 1764, 0x8c3a758a -0, 54000, 98304, 0x37cf1601 +0, 54000, 98304, 0x880a6313 1, 54000, 1764, 0x605d776a -0, 57600, 98304, 0x37cf1601 +0, 57600, 98304, 0x73f5bb00 1, 57600, 1764, 0x0556852d -0, 61200, 98304, 0x37cf1601 +0, 61200, 98304, 0xc85b19ec 1, 61200, 1764, 0x7d4363f8 -0, 64800, 98304, 0x82941990 +0, 64800, 98304, 0x00000000 1, 64800, 1764, 0xc5cd75d0 -0, 68400, 98304, 0x82941990 +0, 68400, 98304, 0x00000000 1, 68400, 1764, 0x3ff3646d -0, 72000, 98304, 0x82941990 +0, 72000, 98304, 0x00000000 1, 72000, 1764, 0x10136d25 -0, 75600, 98304, 0x82941990 1, 75600, 1764, 0xeb1a6cd0 -0, 79200, 98304, 0xe0a5309e 1, 79200, 1764, 0xef937ed1 -0, 82800, 98304, 0xe0a5309e 1, 82800, 1764, 0x2d2b6f79 -0, 86400, 98304, 0xe0a5309e 1, 86400, 1764, 0x6f457231 -0, 90000, 98304, 0x164cb67d 1, 90000, 1764, 0x56267c9d -0, 93600, 98304, 0x164cb67d 1, 93600, 1764, 0xd49e79c8 -0, 97200, 98304, 0x164cb67d 1, 97200, 1764, 0xc726703d -0, 100800, 98304, 0x164cb67d 1, 100800, 1764, 0x2abf8074 -0, 104400, 98304, 0xed2189f8 1, 104400, 1764, 0xb50c556d -0, 108000, 98304, 0xed2189f8 1, 108000, 1764, 0xc1f2523c -0, 111600, 98304, 0xed2189f8 1, 111600, 1764, 0x850a6f93 -0, 115200, 98304, 0x7215e529 1, 115200, 1764, 0x8da76c31 -0, 118800, 98304, 0x7215e529 1, 118800, 1764, 0xfcccdf13 -0, 122400, 98304, 0x7215e529 1, 122400, 1764, 0x00000000 -0, 126000, 98304, 0x7215e529 1, 126000, 1764, 0x00000000 -0, 129600, 98304, 0x170c783b 1, 129600, 1764, 0x00000000 -0, 133200, 98304, 0x170c783b 1, 133200, 1764, 0x00000000 -0, 136800, 98304, 0x170c783b 1, 136800, 1764, 0x00000000 -0, 140400, 98304, 0xf6bd74c7 1, 140400, 1764, 0x00000000 -0, 144000, 98304, 0xf6bd74c7 1, 144000, 1764, 0x00000000 -0, 147600, 98304, 0xf6bd74c7 1, 147600, 1764, 0x00000000 -0, 151200, 98304, 0xf6bd74c7 1, 151200, 1764, 0x00000000 -0, 154800, 98304, 0x1efd38c4 1, 154800, 1764, 0x00000000 -0, 158400, 98304, 0x1efd38c4 1, 158400, 1764, 0x00000000 -0, 162000, 98304, 0x1efd38c4 1, 162000, 1764, 0x00000000 -0, 165600, 98304, 0x1efd38c4 1, 165600, 1764, 0x00000000 -0, 169200, 98304, 0x29c26bba 1, 169200, 1764, 0x00000000 -0, 172800, 98304, 0x29c26bba 1, 172800, 1764, 0x00000000 -0, 176400, 98304, 0x29c26bba 1, 176400, 1764, 0x00000000 -0, 180000, 98304, 0x880a6313 1, 180000, 1764, 0x00000000 -0, 183600, 98304, 0x880a6313 1, 183600, 1764, 0x00000000 -0, 187200, 98304, 0x880a6313 1, 187200, 1764, 0x00000000 -0, 190800, 98304, 0x880a6313 1, 190800, 1764, 0x00000000 -0, 194400, 98304, 0x73f5bb00 1, 194400, 1764, 0x00000000 -0, 198000, 98304, 0x73f5bb00 1, 198000, 1764, 0x00000000 -0, 201600, 98304, 0x73f5bb00 1, 201600, 1764, 0x00000000 -0, 205200, 98304, 0xc85b19ec 1, 205200, 1764, 0x00000000 -0, 208800, 98304, 0xc85b19ec 1, 208800, 1764, 0x00000000 -0, 212400, 98304, 0xc85b19ec 1, 212400, 1764, 0x00000000 -0, 216000, 98304, 0xc85b19ec 1, 216000, 1764, 0x00000000 -0, 219600, 98304, 0x00000000 1, 219600, 1764, 0x00000000 -0, 223200, 98304, 0x00000000 1, 223200, 1764, 0x00000000 -0, 226800, 98304, 0x00000000 1, 226800, 1764, 0x00000000 -0, 230400, 98304, 0x00000000 1, 230400, 1764, 0x00000000 -0, 234000, 98304, 0x00000000 1, 234000, 1764, 0x00000000 -0, 237600, 98304, 0x00000000 1, 237600, 1764, 0x00000000 -0, 241200, 98304, 0x00000000 1, 241200, 1764, 0x00000000 -0, 244800, 98304, 0x00000000 1, 244800, 1764, 0x00000000 -0, 248400, 98304, 0x00000000 1, 248400, 1764, 0x00000000 -0, 252000, 98304, 0x00000000 1, 252000, 1764, 0x00000000 -0, 255600, 98304, 0x00000000 1, 255600, 1764, 0x00000000 1, 259200, 1764, 0x00000000 1, 262800, 1764, 0x00000000 diff --git a/tests/ref/fate/tscc-32bit b/tests/ref/fate/tscc-32bit index dd888a85f2..90deaf561b 100644 --- a/tests/ref/fate/tscc-32bit +++ b/tests/ref/fate/tscc-32bit @@ -9,151 +9,148 @@ 0, 48000, 2359296, 0xe990f855 0, 54000, 2359296, 0x3ec2c64e 0, 60000, 2359296, 0xda3ba3cf -0, 66000, 2359296, 0xda3ba3cf -0, 72000, 2359296, 0xda3ba3cf -0, 78000, 2359296, 0x60a070fd -0, 84000, 2359296, 0x42e5fedc -0, 90000, 2359296, 0x42e5fedc +0, 66000, 2359296, 0x60a070fd +0, 72000, 2359296, 0x42e5fedc +0, 78000, 2359296, 0x42e5fedc +0, 84000, 2359296, 0x699cf990 +0, 90000, 2359296, 0x699cf990 0, 96000, 2359296, 0x699cf990 0, 102000, 2359296, 0x699cf990 0, 108000, 2359296, 0x699cf990 0, 114000, 2359296, 0x699cf990 0, 120000, 2359296, 0x699cf990 -0, 126000, 2359296, 0x699cf990 -0, 132000, 2359296, 0x699cf990 +0, 126000, 2359296, 0x1524160c +0, 132000, 2359296, 0x1524160c 0, 138000, 2359296, 0x1524160c 0, 144000, 2359296, 0x1524160c 0, 150000, 2359296, 0x1524160c 0, 156000, 2359296, 0x1524160c 0, 162000, 2359296, 0x1524160c -0, 168000, 2359296, 0x1524160c -0, 174000, 2359296, 0x1524160c +0, 168000, 2359296, 0x33df0c8c +0, 174000, 2359296, 0x33df0c8c 0, 180000, 2359296, 0x33df0c8c 0, 186000, 2359296, 0x33df0c8c 0, 192000, 2359296, 0x33df0c8c 0, 198000, 2359296, 0x33df0c8c 0, 204000, 2359296, 0x33df0c8c -0, 210000, 2359296, 0x33df0c8c -0, 216000, 2359296, 0x33df0c8c +0, 210000, 2359296, 0xfe3d29f8 +0, 216000, 2359296, 0xfe3d29f8 0, 222000, 2359296, 0xfe3d29f8 0, 228000, 2359296, 0xfe3d29f8 0, 234000, 2359296, 0xfe3d29f8 0, 240000, 2359296, 0xfe3d29f8 0, 246000, 2359296, 0xfe3d29f8 -0, 252000, 2359296, 0xfe3d29f8 -0, 258000, 2359296, 0xfe3d29f8 +0, 252000, 2359296, 0x1b9d197f +0, 258000, 2359296, 0x1b9d197f 0, 264000, 2359296, 0x1b9d197f 0, 270000, 2359296, 0x1b9d197f 0, 276000, 2359296, 0x1b9d197f 0, 282000, 2359296, 0x1b9d197f 0, 288000, 2359296, 0x1b9d197f -0, 294000, 2359296, 0x1b9d197f -0, 300000, 2359296, 0x1b9d197f +0, 294000, 2359296, 0x48c126fb +0, 300000, 2359296, 0x48c126fb 0, 306000, 2359296, 0x48c126fb 0, 312000, 2359296, 0x48c126fb 0, 318000, 2359296, 0x48c126fb 0, 324000, 2359296, 0x48c126fb 0, 330000, 2359296, 0x48c126fb -0, 336000, 2359296, 0x48c126fb -0, 342000, 2359296, 0x48c126fb +0, 336000, 2359296, 0xcaa31c7c +0, 342000, 2359296, 0xcaa31c7c 0, 348000, 2359296, 0xcaa31c7c 0, 354000, 2359296, 0xcaa31c7c 0, 360000, 2359296, 0xcaa31c7c 0, 366000, 2359296, 0xcaa31c7c 0, 372000, 2359296, 0xcaa31c7c -0, 378000, 2359296, 0xcaa31c7c -0, 384000, 2359296, 0xcaa31c7c +0, 378000, 2359296, 0xc6a333ee +0, 384000, 2359296, 0xc6a333ee 0, 390000, 2359296, 0xc6a333ee 0, 396000, 2359296, 0xc6a333ee 0, 402000, 2359296, 0xc6a333ee 0, 408000, 2359296, 0xc6a333ee 0, 414000, 2359296, 0xc6a333ee -0, 420000, 2359296, 0xc6a333ee -0, 426000, 2359296, 0xc6a333ee +0, 420000, 2359296, 0xb96d1583 +0, 426000, 2359296, 0xb96d1583 0, 432000, 2359296, 0xb96d1583 0, 438000, 2359296, 0xb96d1583 0, 444000, 2359296, 0xb96d1583 0, 450000, 2359296, 0xb96d1583 0, 456000, 2359296, 0xb96d1583 -0, 462000, 2359296, 0xb96d1583 -0, 468000, 2359296, 0xb96d1583 +0, 462000, 2359296, 0x878135ec +0, 468000, 2359296, 0x878135ec 0, 474000, 2359296, 0x878135ec 0, 480000, 2359296, 0x878135ec 0, 486000, 2359296, 0x878135ec 0, 492000, 2359296, 0x878135ec 0, 498000, 2359296, 0x878135ec -0, 504000, 2359296, 0x878135ec -0, 510000, 2359296, 0x878135ec -0, 516000, 2359296, 0x878135ec +0, 504000, 2359296, 0x76922870 +0, 510000, 2359296, 0x76922870 +0, 516000, 2359296, 0x76922870 0, 522000, 2359296, 0x76922870 0, 528000, 2359296, 0x76922870 0, 534000, 2359296, 0x76922870 0, 540000, 2359296, 0x76922870 -0, 546000, 2359296, 0x76922870 -0, 552000, 2359296, 0x76922870 -0, 558000, 2359296, 0x76922870 +0, 546000, 2359296, 0xb0e031f0 +0, 552000, 2359296, 0xb0e031f0 +0, 558000, 2359296, 0xb0e031f0 0, 564000, 2359296, 0xb0e031f0 0, 570000, 2359296, 0xb0e031f0 0, 576000, 2359296, 0xb0e031f0 0, 582000, 2359296, 0xb0e031f0 -0, 588000, 2359296, 0xb0e031f0 -0, 594000, 2359296, 0xb0e031f0 -0, 600000, 2359296, 0xb0e031f0 -0, 606000, 2359296, 0xb2ef2a6e -0, 612000, 2359296, 0xb2ef2a6e -0, 618000, 2359296, 0xb2ef2a6e +0, 588000, 2359296, 0xb2ef2a6e +0, 594000, 2359296, 0xb2ef2a6e +0, 600000, 2359296, 0xb2ef2a6e +0, 606000, 2359296, 0x083c2474 +0, 612000, 2359296, 0x083c2474 +0, 618000, 2359296, 0x083c2474 0, 624000, 2359296, 0x083c2474 -0, 630000, 2359296, 0x083c2474 -0, 636000, 2359296, 0x083c2474 -0, 642000, 2359296, 0x083c2474 +0, 630000, 2359296, 0xbdfe2ef3 +0, 636000, 2359296, 0xbdfe2ef3 +0, 642000, 2359296, 0xbdfe2ef3 0, 648000, 2359296, 0xbdfe2ef3 0, 654000, 2359296, 0xbdfe2ef3 0, 660000, 2359296, 0xbdfe2ef3 0, 666000, 2359296, 0xbdfe2ef3 -0, 672000, 2359296, 0xbdfe2ef3 -0, 678000, 2359296, 0xbdfe2ef3 -0, 684000, 2359296, 0xbdfe2ef3 +0, 672000, 2359296, 0x934b1484 +0, 678000, 2359296, 0x934b1484 +0, 684000, 2359296, 0x934b1484 0, 690000, 2359296, 0x934b1484 -0, 696000, 2359296, 0x934b1484 -0, 702000, 2359296, 0x934b1484 -0, 708000, 2359296, 0x934b1484 -0, 714000, 2359296, 0x3e0d1a7e -0, 720000, 2359296, 0x3e0d1a7e -0, 726000, 2359296, 0x3e0d1a7e +0, 696000, 2359296, 0x3e0d1a7e +0, 702000, 2359296, 0x3e0d1a7e +0, 708000, 2359296, 0x3e0d1a7e +0, 714000, 2359296, 0x3ce539e8 +0, 720000, 2359296, 0x3ce539e8 +0, 726000, 2359296, 0x3ce539e8 0, 732000, 2359296, 0x3ce539e8 0, 738000, 2359296, 0x3ce539e8 0, 744000, 2359296, 0x3ce539e8 0, 750000, 2359296, 0x3ce539e8 -0, 756000, 2359296, 0x3ce539e8 -0, 762000, 2359296, 0x3ce539e8 -0, 768000, 2359296, 0x3ce539e8 +0, 756000, 2359296, 0xd46c2f69 +0, 762000, 2359296, 0xd46c2f69 +0, 768000, 2359296, 0xd46c2f69 0, 774000, 2359296, 0xd46c2f69 0, 780000, 2359296, 0xd46c2f69 0, 786000, 2359296, 0xd46c2f69 0, 792000, 2359296, 0xd46c2f69 -0, 798000, 2359296, 0xd46c2f69 -0, 804000, 2359296, 0xd46c2f69 -0, 810000, 2359296, 0xd46c2f69 +0, 798000, 2359296, 0x8d2933ee +0, 804000, 2359296, 0x8d2933ee +0, 810000, 2359296, 0x8d2933ee 0, 816000, 2359296, 0x8d2933ee 0, 822000, 2359296, 0x8d2933ee 0, 828000, 2359296, 0x8d2933ee 0, 834000, 2359296, 0x8d2933ee -0, 840000, 2359296, 0x8d2933ee -0, 846000, 2359296, 0x8d2933ee -0, 852000, 2359296, 0x8d2933ee +0, 840000, 2359296, 0xb6092b6d +0, 846000, 2359296, 0xb6092b6d +0, 852000, 2359296, 0xb6092b6d 0, 858000, 2359296, 0xb6092b6d 0, 864000, 2359296, 0xb6092b6d 0, 870000, 2359296, 0xb6092b6d 0, 876000, 2359296, 0xb6092b6d -0, 882000, 2359296, 0xb6092b6d -0, 888000, 2359296, 0xb6092b6d -0, 894000, 2359296, 0xb6092b6d +0, 882000, 2359296, 0xe4ef27fa +0, 888000, 2359296, 0xe4ef27fa +0, 894000, 2359296, 0xe4ef27fa 0, 900000, 2359296, 0xe4ef27fa 0, 906000, 2359296, 0xe4ef27fa 0, 912000, 2359296, 0xe4ef27fa 0, 918000, 2359296, 0xe4ef27fa -0, 924000, 2359296, 0xe4ef27fa -0, 930000, 2359296, 0xe4ef27fa -0, 936000, 2359296, 0xe4ef27fa -0, 942000, 2359296, 0x5e5b2672 -0, 948000, 2359296, 0x5e5b2672 +0, 924000, 2359296, 0x5e5b2672 +0, 930000, 2359296, 0x5e5b2672 diff --git a/tests/ref/fate/vmnc-32bit b/tests/ref/fate/vmnc-32bit index fa3d6a07aa..6abcd0dea8 100644 --- a/tests/ref/fate/vmnc-32bit +++ b/tests/ref/fate/vmnc-32bit @@ -2,170 +2,48 @@ 0, 18000, 3655644, 0x87973530 0, 36000, 3655644, 0x3c3167fd 0, 54000, 3655644, 0x87973530 -0, 72000, 3655644, 0x87973530 -0, 90000, 3655644, 0x3c3167fd -0, 108000, 3655644, 0x3c3167fd -0, 126000, 3655644, 0x87973530 +0, 72000, 3655644, 0x3c3167fd +0, 90000, 3655644, 0x87973530 +0, 108000, 3655644, 0x87973530 +0, 126000, 3655644, 0x3c3167fd 0, 144000, 3655644, 0x87973530 -0, 162000, 3655644, 0x87973530 -0, 180000, 3655644, 0x87973530 -0, 198000, 3655644, 0x3c3167fd -0, 216000, 3655644, 0x87973530 -0, 234000, 3655644, 0x87973530 -0, 252000, 3655644, 0x87973530 -0, 270000, 3655644, 0x4f0da763 -0, 288000, 3655644, 0x4f0da763 -0, 306000, 3655644, 0x4f0da763 -0, 324000, 3655644, 0x66a4a763 -0, 342000, 3655644, 0xb20a7496 -0, 360000, 3655644, 0x66a4a763 -0, 378000, 3655644, 0x66a4a763 -0, 396000, 3655644, 0x66a4a763 -0, 414000, 3655644, 0x5600644a -0, 432000, 3655644, 0xce5880ee -0, 450000, 3655644, 0xce5880ee -0, 468000, 3655644, 0xa993ef3d -0, 486000, 3655644, 0xa993ef3d -0, 504000, 3655644, 0xa993ef3d -0, 522000, 3655644, 0xa993ef3d -0, 540000, 3655644, 0xa993ef3d -0, 558000, 3655644, 0xa993ef3d -0, 576000, 3655644, 0xa993ef3d -0, 594000, 3655644, 0xa993ef3d -0, 612000, 3655644, 0xa993ef3d -0, 630000, 3655644, 0xa993ef3d -0, 648000, 3655644, 0xa993ef3d -0, 666000, 3655644, 0xa993ef3d -0, 684000, 3655644, 0xa993ef3d -0, 702000, 3655644, 0xa993ef3d -0, 720000, 3655644, 0xa993ef3d -0, 738000, 3655644, 0xa993ef3d -0, 756000, 3655644, 0xa993ef3d -0, 774000, 3655644, 0xa993ef3d -0, 792000, 3655644, 0xa993ef3d -0, 810000, 3655644, 0xa993ef3d -0, 828000, 3655644, 0xa993ef3d -0, 846000, 3655644, 0xa993ef3d -0, 864000, 3655644, 0xa993ef3d -0, 882000, 3655644, 0x73564014 -0, 900000, 3655644, 0x73564014 -0, 918000, 3655644, 0x73564014 -0, 936000, 3655644, 0x73564014 -0, 954000, 3655644, 0x73564014 -0, 972000, 3655644, 0x73564014 -0, 990000, 3655644, 0x73564014 -0, 1008000, 3655644, 0x73564014 -0, 1026000, 3655644, 0x73564014 -0, 1044000, 3655644, 0x73564014 -0, 1062000, 3655644, 0x73564014 -0, 1080000, 3655644, 0x73564014 -0, 1098000, 3655644, 0x2a6e1e8c -0, 1116000, 3655644, 0x2a6e1e8c -0, 1134000, 3655644, 0x2a6e1e8c -0, 1152000, 3655644, 0xbae02e7c -0, 1170000, 3655644, 0xbae02e7c -0, 1188000, 3655644, 0xbae02e7c -0, 1206000, 3655644, 0xbae02e7c -0, 1224000, 3655644, 0x55af4a2d -0, 1242000, 3655644, 0x55af4a2d -0, 1260000, 3655644, 0x55af4a2d -0, 1278000, 3655644, 0x55af4a2d -0, 1296000, 3655644, 0x54b7ff2d -0, 1314000, 3655644, 0x39af1aed -0, 1332000, 3655644, 0x39af1aed -0, 1350000, 3655644, 0x39af1aed -0, 1368000, 3655644, 0x39af1aed -0, 1386000, 3655644, 0xe48dd11c -0, 1404000, 3655644, 0xe48dd11c -0, 1422000, 3655644, 0xe48dd11c -0, 1440000, 3655644, 0xe48dd11c -0, 1458000, 3655644, 0xe48dd11c -0, 1476000, 3655644, 0xba15c78d -0, 1494000, 3655644, 0xba15c78d -0, 1512000, 3655644, 0xba15c78d -0, 1530000, 3655644, 0xba15c78d -0, 1548000, 3655644, 0xba15c78d -0, 1566000, 3655644, 0xba15c78d -0, 1584000, 3655644, 0xba15c78d -0, 1602000, 3655644, 0x39af1aed -0, 1620000, 3655644, 0x39af1aed -0, 1638000, 3655644, 0x39af1aed -0, 1656000, 3655644, 0x39af1aed -0, 1674000, 3655644, 0x39af1aed -0, 1692000, 3655644, 0x39af1aed -0, 1710000, 3655644, 0x39af1aed -0, 1728000, 3655644, 0x27f96cd8 -0, 1746000, 3655644, 0x27f96cd8 -0, 1764000, 3655644, 0x27f96cd8 -0, 1782000, 3655644, 0x27f96cd8 -0, 1800000, 3655644, 0x27f96cd8 -0, 1818000, 3655644, 0x27f96cd8 -0, 1836000, 3655644, 0x27f96cd8 -0, 1854000, 3655644, 0xf4f068dc -0, 1872000, 3655644, 0xf4f068dc -0, 1890000, 3655644, 0xf4f068dc -0, 1908000, 3655644, 0xf4f068dc -0, 1926000, 3655644, 0xf4f068dc -0, 1944000, 3655644, 0xf4f068dc -0, 1962000, 3655644, 0xf4f068dc -0, 1980000, 3655644, 0xf1c55cf5 -0, 1998000, 3655644, 0xd932633d -0, 2016000, 3655644, 0xd932633d -0, 2034000, 3655644, 0xc6e95e0a -0, 2052000, 3655644, 0x9a63c9de -0, 2070000, 3655644, 0xf166ad4f -0, 2088000, 3655644, 0xe9eeba41 -0, 2106000, 3655644, 0x7e598ad7 -0, 2124000, 3655644, 0xf3bd257e -0, 2142000, 3655644, 0xf3bd257e -0, 2160000, 3655644, 0xf3bd257e -0, 2178000, 3655644, 0xf3bd257e -0, 2196000, 3655644, 0xf3bd257e -0, 2214000, 3655644, 0xf35b3852 -0, 2232000, 3655644, 0xf35b3852 -0, 2250000, 3655644, 0xf35b3852 -0, 2268000, 3655644, 0xf35b3852 -0, 2286000, 3655644, 0x9d553959 -0, 2304000, 3655644, 0x0a9de8e2 -0, 2322000, 3655644, 0xf2325b6c -0, 2340000, 3655644, 0xf2325b6c -0, 2358000, 3655644, 0xf2325b6c -0, 2376000, 3655644, 0xf2325b6c -0, 2394000, 3655644, 0xf2325b6c -0, 2412000, 3655644, 0xf2325b6c -0, 2430000, 3655644, 0xcf924028 -0, 2448000, 3655644, 0xcf924028 -0, 2466000, 3655644, 0x8dae55bc -0, 2484000, 3655644, 0x8dae55bc -0, 2502000, 3655644, 0x57b08ced -0, 2520000, 3655644, 0x57b08ced -0, 2538000, 3655644, 0xef89a1d8 -0, 2556000, 3655644, 0xef89a1d8 -0, 2574000, 3655644, 0x69e5503a -0, 2592000, 3655644, 0x69e5503a -0, 2610000, 3655644, 0xc3de7b3f -0, 2628000, 3655644, 0xc3de7b3f -0, 2646000, 3655644, 0x88eea64a -0, 2664000, 3655644, 0x88eea64a -0, 2682000, 3655644, 0xe39cce1f -0, 2700000, 3655644, 0xe39cce1f -0, 2718000, 3655644, 0xe39cce1f -0, 2736000, 3655644, 0xe39cce1f -0, 2754000, 3655644, 0xe39cce1f -0, 2772000, 3655644, 0xe39cce1f -0, 2790000, 3655644, 0xe39cce1f -0, 2808000, 3655644, 0xe39cce1f -0, 2826000, 3655644, 0xe39cce1f -0, 2844000, 3655644, 0xe39cce1f -0, 2862000, 3655644, 0xe39cce1f -0, 2880000, 3655644, 0xe39cce1f -0, 2898000, 3655644, 0xe39cce1f -0, 2916000, 3655644, 0xf0ed0d04 -0, 2934000, 3655644, 0xf0ed0d04 -0, 2952000, 3655644, 0xf0ed0d04 -0, 2970000, 3655644, 0xf0ed0d04 -0, 2988000, 3655644, 0x32490d3e -0, 3006000, 3655644, 0x32490d3e -0, 3024000, 3655644, 0x32490d3e -0, 3042000, 3655644, 0x32490d3e -0, 3060000, 3655644, 0x32490d3e +0, 162000, 3655644, 0x4f0da763 +0, 180000, 3655644, 0x66a4a763 +0, 198000, 3655644, 0xb20a7496 +0, 216000, 3655644, 0x66a4a763 +0, 234000, 3655644, 0x5600644a +0, 252000, 3655644, 0xce5880ee +0, 270000, 3655644, 0xa993ef3d +0, 288000, 3655644, 0x73564014 +0, 306000, 3655644, 0x2a6e1e8c +0, 324000, 3655644, 0xbae02e7c +0, 342000, 3655644, 0x55af4a2d +0, 360000, 3655644, 0x54b7ff2d +0, 378000, 3655644, 0x39af1aed +0, 396000, 3655644, 0xe48dd11c +0, 414000, 3655644, 0xba15c78d +0, 432000, 3655644, 0x39af1aed +0, 450000, 3655644, 0x27f96cd8 +0, 468000, 3655644, 0xf4f068dc +0, 486000, 3655644, 0xf1c55cf5 +0, 504000, 3655644, 0xd932633d +0, 522000, 3655644, 0xc6e95e0a +0, 540000, 3655644, 0x9a63c9de +0, 558000, 3655644, 0xf166ad4f +0, 576000, 3655644, 0xe9eeba41 +0, 594000, 3655644, 0x7e598ad7 +0, 612000, 3655644, 0xf3bd257e +0, 630000, 3655644, 0xf35b3852 +0, 648000, 3655644, 0x9d553959 +0, 666000, 3655644, 0x0a9de8e2 +0, 684000, 3655644, 0xf2325b6c +0, 702000, 3655644, 0xcf924028 +0, 720000, 3655644, 0x8dae55bc +0, 738000, 3655644, 0x57b08ced +0, 756000, 3655644, 0xef89a1d8 +0, 774000, 3655644, 0x69e5503a +0, 792000, 3655644, 0xc3de7b3f +0, 810000, 3655644, 0x88eea64a +0, 828000, 3655644, 0xe39cce1f +0, 846000, 3655644, 0xf0ed0d04 +0, 864000, 3655644, 0x32490d3e diff --git a/tests/ref/fate/wmv8-drm b/tests/ref/fate/wmv8-drm index 015053587e..57e9aebfc6 100644 --- a/tests/ref/fate/wmv8-drm +++ b/tests/ref/fate/wmv8-drm @@ -1,162 +1,130 @@ 0, 0, 84480, 0x7760a00b 0, 3750, 84480, 0xfe39a1db -0, 7500, 84480, 0xfe39a1db -0, 11250, 84480, 0xfe39a1db -0, 15000, 84480, 0xfe39a1db -0, 18750, 84480, 0xfe39a1db -0, 22500, 84480, 0xfe39a1db -0, 26250, 84480, 0xfe39a1db -0, 30000, 84480, 0xfe39a1db -0, 33750, 84480, 0xfe39a1db -0, 37500, 84480, 0xfe39a1db -0, 41250, 84480, 0xfe39a1db -0, 45000, 84480, 0xfe39a1db -0, 48750, 84480, 0xfe39a1db -0, 52500, 84480, 0xfe39a1db -0, 56250, 84480, 0xfe39a1db -0, 60000, 84480, 0xfe39a1db -0, 63750, 84480, 0xfe39a1db -0, 67500, 84480, 0xfe39a1db -0, 71250, 84480, 0xfe39a1db -0, 75000, 84480, 0xfe39a1db -0, 78750, 84480, 0xfe39a1db -0, 82500, 84480, 0xfe39a1db -0, 86250, 84480, 0xfe39a1db -0, 90000, 84480, 0xfe39a1db -0, 93750, 84480, 0xfe39a1db -0, 97500, 84480, 0xfe39a1db -0, 101250, 84480, 0xfe39a1db -0, 105000, 84480, 0xfe39a1db -0, 108750, 84480, 0xd71961b4 -0, 112500, 84480, 0xc80dedba -0, 116250, 84480, 0x34d8b538 -0, 120000, 84480, 0x1a86b8e5 -0, 123750, 84480, 0xabf7c25d -0, 127500, 84480, 0x912600ee -0, 131250, 84480, 0x7ee7c70b -0, 135000, 84480, 0x09c5b0d1 -0, 138750, 84480, 0x6dbe6c0c -0, 142500, 84480, 0x0fe0a120 -0, 146250, 84480, 0x2352d3a2 -0, 150000, 84480, 0xb22ce92e -0, 153750, 84480, 0x31db0099 -0, 157500, 84480, 0xad2dd73a -0, 161250, 84480, 0xb9af8e20 -0, 165000, 84480, 0x7b956549 -0, 168750, 84480, 0x3f774b87 -0, 172500, 84480, 0x824a23a3 -0, 176250, 84480, 0x4469a8d8 -0, 180000, 84480, 0xc80c7a0a -0, 183750, 84480, 0xcf958549 -0, 187500, 84480, 0x449746e3 -0, 191250, 84480, 0xbac66a82 -0, 195000, 84480, 0x99e85855 -0, 198750, 84480, 0xa4a17d17 -0, 202500, 84480, 0xe29c7587 -0, 206250, 84480, 0x551de592 -0, 210000, 84480, 0xe0877bce -0, 213750, 84480, 0x9660eb35 -0, 217500, 84480, 0x0a34b644 -0, 221250, 84480, 0x352919f0 -0, 225000, 84480, 0xef56ce27 -0, 228750, 84480, 0x030fe862 -0, 232500, 84480, 0x2eba33e2 -0, 236250, 84480, 0x242de401 -0, 240000, 84480, 0xbadd61ca -0, 243750, 84480, 0x2060465b -0, 247500, 84480, 0x256e6965 -0, 251250, 84480, 0x243b7084 -0, 255000, 84480, 0x8b3c0b47 -0, 258750, 84480, 0xc174a9af -0, 262500, 84480, 0xb6d48686 -0, 266250, 84480, 0xa3dd1871 -0, 270000, 84480, 0x04cdcaf7 -0, 273750, 84480, 0x55f89c94 -0, 277500, 84480, 0xda657032 -0, 281250, 84480, 0x38ba7698 -0, 285000, 84480, 0x4d03a7f2 -0, 288750, 84480, 0x115d9035 -0, 292500, 84480, 0x24c6acc6 -0, 296250, 84480, 0xdd2bbcae -0, 300000, 84480, 0xb4fee0b9 -0, 303750, 84480, 0xc51c14e0 -0, 307500, 84480, 0xfb7737de -0, 311250, 84480, 0x38675fb0 -0, 315000, 84480, 0x4752c710 -0, 318750, 84480, 0xfeb7491b -0, 322500, 84480, 0xaa248122 -0, 326250, 84480, 0x9a4af87c -0, 330000, 84480, 0xedcf09df -0, 333750, 84480, 0x563a05df -0, 337500, 84480, 0x0dde1e03 -0, 341250, 84480, 0xd8f0ff65 -0, 345000, 84480, 0xbeb9ae1a -0, 348750, 84480, 0x416d1468 -0, 352500, 84480, 0x66c87d4c -0, 356250, 84480, 0xa67c0774 -0, 360000, 84480, 0xd8f8aec1 -0, 363750, 84480, 0xadfa502b -0, 367500, 84480, 0x50bf20e4 -0, 371250, 84480, 0xbcb3d8cc -0, 375000, 84480, 0xa54677d7 -0, 378750, 84480, 0x3566042d -0, 382500, 84480, 0x4c9eed57 -0, 386250, 84480, 0xc3b90e58 -0, 390000, 84480, 0x3c042bfa -0, 393750, 84480, 0x19f8e890 -0, 397500, 84480, 0xd3dacfb9 -0, 401250, 84480, 0x2365fc6f -0, 405000, 84480, 0xa2c19d00 -0, 408750, 84480, 0xce94336f -0, 412500, 84480, 0xfa9bcf14 -0, 416250, 84480, 0x24d6a243 -0, 420000, 84480, 0x24d6a243 -0, 423750, 84480, 0x24d6a243 -0, 427500, 84480, 0x24d6a243 -0, 431250, 84480, 0x24d6a243 -0, 435000, 84480, 0x24d6a243 -0, 438750, 84480, 0x24d6a243 -0, 442500, 84480, 0xae1c8854 -0, 446250, 84480, 0xbb8968bf -0, 450000, 84480, 0x6f923623 -0, 453750, 84480, 0x22e98029 -0, 457500, 84480, 0x8ac33af3 -0, 461250, 84480, 0x05947b6e -0, 465000, 84480, 0xfc35661a -0, 468750, 84480, 0x0e6b6e47 -0, 472500, 84480, 0x82c764bb -0, 476250, 84480, 0x57a36833 -0, 480000, 84480, 0xc8dd690a -0, 483750, 84480, 0x02c47232 -0, 487500, 84480, 0x6645715d -0, 491250, 84480, 0xc64860f7 -0, 495000, 84480, 0x4f5614b3 -0, 498750, 84480, 0xa70842ca -0, 502500, 84480, 0x379d8458 -0, 506250, 84480, 0xa14701cf -0, 510000, 84480, 0xad1aa2b2 -0, 513750, 84480, 0xee28f320 -0, 517500, 84480, 0x505801e9 -0, 521250, 84480, 0x7947233b -0, 525000, 84480, 0x3ce72a9d -0, 528750, 84480, 0xa6834e64 -0, 532500, 84480, 0xfebf4d70 -0, 536250, 84480, 0x4a0775e2 -0, 540000, 84480, 0x9d7e945b -0, 543750, 84480, 0xaa9eadd9 -0, 547500, 84480, 0xaa85c9b1 -0, 551250, 84480, 0xa005edaf -0, 555000, 84480, 0x7fc4e5cc -0, 558750, 84480, 0xb0f6e8d1 -0, 562500, 84480, 0x9ef9f330 -0, 566250, 84480, 0xbe14ff1f -0, 570000, 84480, 0xd494048c -0, 573750, 84480, 0x046166a7 -0, 577500, 84480, 0x052a09b2 -0, 581250, 84480, 0x71fff4ab -0, 585000, 84480, 0xb9684e41 -0, 588750, 84480, 0x1ddce068 -0, 592500, 84480, 0xb9de300e -0, 596250, 84480, 0x13962590 -0, 600000, 84480, 0xde79482f -0, 603750, 84480, 0x7d1ca064 +0, 7500, 84480, 0xd71961b4 +0, 11250, 84480, 0xc80dedba +0, 15000, 84480, 0x34d8b538 +0, 18750, 84480, 0x1a86b8e5 +0, 22500, 84480, 0xabf7c25d +0, 26250, 84480, 0x912600ee +0, 30000, 84480, 0x7ee7c70b +0, 33750, 84480, 0x09c5b0d1 +0, 37500, 84480, 0x6dbe6c0c +0, 41250, 84480, 0x0fe0a120 +0, 45000, 84480, 0x2352d3a2 +0, 48750, 84480, 0xb22ce92e +0, 52500, 84480, 0x31db0099 +0, 56250, 84480, 0xad2dd73a +0, 60000, 84480, 0xb9af8e20 +0, 63750, 84480, 0x7b956549 +0, 67500, 84480, 0x3f774b87 +0, 71250, 84480, 0x824a23a3 +0, 75000, 84480, 0x4469a8d8 +0, 78750, 84480, 0xc80c7a0a +0, 82500, 84480, 0xcf958549 +0, 86250, 84480, 0x449746e3 +0, 90000, 84480, 0xbac66a82 +0, 93750, 84480, 0x99e85855 +0, 97500, 84480, 0xa4a17d17 +0, 101250, 84480, 0xe29c7587 +0, 105000, 84480, 0x551de592 +0, 108750, 84480, 0xe0877bce +0, 112500, 84480, 0x9660eb35 +0, 116250, 84480, 0x0a34b644 +0, 120000, 84480, 0x352919f0 +0, 123750, 84480, 0xef56ce27 +0, 127500, 84480, 0x030fe862 +0, 131250, 84480, 0x2eba33e2 +0, 135000, 84480, 0x242de401 +0, 138750, 84480, 0xbadd61ca +0, 142500, 84480, 0x2060465b +0, 146250, 84480, 0x256e6965 +0, 150000, 84480, 0x243b7084 +0, 153750, 84480, 0x8b3c0b47 +0, 157500, 84480, 0xc174a9af +0, 161250, 84480, 0xb6d48686 +0, 165000, 84480, 0xa3dd1871 +0, 168750, 84480, 0x04cdcaf7 +0, 172500, 84480, 0x55f89c94 +0, 176250, 84480, 0xda657032 +0, 180000, 84480, 0x38ba7698 +0, 183750, 84480, 0x4d03a7f2 +0, 187500, 84480, 0x115d9035 +0, 191250, 84480, 0x24c6acc6 +0, 195000, 84480, 0xdd2bbcae +0, 198750, 84480, 0xb4fee0b9 +0, 202500, 84480, 0xc51c14e0 +0, 206250, 84480, 0xfb7737de +0, 210000, 84480, 0x38675fb0 +0, 213750, 84480, 0x4752c710 +0, 217500, 84480, 0xfeb7491b +0, 221250, 84480, 0xaa248122 +0, 225000, 84480, 0x9a4af87c +0, 228750, 84480, 0xedcf09df +0, 232500, 84480, 0x563a05df +0, 236250, 84480, 0x0dde1e03 +0, 240000, 84480, 0xd8f0ff65 +0, 243750, 84480, 0xbeb9ae1a +0, 247500, 84480, 0x416d1468 +0, 251250, 84480, 0x66c87d4c +0, 255000, 84480, 0xa67c0774 +0, 258750, 84480, 0xd8f8aec1 +0, 262500, 84480, 0xadfa502b +0, 266250, 84480, 0x50bf20e4 +0, 270000, 84480, 0xbcb3d8cc +0, 273750, 84480, 0xa54677d7 +0, 277500, 84480, 0x3566042d +0, 281250, 84480, 0x4c9eed57 +0, 285000, 84480, 0xc3b90e58 +0, 288750, 84480, 0x3c042bfa +0, 292500, 84480, 0x19f8e890 +0, 296250, 84480, 0xd3dacfb9 +0, 300000, 84480, 0x2365fc6f +0, 303750, 84480, 0xa2c19d00 +0, 307500, 84480, 0xce94336f +0, 311250, 84480, 0xfa9bcf14 +0, 315000, 84480, 0x24d6a243 +0, 318750, 84480, 0xae1c8854 +0, 322500, 84480, 0xbb8968bf +0, 326250, 84480, 0x6f923623 +0, 330000, 84480, 0x22e98029 +0, 333750, 84480, 0x8ac33af3 +0, 337500, 84480, 0x05947b6e +0, 341250, 84480, 0xfc35661a +0, 345000, 84480, 0x0e6b6e47 +0, 348750, 84480, 0x82c764bb +0, 352500, 84480, 0x57a36833 +0, 356250, 84480, 0xc8dd690a +0, 360000, 84480, 0x02c47232 +0, 363750, 84480, 0x6645715d +0, 367500, 84480, 0xc64860f7 +0, 371250, 84480, 0x4f5614b3 +0, 375000, 84480, 0xa70842ca +0, 378750, 84480, 0x379d8458 +0, 382500, 84480, 0xa14701cf +0, 386250, 84480, 0xad1aa2b2 +0, 390000, 84480, 0xee28f320 +0, 393750, 84480, 0x505801e9 +0, 397500, 84480, 0x7947233b +0, 401250, 84480, 0x3ce72a9d +0, 405000, 84480, 0xa6834e64 +0, 408750, 84480, 0xfebf4d70 +0, 412500, 84480, 0x4a0775e2 +0, 416250, 84480, 0x9d7e945b +0, 420000, 84480, 0xaa9eadd9 +0, 423750, 84480, 0xaa85c9b1 +0, 427500, 84480, 0xa005edaf +0, 431250, 84480, 0x7fc4e5cc +0, 435000, 84480, 0xb0f6e8d1 +0, 438750, 84480, 0x9ef9f330 +0, 442500, 84480, 0xbe14ff1f +0, 446250, 84480, 0xd494048c +0, 450000, 84480, 0x046166a7 +0, 453750, 84480, 0x052a09b2 +0, 457500, 84480, 0x71fff4ab +0, 461250, 84480, 0xb9684e41 +0, 465000, 84480, 0x1ddce068 +0, 468750, 84480, 0xb9de300e +0, 472500, 84480, 0x13962590 +0, 476250, 84480, 0xde79482f +0, 480000, 84480, 0x7d1ca064 +0, 483750, 84480, 0x7e1de54e From 5872c781222d5f61b69a511ea6b024d4cab0aaf6 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Mon, 21 Nov 2011 21:14:42 +0100 Subject: [PATCH 06/15] cdg: skip packets that don't contain a cdg command. Signed-off-by: Anton Khirnov --- libavformat/cdg.c | 9 +++- tests/ref/fate/cdgraphics | 88 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 1 deletion(-) diff --git a/libavformat/cdg.c b/libavformat/cdg.c index b60ea3710a..b6caa5129d 100644 --- a/libavformat/cdg.c +++ b/libavformat/cdg.c @@ -22,6 +22,8 @@ #include "avformat.h" #define CDG_PACKET_SIZE 24 +#define CDG_COMMAND 0x09 +#define CDG_MASK 0x3F static int read_header(AVFormatContext *s, AVFormatParameters *ap) { @@ -49,7 +51,12 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt) { int ret; - ret = av_get_packet(s->pb, pkt, CDG_PACKET_SIZE); + while (1) { + ret = av_get_packet(s->pb, pkt, CDG_PACKET_SIZE); + if (ret < 1 || (pkt->data[0] & CDG_MASK) == CDG_COMMAND) + break; + av_free_packet(pkt); + } pkt->stream_index = 0; return ret; diff --git a/tests/ref/fate/cdgraphics b/tests/ref/fate/cdgraphics index 17489de78e..10873fd413 100644 --- a/tests/ref/fate/cdgraphics +++ b/tests/ref/fate/cdgraphics @@ -210,3 +210,91 @@ 0, 62700, 194400, 0x1b75a275 0, 63000, 194400, 0xedd1a572 0, 63300, 194400, 0x55daad6a +0, 63600, 194400, 0xcb93b067 +0, 63900, 194400, 0x5888ba5d +0, 64200, 194400, 0x2c11c84f +0, 64500, 194400, 0x0fbae334 +0, 64800, 194400, 0x773fed2a +0, 65100, 194400, 0x2f87fc1b +0, 65400, 194400, 0xe8120521 +0, 65700, 194400, 0x64ac0f17 +0, 66000, 194400, 0xba531c0a +0, 66300, 194400, 0xf49433f2 +0, 66600, 194400, 0x79e234f1 +0, 66900, 194400, 0x043937ee +0, 67200, 194400, 0x9e6141e4 +0, 67500, 194400, 0x34204fd6 +0, 67800, 194400, 0xa1dd60c5 +0, 68100, 194400, 0x12b36eb7 +0, 68400, 194400, 0x68987aab +0, 68700, 194400, 0x3207889d +0, 69000, 194400, 0x3bb59194 +0, 69300, 194400, 0x0a119f86 +0, 69600, 194400, 0x472bab7a +0, 69900, 194400, 0x7364c85d +0, 70200, 194400, 0xa812d84d +0, 70500, 194400, 0xf384f530 +0, 70800, 194400, 0x1546052f +0, 71100, 194400, 0xeb611a1a +0, 71400, 194400, 0xc39d250f +0, 71700, 194400, 0x7bd73301 +0, 72000, 194400, 0x10f73cf7 +0, 72300, 194400, 0x95dc55de +0, 72600, 194400, 0x392e61d2 +0, 72900, 194400, 0x113c7bb8 +0, 73200, 194400, 0x17128fa4 +0, 73500, 194400, 0xf95e9b98 +0, 73800, 194400, 0xdc47aa89 +0, 74100, 194400, 0xea5dc073 +0, 74400, 194400, 0x8dfadc57 +0, 74700, 194400, 0xe5c3e84b +0, 75000, 194400, 0x8952f43f +0, 75300, 194400, 0xec9e0240 +0, 75600, 194400, 0x8f460c36 +0, 75900, 194400, 0xd43e182a +0, 76200, 194400, 0xb00b2919 +0, 76500, 194400, 0xc9f6350d +0, 76800, 194400, 0x87ca44fd +0, 77100, 194400, 0xa6a250f1 +0, 77400, 194400, 0x34fa60e1 +0, 77700, 194400, 0xe1a372cf +0, 78000, 194400, 0xc80785bc +0, 78300, 194400, 0x43e297aa +0, 78600, 194400, 0x7e8ea49d +0, 78900, 194400, 0xd009b091 +0, 79200, 194400, 0x9126bc85 +0, 79500, 194400, 0x175ad36e +0, 79800, 194400, 0xf9dae160 +0, 80100, 194400, 0x1b98f948 +0, 80400, 194400, 0xa6c5133d +0, 80700, 194400, 0xf5d42729 +0, 81000, 194400, 0x8cfe311f +0, 81300, 194400, 0x18733e12 +0, 81600, 194400, 0x24ac50ff +0, 81900, 194400, 0x0d1c64eb +0, 82200, 194400, 0xde947cd3 +0, 82500, 194400, 0x08268dc2 +0, 82800, 194400, 0xfec69fb0 +0, 83100, 194400, 0xba83aba4 +0, 83400, 194400, 0xfbe2bc93 +0, 83700, 194400, 0xe22fcc83 +0, 84000, 194400, 0x050fcf80 +0, 84300, 194400, 0xee1ed778 +0, 84600, 194400, 0xb44cda75 +0, 84900, 194400, 0xa29fe46b +0, 85200, 194400, 0xa99bf55a +0, 85500, 194400, 0x4f840d51 +0, 85800, 194400, 0x58941945 +0, 86100, 194400, 0x62cb2638 +0, 86400, 194400, 0x22ee312d +0, 86700, 194400, 0xea8f3925 +0, 87000, 194400, 0xed294c12 +0, 87300, 194400, 0xafa75e00 +0, 87600, 194400, 0x19d45ffe +0, 87900, 194400, 0x7fcf61fc +0, 88200, 194400, 0x2c126df0 +0, 88500, 194400, 0x331379e4 +0, 88800, 194400, 0x99fe8cd1 +0, 89100, 194400, 0xa5ec98c5 +0, 89400, 194400, 0xac68a6b7 +0, 89700, 194400, 0x28e6b2ab From 3eedd29bd7df6f21a79e1a67a6d905049996d2ec Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 21 Nov 2011 21:22:44 +0100 Subject: [PATCH 07/15] bethsoftvideo: return proper consumed size for palette packets. Also check for sufficient packet size. --- libavcodec/bethsoftvideo.c | 10 ++- tests/ref/fate/bethsoft-vid | 141 ++++++++++++++++++------------------ 2 files changed, 78 insertions(+), 73 deletions(-) diff --git a/libavcodec/bethsoftvideo.c b/libavcodec/bethsoftvideo.c index bd21dbff63..f4020d6ee5 100644 --- a/libavcodec/bethsoftvideo.c +++ b/libavcodec/bethsoftvideo.c @@ -46,14 +46,19 @@ static av_cold int bethsoftvid_decode_init(AVCodecContext *avctx) return 0; } -static void set_palette(AVFrame * frame, const uint8_t * palette_buffer) +static int set_palette(AVFrame * frame, const uint8_t * palette_buffer, int buf_size) { uint32_t * palette = (uint32_t *)frame->data[1]; int a; + + if (buf_size < 256*3) + return AVERROR_INVALIDDATA; + for(a = 0; a < 256; a++){ palette[a] = AV_RB24(&palette_buffer[a * 3]) * 4; } frame->palette_has_changed = 1; + return 256*3; } static int bethsoftvid_decode_frame(AVCodecContext *avctx, @@ -80,8 +85,7 @@ static int bethsoftvid_decode_frame(AVCodecContext *avctx, switch(block_type = *buf++){ case PALETTE_BLOCK: - set_palette(&vid->frame, buf); - return 0; + return set_palette(&vid->frame, buf, buf_size); case VIDEO_YOFF_P_FRAME: yoffset = bytestream_get_le16(&buf); if(yoffset >= avctx->height) diff --git a/tests/ref/fate/bethsoft-vid b/tests/ref/fate/bethsoft-vid index 92c694b19e..0886bfcf48 100644 --- a/tests/ref/fate/bethsoft-vid +++ b/tests/ref/fate/bethsoft-vid @@ -1,90 +1,91 @@ -0, 0, 192000, 0x00000000 +0, 0, 192000, 0xdecc683b 1, 0, 1480, 0x00000000 -0, 1500, 192000, 0x01a6cf45 -0, 3000, 192000, 0xd07d57e9 -0, 4500, 192000, 0x3cb1dff5 +0, 1500, 192000, 0x00000000 +0, 3000, 192000, 0x01a6cf45 +0, 4500, 192000, 0xd07d57e9 1, 5994, 1480, 0x20a92bd4 -0, 6000, 192000, 0xd1aaa8fb -0, 7500, 192000, 0x75f526cd -0, 9000, 192000, 0x0f673577 -0, 10500, 192000, 0x897b6781 +0, 6000, 192000, 0x3cb1dff5 +0, 7500, 192000, 0xd1aaa8fb +0, 9000, 192000, 0x75f526cd +0, 10500, 192000, 0x0f673577 1, 11988, 1850, 0xa9e48a74 -0, 12000, 192000, 0x81e6b7f7 -0, 13500, 192000, 0x1f45ce61 -0, 15000, 192000, 0x5a0772a6 -0, 16500, 192000, 0xf78732b3 -0, 18000, 192000, 0x8427f9e5 +0, 12000, 192000, 0x897b6781 +0, 13500, 192000, 0x81e6b7f7 +0, 15000, 192000, 0x1f45ce61 +0, 16500, 192000, 0x5a0772a6 +0, 18000, 192000, 0xf78732b3 1, 19481, 1480, 0x23ecd018 -0, 19500, 192000, 0x40473f11 -0, 21000, 192000, 0x173ceebe -0, 22500, 192000, 0x136b9516 -0, 24000, 192000, 0x138d11ae +0, 19500, 192000, 0x8427f9e5 +0, 21000, 192000, 0x40473f11 +0, 22500, 192000, 0x173ceebe +0, 24000, 192000, 0x136b9516 1, 25475, 1480, 0x206bb915 -0, 25500, 192000, 0x063dbff3 -0, 27000, 192000, 0x5280852f -0, 28500, 192000, 0x99943a8f -0, 30000, 192000, 0x0330a728 +0, 25500, 192000, 0x138d11ae +0, 27000, 192000, 0x063dbff3 +0, 28500, 192000, 0x5280852f +0, 30000, 192000, 0x99943a8f 1, 31469, 1850, 0xb0e10e75 -0, 31500, 192000, 0x5d35467d -0, 33000, 192000, 0xfd436343 -0, 34500, 192000, 0xc323fcfe -0, 36000, 192000, 0x2a1530a0 -0, 37500, 192000, 0xbd43bb60 +0, 31500, 192000, 0x0330a728 +0, 33000, 192000, 0x5d35467d +0, 34500, 192000, 0xfd436343 +0, 36000, 192000, 0xc323fcfe +0, 37500, 192000, 0x2a1530a0 1, 38961, 1480, 0x8d9baedd -0, 39000, 192000, 0xa47f5eab -0, 40500, 192000, 0xff17f5f7 -0, 42000, 192000, 0xb4140b55 -0, 43500, 192000, 0xb8782cc4 +0, 39000, 192000, 0xbd43bb60 +0, 40500, 192000, 0xa47f5eab +0, 42000, 192000, 0xff17f5f7 +0, 43500, 192000, 0xb4140b55 1, 44955, 1480, 0xb802aae1 -0, 45000, 192000, 0x92975b8b -0, 46500, 192000, 0xf42a64d6 -0, 48000, 192000, 0x2cc7077d -0, 49500, 192000, 0x00080cc8 +0, 45000, 192000, 0xb8782cc4 +0, 46500, 192000, 0x92975b8b +0, 48000, 192000, 0xf42a64d6 +0, 49500, 192000, 0x2cc7077d 1, 50950, 1480, 0xecd7b5cc -0, 51000, 192000, 0x584b48f3 -0, 52500, 192000, 0xd68f57da -0, 54000, 192000, 0x60158422 -0, 55500, 192000, 0xd7fb89e6 +0, 51000, 192000, 0x00080cc8 +0, 52500, 192000, 0x584b48f3 +0, 54000, 192000, 0xd68f57da +0, 55500, 192000, 0x60158422 1, 56944, 1850, 0x16861355 -0, 57000, 192000, 0x97f1c76a -0, 58500, 192000, 0x46c4bb9e -0, 60000, 192000, 0xd32f9b66 -0, 61500, 192000, 0x74f43886 -0, 63000, 192000, 0x3c4e47df +0, 57000, 192000, 0xd7fb89e6 +0, 58500, 192000, 0x97f1c76a +0, 60000, 192000, 0x46c4bb9e +0, 61500, 192000, 0xd32f9b66 +0, 63000, 192000, 0x74f43886 1, 64436, 1480, 0xa51690bd -0, 64500, 192000, 0xb5ac0a58 -0, 66000, 192000, 0xcc572b31 -0, 67500, 192000, 0xb1739d26 -0, 69000, 192000, 0x73da5473 +0, 64500, 192000, 0x3c4e47df +0, 66000, 192000, 0xb5ac0a58 +0, 67500, 192000, 0xcc572b31 +0, 69000, 192000, 0xb1739d26 1, 70430, 1480, 0xdd0b90d1 -0, 70500, 192000, 0x5f79f5bc -0, 72000, 192000, 0x0affc0a0 -0, 73500, 192000, 0x2b4d5c1c -0, 75000, 192000, 0x309b41bc +0, 70500, 192000, 0x73da5473 +0, 72000, 192000, 0x5f79f5bc +0, 73500, 192000, 0x0affc0a0 +0, 75000, 192000, 0x2b4d5c1c 1, 76424, 1850, 0x3ce6e333 -0, 76500, 192000, 0xd42b6424 -0, 78000, 192000, 0x4795c948 -0, 79500, 192000, 0xbc1a3a8b -0, 81000, 192000, 0x16529c5b -0, 82500, 192000, 0x6b1b31ba +0, 76500, 192000, 0x309b41bc +0, 78000, 192000, 0xd42b6424 +0, 79500, 192000, 0x4795c948 +0, 81000, 192000, 0xbc1a3a8b +0, 82500, 192000, 0x16529c5b 1, 83917, 1480, 0xf8ce8ea3 -0, 84000, 192000, 0x569182ce -0, 85500, 192000, 0xe6ea9866 -0, 87000, 192000, 0x102c6076 -0, 88500, 192000, 0xb29f527a +0, 84000, 192000, 0x6b1b31ba +0, 85500, 192000, 0x569182ce +0, 87000, 192000, 0xe6ea9866 +0, 88500, 192000, 0x102c6076 1, 89911, 1480, 0xda4597af -0, 90000, 192000, 0x040b4eee -0, 91500, 192000, 0x92574f4a -0, 93000, 192000, 0x1e8acdce -0, 94500, 192000, 0x1becf516 +0, 90000, 192000, 0xb29f527a +0, 91500, 192000, 0x040b4eee +0, 93000, 192000, 0x92574f4a +0, 94500, 192000, 0x1e8acdce 1, 95905, 1480, 0x918f7cb3 -0, 96000, 192000, 0xb62e9776 -0, 97500, 192000, 0xed37a08e -0, 99000, 192000, 0xc0719912 -0, 100500, 192000, 0x24cf7a7e +0, 96000, 192000, 0x1becf516 +0, 97500, 192000, 0xb62e9776 +0, 99000, 192000, 0xed37a08e +0, 100500, 192000, 0xc0719912 1, 101899, 1850, 0xca6edb15 -0, 102000, 192000, 0x0307f62f -0, 103500, 192000, 0x79b7417b +0, 102000, 192000, 0x24cf7a7e +0, 103500, 192000, 0x0307f62f +0, 105000, 192000, 0x79b7417b 1, 109392, 1480, 0xba279597 1, 115386, 1480, 0xc5a38a9e 1, 121380, 1850, 0x8147eef5 From af8ad892bf846425a86872d01162a59a6a31337c Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 21 Nov 2011 21:30:23 +0100 Subject: [PATCH 08/15] avconv: use the same behavior when decoding audio/video/subs I.e. if the packet was only partially consumed, pass the rest of it into the decoder again. Also simplify the code so it's the same for video/audio/subs. --- avconv.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/avconv.c b/avconv.c index ff26bdd0db..1c17be81b2 100644 --- a/avconv.c +++ b/avconv.c @@ -1635,15 +1635,13 @@ static int transcode_audio(InputStream *ist, AVPacket *pkt, int *got_output) pkt); if (ret < 0) return ret; - pkt->data += ret; - pkt->size -= ret; *got_output = decoded_data_size > 0; /* Some bug in mpeg audio decoder gives */ /* decoded_data_size < 0, it seems they are overflows */ if (!*got_output) { /* no audio frame */ - return 0; + return ret; } decoded_data_buf = (uint8_t *)samples; @@ -1716,7 +1714,7 @@ static int transcode_audio(InputStream *ist, AVPacket *pkt, int *got_output) do_audio_out(output_files[ost->file_index].ctx, ost, ist, decoded_data_buf, decoded_data_size); } - return 0; + return ret; } static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int64_t *pkt_pts) @@ -1744,7 +1742,7 @@ static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int if (!*got_output) { /* no picture yet */ av_freep(&decoded_frame); - return 0; + return ret; } ist->next_pts = ist->pts = guess_correct_pts(&ist->pts_ctx, decoded_frame->pkt_pts, decoded_frame->pkt_dts); @@ -1820,9 +1818,7 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output) if (ret < 0) return ret; if (!*got_output) - return 0; - - pkt->size = 0; + return ret; rate_emu_sleep(ist); @@ -1836,7 +1832,7 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output) } avsubtitle_free(&subtitle); - return 0; + return ret; } /* pkt = NULL means EOF (needed to flush decoder buffers) */ @@ -1895,13 +1891,12 @@ static int output_packet(InputStream *ist, int ist_index, if (ret < 0) return ret; + avpkt.data += ret; + avpkt.size -= ret; if (!got_output) { - if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) - continue; - goto discard_packet; + continue; } } - discard_packet: /* handle stream copy */ if (!ist->decoding_needed) { From ffa0674e5a3bc839c28794eedaa0b3151e7fe5f2 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 22 Nov 2011 07:13:29 +0100 Subject: [PATCH 09/15] avconv: declare some variables in blocks where they are used --- avconv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/avconv.c b/avconv.c index 1c17be81b2..c31aa459ed 100644 --- a/avconv.c +++ b/avconv.c @@ -1840,8 +1840,7 @@ static int output_packet(InputStream *ist, int ist_index, OutputStream *ost_table, int nb_ostreams, const AVPacket *pkt) { - OutputStream *ost; - int ret = 0, i; + int i; int got_output; int64_t pkt_pts = AV_NOPTS_VALUE; @@ -1867,6 +1866,7 @@ static int output_packet(InputStream *ist, int ist_index, //while we have more to decode or while the decoder did output something on EOF while (ist->decoding_needed && (avpkt.size > 0 || (!pkt && got_output))) { + int ret = 0; handle_eof: ist->pts= ist->next_pts; @@ -1917,7 +1917,7 @@ static int output_packet(InputStream *ist, int ist_index, } } for (i = 0; pkt && i < nb_ostreams; i++) { - ost = &ost_table[i]; + OutputStream *ost = &ost_table[i]; if (!check_output_constraints(ist, ost) || ost->encoding_needed) continue; From 8b0268a85388d26c8e2e70e6d714c8ff54e50eae Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 22 Nov 2011 07:16:23 +0100 Subject: [PATCH 10/15] avconv: formatting fixes in output_packet() --- avconv.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/avconv.c b/avconv.c index c31aa459ed..dfdeba66ac 100644 --- a/avconv.c +++ b/avconv.c @@ -1843,11 +1843,10 @@ static int output_packet(InputStream *ist, int ist_index, int i; int got_output; int64_t pkt_pts = AV_NOPTS_VALUE; - AVPacket avpkt; - if(ist->next_pts == AV_NOPTS_VALUE) - ist->next_pts= ist->pts; + if (ist->next_pts == AV_NOPTS_VALUE) + ist->next_pts = ist->pts; if (pkt == NULL) { /* EOF handling */ @@ -1868,12 +1867,14 @@ static int output_packet(InputStream *ist, int ist_index, while (ist->decoding_needed && (avpkt.size > 0 || (!pkt && got_output))) { int ret = 0; handle_eof: - ist->pts= ist->next_pts; - if(avpkt.size && avpkt.size != pkt->size) + ist->pts = ist->next_pts; + + if (avpkt.size && avpkt.size != pkt->size) { av_log(NULL, ist->showed_multi_packet_warning ? AV_LOG_VERBOSE : AV_LOG_WARNING, "Multiple frames in a packet from stream %d\n", pkt->stream_index); - ist->showed_multi_packet_warning=1; + ist->showed_multi_packet_warning = 1; + } switch(ist->st->codec->codec_type) { case AVMEDIA_TYPE_AUDIO: From 06d4e2fa5ae6d9dfe85d461194d38759acffb9f8 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 22 Nov 2011 07:17:38 +0100 Subject: [PATCH 11/15] avconv: remove a now unused parameter from output_packet(). --- avconv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/avconv.c b/avconv.c index dfdeba66ac..be870a5273 100644 --- a/avconv.c +++ b/avconv.c @@ -1836,7 +1836,7 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output) } /* pkt = NULL means EOF (needed to flush decoder buffers) */ -static int output_packet(InputStream *ist, int ist_index, +static int output_packet(InputStream *ist, OutputStream *ost_table, int nb_ostreams, const AVPacket *pkt) { @@ -2513,7 +2513,7 @@ static int transcode(OutputFile *output_files, } //fprintf(stderr,"read #%d.%d size=%d\n", ist->file_index, ist->st->index, pkt.size); - if (output_packet(ist, ist_index, output_streams, nb_output_streams, &pkt) < 0) { + if (output_packet(ist, output_streams, nb_output_streams, &pkt) < 0) { av_log(NULL, AV_LOG_ERROR, "Error while decoding stream #%d:%d\n", ist->file_index, ist->st->index); @@ -2534,7 +2534,7 @@ static int transcode(OutputFile *output_files, for (i = 0; i < nb_input_streams; i++) { ist = &input_streams[i]; if (ist->decoding_needed) { - output_packet(ist, i, output_streams, nb_output_streams, NULL); + output_packet(ist, output_streams, nb_output_streams, NULL); } } flush_encoders(output_streams, nb_output_streams); From c1848c4b26fda0c5060dceef6c45666e31345032 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Wed, 23 Nov 2011 15:32:50 -0500 Subject: [PATCH 12/15] pcmdec: remove unneeded resetting of samples pointer --- libavcodec/pcm.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c index c9eb543e92..0e9e685989 100644 --- a/libavcodec/pcm.c +++ b/libavcodec/pcm.c @@ -382,7 +382,6 @@ static int pcm_decode_frame(AVCodecContext *avctx, #endif /* HAVE_BIGENDIAN */ case CODEC_ID_PCM_U8: memcpy(samples, src, n*sample_size); - samples += n * sample_size; break; case CODEC_ID_PCM_ZORK: for (; n > 0; n--) { @@ -428,7 +427,6 @@ static int pcm_decode_frame(AVCodecContext *avctx, } break; } - samples = (uint8_t *) dst_int32_t; break; } case CODEC_ID_PCM_LXF: @@ -451,7 +449,6 @@ static int pcm_decode_frame(AVCodecContext *avctx, ((src8[2] & 0xF0) << 8) | (src8[4] << 4) | (src8[3] >> 4); } } - samples = (uint8_t *) dst_int32_t; break; } default: From aa38cff2c6fdc1c0a7245f8a2aef5f6d4d2881d1 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Thu, 24 Nov 2011 00:18:33 +0100 Subject: [PATCH 13/15] avconv: fix segfault at EOF with delayed pictures At EOF it makes no sense to modify avpkt.{data,size} in output_packet since no data is consumed. Frame threading with more than 1 threads hits the segfault. --- avconv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/avconv.c b/avconv.c index be870a5273..6f64bc80a4 100644 --- a/avconv.c +++ b/avconv.c @@ -1892,8 +1892,11 @@ static int output_packet(InputStream *ist, if (ret < 0) return ret; - avpkt.data += ret; - avpkt.size -= ret; + // touch data and size only if not EOF + if (pkt) { + avpkt.data += ret; + avpkt.size -= ret; + } if (!got_output) { continue; } From 8889cc4f5b767b323901115a92318a024336e2a1 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Sat, 12 Nov 2011 15:58:40 -0500 Subject: [PATCH 14/15] libavutil: add planar sample formats and av_sample_fmt_is_planar() --- doc/APIchanges | 3 +++ libavutil/avutil.h | 2 +- libavutil/samplefmt.c | 23 ++++++++++++++++++----- libavutil/samplefmt.h | 15 +++++++++++++++ 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 026e5ad539..0e5fd68ff9 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -13,6 +13,9 @@ libavutil: 2011-04-18 API changes, most recent first: +2011-xx-xx - xxxxxxx - lavu 51.17.0 + Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h. + 2011-xx-xx - xxxxxxx - lavc 53.21.0 Move some AVCodecContext fields to a new private struct, AVCodecInternal, which is accessed from a new field, AVCodecContext.internal. diff --git a/libavutil/avutil.h b/libavutil/avutil.h index 5381a41d73..0c256ca765 100644 --- a/libavutil/avutil.h +++ b/libavutil/avutil.h @@ -153,7 +153,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 51 -#define LIBAVUTIL_VERSION_MINOR 16 +#define LIBAVUTIL_VERSION_MINOR 17 #define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ diff --git a/libavutil/samplefmt.c b/libavutil/samplefmt.c index 5b0bfa0257..6fc3b7e467 100644 --- a/libavutil/samplefmt.c +++ b/libavutil/samplefmt.c @@ -25,15 +25,21 @@ typedef struct SampleFmtInfo { const char *name; int bits; + int planar; } SampleFmtInfo; /** this table gives more information about formats */ static const SampleFmtInfo sample_fmt_info[AV_SAMPLE_FMT_NB] = { - [AV_SAMPLE_FMT_U8] = { .name = "u8", .bits = 8 }, - [AV_SAMPLE_FMT_S16] = { .name = "s16", .bits = 16 }, - [AV_SAMPLE_FMT_S32] = { .name = "s32", .bits = 32 }, - [AV_SAMPLE_FMT_FLT] = { .name = "flt", .bits = 32 }, - [AV_SAMPLE_FMT_DBL] = { .name = "dbl", .bits = 64 }, + [AV_SAMPLE_FMT_U8] = { .name = "u8", .bits = 8, .planar = 0 }, + [AV_SAMPLE_FMT_S16] = { .name = "s16", .bits = 16, .planar = 0 }, + [AV_SAMPLE_FMT_S32] = { .name = "s32", .bits = 32, .planar = 0 }, + [AV_SAMPLE_FMT_FLT] = { .name = "flt", .bits = 32, .planar = 0 }, + [AV_SAMPLE_FMT_DBL] = { .name = "dbl", .bits = 64, .planar = 0 }, + [AV_SAMPLE_FMT_U8P] = { .name = "u8p", .bits = 8, .planar = 1 }, + [AV_SAMPLE_FMT_S16P] = { .name = "s16p", .bits = 16, .planar = 1 }, + [AV_SAMPLE_FMT_S32P] = { .name = "s32p", .bits = 32, .planar = 1 }, + [AV_SAMPLE_FMT_FLTP] = { .name = "fltp", .bits = 32, .planar = 1 }, + [AV_SAMPLE_FMT_DBLP] = { .name = "dblp", .bits = 64, .planar = 1 }, }; const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt) @@ -79,3 +85,10 @@ int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt) 0 : sample_fmt_info[sample_fmt].bits; } #endif + +int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt) +{ + if (sample_fmt < 0 || sample_fmt >= AV_SAMPLE_FMT_NB) + return 0; + return sample_fmt_info[sample_fmt].planar; +} diff --git a/libavutil/samplefmt.h b/libavutil/samplefmt.h index e38214927f..ce7ffc737b 100644 --- a/libavutil/samplefmt.h +++ b/libavutil/samplefmt.h @@ -31,6 +31,13 @@ enum AVSampleFormat { AV_SAMPLE_FMT_S32, ///< signed 32 bits AV_SAMPLE_FMT_FLT, ///< float AV_SAMPLE_FMT_DBL, ///< double + + AV_SAMPLE_FMT_U8P, ///< unsigned 8 bits, planar + AV_SAMPLE_FMT_S16P, ///< signed 16 bits, planar + AV_SAMPLE_FMT_S32P, ///< signed 32 bits, planar + AV_SAMPLE_FMT_FLTP, ///< float, planar + AV_SAMPLE_FMT_DBLP, ///< double, planar + AV_SAMPLE_FMT_NB ///< Number of sample formats. DO NOT USE if linking dynamically }; @@ -77,4 +84,12 @@ int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt); */ int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt); +/** + * Check if the sample format is planar. + * + * @param sample_fmt the sample format to inspect + * @return 1 if the sample format is planar, 0 if it is interleaved + */ +int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt); + #endif /* AVUTIL_SAMPLEFMT_H */ From bbb46f3ec7128d8a624f2aa5b4f99ec44c0b9567 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Sat, 12 Nov 2011 15:43:43 -0500 Subject: [PATCH 15/15] libavutil: add utility functions to simplify allocation of audio buffers. Based on code by Stefano Sabatini. --- doc/APIchanges | 4 +++ libavutil/avutil.h | 2 +- libavutil/samplefmt.c | 65 +++++++++++++++++++++++++++++++++++++++++++ libavutil/samplefmt.h | 53 +++++++++++++++++++++++++++++++++++ 4 files changed, 123 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 0e5fd68ff9..8efee0c213 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -13,6 +13,10 @@ libavutil: 2011-04-18 API changes, most recent first: +2011-xx-xx - xxxxxxx - lavu 51.18.0 + Add av_samples_get_buffer_size(), av_samples_fill_arrays(), and + av_samples_alloc(), to samplefmt.h. + 2011-xx-xx - xxxxxxx - lavu 51.17.0 Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h. diff --git a/libavutil/avutil.h b/libavutil/avutil.h index 0c256ca765..a93a0799a7 100644 --- a/libavutil/avutil.h +++ b/libavutil/avutil.h @@ -153,7 +153,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 51 -#define LIBAVUTIL_VERSION_MINOR 17 +#define LIBAVUTIL_VERSION_MINOR 18 #define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ diff --git a/libavutil/samplefmt.c b/libavutil/samplefmt.c index 6fc3b7e467..f38d05e426 100644 --- a/libavutil/samplefmt.c +++ b/libavutil/samplefmt.c @@ -92,3 +92,68 @@ int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt) return 0; return sample_fmt_info[sample_fmt].planar; } + +int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples, + enum AVSampleFormat sample_fmt, int align) +{ + int line_size; + int sample_size = av_get_bytes_per_sample(sample_fmt); + int planar = av_sample_fmt_is_planar(sample_fmt); + + /* validate parameter ranges */ + if (!sample_size || nb_samples <= 0 || nb_channels <= 0) + return AVERROR(EINVAL); + + /* check for integer overflow */ + if (nb_channels > INT_MAX / align || + (int64_t)nb_channels * nb_samples > (INT_MAX - (align * nb_channels)) / sample_size) + return AVERROR(EINVAL); + + line_size = planar ? FFALIGN(nb_samples * sample_size, align) : + FFALIGN(nb_samples * sample_size * nb_channels, align); + if (linesize) + *linesize = line_size; + + return planar ? line_size * nb_channels : line_size; +} + +int av_samples_fill_arrays(uint8_t **audio_data, int *linesize, + uint8_t *buf, int nb_channels, int nb_samples, + enum AVSampleFormat sample_fmt, int align) +{ + int ch, planar, buf_size; + + planar = av_sample_fmt_is_planar(sample_fmt); + buf_size = av_samples_get_buffer_size(linesize, nb_channels, nb_samples, + sample_fmt, align); + if (buf_size < 0) + return buf_size; + + audio_data[0] = buf; + for (ch = 1; planar && ch < nb_channels; ch++) + audio_data[ch] = audio_data[ch-1] + *linesize; + + return 0; +} + +int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels, + int nb_samples, enum AVSampleFormat sample_fmt, int align) +{ + uint8_t *buf; + int size = av_samples_get_buffer_size(NULL, nb_channels, nb_samples, + sample_fmt, align); + if (size < 0) + return size; + + buf = av_mallocz(size); + if (!buf) + return AVERROR(ENOMEM); + + size = av_samples_fill_arrays(audio_data, linesize, buf, nb_channels, + nb_samples, sample_fmt, align); + if (size < 0) { + av_free(buf); + return size; + } + return 0; +} diff --git a/libavutil/samplefmt.h b/libavutil/samplefmt.h index ce7ffc737b..b6715561d4 100644 --- a/libavutil/samplefmt.h +++ b/libavutil/samplefmt.h @@ -92,4 +92,57 @@ int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt); */ int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt); +/** + * Get the required buffer size for the given audio parameters. + * + * @param[out] linesize calculated linesize, may be NULL + * @param nb_channels the number of channels + * @param nb_samples the number of samples in a single channel + * @param sample_fmt the sample format + * @return required buffer size, or negative error code on failure + */ +int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples, + enum AVSampleFormat sample_fmt, int align); + +/** + * Fill channel data pointers and linesize for samples with sample + * format sample_fmt. + * + * The pointers array is filled with the pointers to the samples data: + * for planar, set the start point of each channel's data within the buffer, + * for packed, set the start point of the entire buffer only. + * + * The linesize array is filled with the aligned size of each channel's data + * buffer for planar layout, or the aligned size of the buffer for all channels + * for packed layout. + * + * @param[out] audio_data array to be filled with the pointer for each channel + * @param[out] linesize calculated linesize + * @param buf the pointer to a buffer containing the samples + * @param nb_channels the number of channels + * @param nb_samples the number of samples in a single channel + * @param sample_fmt the sample format + * @param align buffer size alignment (1 = no alignment required) + * @return 0 on success or a negative error code on failure + */ +int av_samples_fill_arrays(uint8_t **audio_data, int *linesize, uint8_t *buf, + int nb_channels, int nb_samples, + enum AVSampleFormat sample_fmt, int align); + +/** + * Allocate a samples buffer for nb_samples samples, and fill data pointers and + * linesize accordingly. + * The allocated samples buffer can be freed by using av_freep(&audio_data[0]) + * + * @param[out] audio_data array to be filled with the pointer for each channel + * @param[out] linesize aligned size for audio buffer(s) + * @param nb_channels number of audio channels + * @param nb_samples number of samples per channel + * @param align buffer size alignment (1 = no alignment required) + * @return 0 on success or a negative error code on failure + * @see av_samples_fill_arrays() + */ +int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels, + int nb_samples, enum AVSampleFormat sample_fmt, int align); + #endif /* AVUTIL_SAMPLEFMT_H */