* rbultje/vp9-profile23-wip: libvpxdec: add 440 pixfmts. vp9: add profile 2/3 fate tests. vp9: add inter-frame profile 2/3 suport. vp9: add keyframe profile 2/3 support. vp9: parse profile 2/3 bitdepth in frame header. vp9: add profile 2/3 to exported profiles. fate: add/update reference files for 440 addition. swscale: add yuv440p10/12 pixfmts. lavc: add yuv440p10/12 formats to aligned pixfmt list. lavu: add yuv440p10/12 pixfmts. Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.7
| @@ -515,7 +515,8 @@ OBJS-$(CONFIG_VP6_DECODER) += vp6.o vp56.o vp56data.o vp56dsp.o \ | |||
| vp6dsp.o vp56rac.o | |||
| OBJS-$(CONFIG_VP7_DECODER) += vp8.o vp8dsp.o vp56rac.o | |||
| OBJS-$(CONFIG_VP8_DECODER) += vp8.o vp8dsp.o vp56rac.o | |||
| OBJS-$(CONFIG_VP9_DECODER) += vp9.o vp9dsp.o vp56rac.o | |||
| OBJS-$(CONFIG_VP9_DECODER) += vp9.o vp9dsp.o vp56rac.o vp9dsp_8bpp.o \ | |||
| vp9dsp_10bpp.o vp9dsp_12bpp.o | |||
| OBJS-$(CONFIG_VPLAYER_DECODER) += textdec.o ass.o | |||
| OBJS-$(CONFIG_VQA_DECODER) += vqavideo.o | |||
| OBJS-$(CONFIG_WAVPACK_DECODER) += wavpack.o | |||
| @@ -2914,6 +2914,8 @@ typedef struct AVCodecContext { | |||
| #define FF_PROFILE_VP9_0 0 | |||
| #define FF_PROFILE_VP9_1 1 | |||
| #define FF_PROFILE_VP9_2 2 | |||
| #define FF_PROFILE_VP9_3 3 | |||
| /** | |||
| * level | |||
| @@ -72,6 +72,11 @@ static int set_pix_fmt(AVCodecContext *avctx, struct vpx_image *img) | |||
| case VPX_IMG_FMT_I422: | |||
| avctx->pix_fmt = AV_PIX_FMT_YUV422P; | |||
| return 0; | |||
| #if VPX_IMAGE_ABI_VERSION >= 3 | |||
| case VPX_IMG_FMT_I440: | |||
| avctx->pix_fmt = AV_PIX_FMT_YUV440P; | |||
| return 0; | |||
| #endif | |||
| case VPX_IMG_FMT_I444: | |||
| avctx->pix_fmt = AV_PIX_FMT_YUV444P; | |||
| return 0; | |||
| @@ -96,6 +101,18 @@ static int set_pix_fmt(AVCodecContext *avctx, struct vpx_image *img) | |||
| } else { | |||
| return AVERROR_INVALIDDATA; | |||
| } | |||
| #if VPX_IMAGE_ABI_VERSION >= 3 | |||
| case VPX_IMG_FMT_I44016: | |||
| if (img->bit_depth == 10) { | |||
| avctx->pix_fmt = AV_PIX_FMT_YUV440P10LE; | |||
| return 0; | |||
| } else if (img->bit_depth == 12) { | |||
| avctx->pix_fmt = AV_PIX_FMT_YUV440P12LE; | |||
| return 0; | |||
| } else { | |||
| return AVERROR_INVALIDDATA; | |||
| } | |||
| #endif | |||
| case VPX_IMG_FMT_I44416: | |||
| if (img->bit_depth == 10) { | |||
| avctx->pix_fmt = AV_PIX_FMT_YUV444P10LE; | |||
| @@ -341,6 +341,10 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, | |||
| case AV_PIX_FMT_YUVA422P10BE: | |||
| case AV_PIX_FMT_YUVA422P16LE: | |||
| case AV_PIX_FMT_YUVA422P16BE: | |||
| case AV_PIX_FMT_YUV440P10LE: | |||
| case AV_PIX_FMT_YUV440P10BE: | |||
| case AV_PIX_FMT_YUV440P12LE: | |||
| case AV_PIX_FMT_YUV440P12BE: | |||
| case AV_PIX_FMT_YUV444P9LE: | |||
| case AV_PIX_FMT_YUV444P9BE: | |||
| case AV_PIX_FMT_YUV444P10LE: | |||
| @@ -40,6 +40,7 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| AVFrame *ref1 = tref1->f, *ref2; | |||
| int w1 = ref1->width, h1 = ref1->height, w2, h2; | |||
| ptrdiff_t ls_y = s->y_stride, ls_uv = s->uv_stride; | |||
| int bytesperpixel = BYTES_PER_PIXEL; | |||
| if (b->comp) { | |||
| tref2 = &s->refs[s->refidx[b->ref[1]]]; | |||
| @@ -138,7 +139,7 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| mc_luma_dir(s, mc[4][b->filter][0], s->dst[0], ls_y, | |||
| ref1->data[0], ref1->linesize[0], tref1, | |||
| row << 3, col << 3, &b->mv[0][0], 4, 8, w1, h1, 0); | |||
| mc_luma_dir(s, mc[4][b->filter][0], s->dst[0] + 4, ls_y, | |||
| mc_luma_dir(s, mc[4][b->filter][0], s->dst[0] + 4 * bytesperpixel, ls_y, | |||
| ref1->data[0], ref1->linesize[0], tref1, | |||
| row << 3, (col << 3) + 4, &b->mv[1][0], 4, 8, w1, h1, 0); | |||
| h1 = (h1 + s->ss_v) >> s->ss_v; | |||
| @@ -159,7 +160,8 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| row << (3 - s->ss_v), col << 3, | |||
| &b->mv[0][0], 4, 8 >> s->ss_v, w1, h1, 0); | |||
| mc_chroma_dir(s, mc[4][b->filter][0], | |||
| s->dst[1] + 4, s->dst[2] + 4, ls_uv, | |||
| s->dst[1] + 4 * bytesperpixel, | |||
| s->dst[2] + 4 * bytesperpixel, ls_uv, | |||
| ref1->data[1], ref1->linesize[1], | |||
| ref1->data[2], ref1->linesize[2], tref1, | |||
| row << (3 - s->ss_v), (col << 3) + 4, | |||
| @@ -170,7 +172,7 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| mc_luma_dir(s, mc[4][b->filter][1], s->dst[0], ls_y, | |||
| ref2->data[0], ref2->linesize[0], tref2, | |||
| row << 3, col << 3, &b->mv[0][1], 4, 8, w2, h2, 1); | |||
| mc_luma_dir(s, mc[4][b->filter][1], s->dst[0] + 4, ls_y, | |||
| mc_luma_dir(s, mc[4][b->filter][1], s->dst[0] + 4 * bytesperpixel, ls_y, | |||
| ref2->data[0], ref2->linesize[0], tref2, | |||
| row << 3, (col << 3) + 4, &b->mv[1][1], 4, 8, w2, h2, 1); | |||
| h2 = (h2 + s->ss_v) >> s->ss_v; | |||
| @@ -191,7 +193,8 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| row << (3 - s->ss_v), col << 3, | |||
| &b->mv[0][1], 4, 8 >> s->ss_v, w2, h2, 1); | |||
| mc_chroma_dir(s, mc[4][b->filter][1], | |||
| s->dst[1] + 4, s->dst[2] + 4, ls_uv, | |||
| s->dst[1] + 4 * bytesperpixel, | |||
| s->dst[2] + 4 * bytesperpixel, ls_uv, | |||
| ref2->data[1], ref2->linesize[1], | |||
| ref2->data[2], ref2->linesize[2], tref2, | |||
| row << (3 - s->ss_v), (col << 3) + 4, | |||
| @@ -206,7 +209,7 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| mc_luma_dir(s, mc[4][b->filter][0], s->dst[0], ls_y, | |||
| ref1->data[0], ref1->linesize[0], tref1, | |||
| row << 3, col << 3, &b->mv[0][0], 4, 4, w1, h1, 0); | |||
| mc_luma_dir(s, mc[4][b->filter][0], s->dst[0] + 4, ls_y, | |||
| mc_luma_dir(s, mc[4][b->filter][0], s->dst[0] + 4 * bytesperpixel, ls_y, | |||
| ref1->data[0], ref1->linesize[0], tref1, | |||
| row << 3, (col << 3) + 4, &b->mv[1][0], 4, 4, w1, h1, 0); | |||
| mc_luma_dir(s, mc[4][b->filter][0], | |||
| @@ -214,7 +217,7 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| ref1->data[0], ref1->linesize[0], tref1, | |||
| (row << 3) + 4, col << 3, &b->mv[2][0], 4, 4, w1, h1, 0); | |||
| mc_luma_dir(s, mc[4][b->filter][0], | |||
| s->dst[0] + 4 * ls_y + 4, ls_y, | |||
| s->dst[0] + 4 * ls_y + 4 * bytesperpixel, ls_y, | |||
| ref1->data[0], ref1->linesize[0], tref1, | |||
| (row << 3) + 4, (col << 3) + 4, &b->mv[3][0], 4, 4, w1, h1, 0); | |||
| if (s->ss_v) { | |||
| @@ -239,7 +242,8 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| &uvmv, 4, 4, w1, h1, 0); | |||
| uvmv = ROUNDED_DIV_MVx2(b->mv[1][0], b->mv[3][0]); | |||
| mc_chroma_dir(s, mc[4][b->filter][0], | |||
| s->dst[1] + 4, s->dst[2] + 4, ls_uv, | |||
| s->dst[1] + 4 * bytesperpixel, | |||
| s->dst[2] + 4 * bytesperpixel, ls_uv, | |||
| ref1->data[1], ref1->linesize[1], | |||
| ref1->data[2], ref1->linesize[2], tref1, | |||
| row << 2, (col << 3) + 4, | |||
| @@ -273,7 +277,8 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| row << 3, col << 3, | |||
| &b->mv[0][0], 4, 4, w1, h1, 0); | |||
| mc_chroma_dir(s, mc[4][b->filter][0], | |||
| s->dst[1] + 4, s->dst[2] + 4, ls_uv, | |||
| s->dst[1] + 4 * bytesperpixel, | |||
| s->dst[2] + 4 * bytesperpixel, ls_uv, | |||
| ref1->data[1], ref1->linesize[1], | |||
| ref1->data[2], ref1->linesize[2], tref1, | |||
| row << 3, (col << 3) + 4, | |||
| @@ -285,7 +290,8 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| (row << 3) + 4, col << 3, | |||
| &b->mv[2][0], 4, 4, w1, h1, 0); | |||
| mc_chroma_dir(s, mc[4][b->filter][0], | |||
| s->dst[1] + 4 * ls_uv + 4, s->dst[2] + 4 * ls_uv + 4, ls_uv, | |||
| s->dst[1] + 4 * ls_uv + 4 * bytesperpixel, | |||
| s->dst[2] + 4 * ls_uv + 4 * bytesperpixel, ls_uv, | |||
| ref1->data[1], ref1->linesize[1], | |||
| ref1->data[2], ref1->linesize[2], tref1, | |||
| (row << 3) + 4, (col << 3) + 4, | |||
| @@ -297,7 +303,7 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| mc_luma_dir(s, mc[4][b->filter][1], s->dst[0], ls_y, | |||
| ref2->data[0], ref2->linesize[0], tref2, | |||
| row << 3, col << 3, &b->mv[0][1], 4, 4, w2, h2, 1); | |||
| mc_luma_dir(s, mc[4][b->filter][1], s->dst[0] + 4, ls_y, | |||
| mc_luma_dir(s, mc[4][b->filter][1], s->dst[0] + 4 * bytesperpixel, ls_y, | |||
| ref2->data[0], ref2->linesize[0], tref2, | |||
| row << 3, (col << 3) + 4, &b->mv[1][1], 4, 4, w2, h2, 1); | |||
| mc_luma_dir(s, mc[4][b->filter][1], | |||
| @@ -305,7 +311,7 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| ref2->data[0], ref2->linesize[0], tref2, | |||
| (row << 3) + 4, col << 3, &b->mv[2][1], 4, 4, w2, h2, 1); | |||
| mc_luma_dir(s, mc[4][b->filter][1], | |||
| s->dst[0] + 4 * ls_y + 4, ls_y, | |||
| s->dst[0] + 4 * ls_y + 4 * bytesperpixel, ls_y, | |||
| ref2->data[0], ref2->linesize[0], tref2, | |||
| (row << 3) + 4, (col << 3) + 4, &b->mv[3][1], 4, 4, w2, h2, 1); | |||
| if (s->ss_v) { | |||
| @@ -330,7 +336,8 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| &uvmv, 4, 4, w2, h2, 1); | |||
| uvmv = ROUNDED_DIV_MVx2(b->mv[1][1], b->mv[3][1]); | |||
| mc_chroma_dir(s, mc[4][b->filter][1], | |||
| s->dst[1] + 4, s->dst[2] + 4, ls_uv, | |||
| s->dst[1] + 4 * bytesperpixel, | |||
| s->dst[2] + 4 * bytesperpixel, ls_uv, | |||
| ref2->data[1], ref2->linesize[1], | |||
| ref2->data[2], ref2->linesize[2], tref2, | |||
| row << 2, (col << 3) + 4, | |||
| @@ -364,7 +371,8 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| row << 3, col << 3, | |||
| &b->mv[0][1], 4, 4, w2, h2, 1); | |||
| mc_chroma_dir(s, mc[4][b->filter][1], | |||
| s->dst[1] + 4, s->dst[2] + 4, ls_uv, | |||
| s->dst[1] + 4 * bytesperpixel, | |||
| s->dst[2] + 4 * bytesperpixel, ls_uv, | |||
| ref2->data[1], ref2->linesize[1], | |||
| ref2->data[2], ref2->linesize[2], tref2, | |||
| row << 3, (col << 3) + 4, | |||
| @@ -376,7 +384,8 @@ static void FN(inter_pred)(AVCodecContext *ctx) | |||
| (row << 3) + 4, col << 3, | |||
| &b->mv[2][1], 4, 4, w2, h2, 1); | |||
| mc_chroma_dir(s, mc[4][b->filter][1], | |||
| s->dst[1] + 4 * ls_uv + 4, s->dst[2] + 4 * ls_uv + 4, ls_uv, | |||
| s->dst[1] + 4 * ls_uv + 4 * bytesperpixel, | |||
| s->dst[2] + 4 * ls_uv + 4 * bytesperpixel, ls_uv, | |||
| ref2->data[1], ref2->linesize[1], | |||
| ref2->data[2], ref2->linesize[2], tref2, | |||
| (row << 3) + 4, (col << 3) + 4, | |||
| @@ -236,74 +236,210 @@ static const enum FilterMode vp9_filter_lut[3] = { | |||
| FILTER_8TAP_SHARP, | |||
| }; | |||
| static const int16_t vp9_dc_qlookup[256] = { | |||
| 4, 8, 8, 9, 10, 11, 12, 12, | |||
| 13, 14, 15, 16, 17, 18, 19, 19, | |||
| 20, 21, 22, 23, 24, 25, 26, 26, | |||
| 27, 28, 29, 30, 31, 32, 32, 33, | |||
| 34, 35, 36, 37, 38, 38, 39, 40, | |||
| 41, 42, 43, 43, 44, 45, 46, 47, | |||
| 48, 48, 49, 50, 51, 52, 53, 53, | |||
| 54, 55, 56, 57, 57, 58, 59, 60, | |||
| 61, 62, 62, 63, 64, 65, 66, 66, | |||
| 67, 68, 69, 70, 70, 71, 72, 73, | |||
| 74, 74, 75, 76, 77, 78, 78, 79, | |||
| 80, 81, 81, 82, 83, 84, 85, 85, | |||
| 87, 88, 90, 92, 93, 95, 96, 98, | |||
| 99, 101, 102, 104, 105, 107, 108, 110, | |||
| 111, 113, 114, 116, 117, 118, 120, 121, | |||
| 123, 125, 127, 129, 131, 134, 136, 138, | |||
| 140, 142, 144, 146, 148, 150, 152, 154, | |||
| 156, 158, 161, 164, 166, 169, 172, 174, | |||
| 177, 180, 182, 185, 187, 190, 192, 195, | |||
| 199, 202, 205, 208, 211, 214, 217, 220, | |||
| 223, 226, 230, 233, 237, 240, 243, 247, | |||
| 250, 253, 257, 261, 265, 269, 272, 276, | |||
| 280, 284, 288, 292, 296, 300, 304, 309, | |||
| 313, 317, 322, 326, 330, 335, 340, 344, | |||
| 349, 354, 359, 364, 369, 374, 379, 384, | |||
| 389, 395, 400, 406, 411, 417, 423, 429, | |||
| 435, 441, 447, 454, 461, 467, 475, 482, | |||
| 489, 497, 505, 513, 522, 530, 539, 549, | |||
| 559, 569, 579, 590, 602, 614, 626, 640, | |||
| 654, 668, 684, 700, 717, 736, 755, 775, | |||
| 796, 819, 843, 869, 896, 925, 955, 988, | |||
| 1022, 1058, 1098, 1139, 1184, 1232, 1282, 1336, | |||
| static const int16_t vp9_dc_qlookup[3][256] = { | |||
| { | |||
| 4, 8, 8, 9, 10, 11, 12, 12, | |||
| 13, 14, 15, 16, 17, 18, 19, 19, | |||
| 20, 21, 22, 23, 24, 25, 26, 26, | |||
| 27, 28, 29, 30, 31, 32, 32, 33, | |||
| 34, 35, 36, 37, 38, 38, 39, 40, | |||
| 41, 42, 43, 43, 44, 45, 46, 47, | |||
| 48, 48, 49, 50, 51, 52, 53, 53, | |||
| 54, 55, 56, 57, 57, 58, 59, 60, | |||
| 61, 62, 62, 63, 64, 65, 66, 66, | |||
| 67, 68, 69, 70, 70, 71, 72, 73, | |||
| 74, 74, 75, 76, 77, 78, 78, 79, | |||
| 80, 81, 81, 82, 83, 84, 85, 85, | |||
| 87, 88, 90, 92, 93, 95, 96, 98, | |||
| 99, 101, 102, 104, 105, 107, 108, 110, | |||
| 111, 113, 114, 116, 117, 118, 120, 121, | |||
| 123, 125, 127, 129, 131, 134, 136, 138, | |||
| 140, 142, 144, 146, 148, 150, 152, 154, | |||
| 156, 158, 161, 164, 166, 169, 172, 174, | |||
| 177, 180, 182, 185, 187, 190, 192, 195, | |||
| 199, 202, 205, 208, 211, 214, 217, 220, | |||
| 223, 226, 230, 233, 237, 240, 243, 247, | |||
| 250, 253, 257, 261, 265, 269, 272, 276, | |||
| 280, 284, 288, 292, 296, 300, 304, 309, | |||
| 313, 317, 322, 326, 330, 335, 340, 344, | |||
| 349, 354, 359, 364, 369, 374, 379, 384, | |||
| 389, 395, 400, 406, 411, 417, 423, 429, | |||
| 435, 441, 447, 454, 461, 467, 475, 482, | |||
| 489, 497, 505, 513, 522, 530, 539, 549, | |||
| 559, 569, 579, 590, 602, 614, 626, 640, | |||
| 654, 668, 684, 700, 717, 736, 755, 775, | |||
| 796, 819, 843, 869, 896, 925, 955, 988, | |||
| 1022, 1058, 1098, 1139, 1184, 1232, 1282, 1336, | |||
| }, { | |||
| 4, 9, 10, 13, 15, 17, 20, 22, | |||
| 25, 28, 31, 34, 37, 40, 43, 47, | |||
| 50, 53, 57, 60, 64, 68, 71, 75, | |||
| 78, 82, 86, 90, 93, 97, 101, 105, | |||
| 109, 113, 116, 120, 124, 128, 132, 136, | |||
| 140, 143, 147, 151, 155, 159, 163, 166, | |||
| 170, 174, 178, 182, 185, 189, 193, 197, | |||
| 200, 204, 208, 212, 215, 219, 223, 226, | |||
| 230, 233, 237, 241, 244, 248, 251, 255, | |||
| 259, 262, 266, 269, 273, 276, 280, 283, | |||
| 287, 290, 293, 297, 300, 304, 307, 310, | |||
| 314, 317, 321, 324, 327, 331, 334, 337, | |||
| 343, 350, 356, 362, 369, 375, 381, 387, | |||
| 394, 400, 406, 412, 418, 424, 430, 436, | |||
| 442, 448, 454, 460, 466, 472, 478, 484, | |||
| 490, 499, 507, 516, 525, 533, 542, 550, | |||
| 559, 567, 576, 584, 592, 601, 609, 617, | |||
| 625, 634, 644, 655, 666, 676, 687, 698, | |||
| 708, 718, 729, 739, 749, 759, 770, 782, | |||
| 795, 807, 819, 831, 844, 856, 868, 880, | |||
| 891, 906, 920, 933, 947, 961, 975, 988, | |||
| 1001, 1015, 1030, 1045, 1061, 1076, 1090, 1105, | |||
| 1120, 1137, 1153, 1170, 1186, 1202, 1218, 1236, | |||
| 1253, 1271, 1288, 1306, 1323, 1342, 1361, 1379, | |||
| 1398, 1416, 1436, 1456, 1476, 1496, 1516, 1537, | |||
| 1559, 1580, 1601, 1624, 1647, 1670, 1692, 1717, | |||
| 1741, 1766, 1791, 1817, 1844, 1871, 1900, 1929, | |||
| 1958, 1990, 2021, 2054, 2088, 2123, 2159, 2197, | |||
| 2236, 2276, 2319, 2363, 2410, 2458, 2508, 2561, | |||
| 2616, 2675, 2737, 2802, 2871, 2944, 3020, 3102, | |||
| 3188, 3280, 3375, 3478, 3586, 3702, 3823, 3953, | |||
| 4089, 4236, 4394, 4559, 4737, 4929, 5130, 5347, | |||
| }, { | |||
| 4, 12, 18, 25, 33, 41, 50, 60, | |||
| 70, 80, 91, 103, 115, 127, 140, 153, | |||
| 166, 180, 194, 208, 222, 237, 251, 266, | |||
| 281, 296, 312, 327, 343, 358, 374, 390, | |||
| 405, 421, 437, 453, 469, 484, 500, 516, | |||
| 532, 548, 564, 580, 596, 611, 627, 643, | |||
| 659, 674, 690, 706, 721, 737, 752, 768, | |||
| 783, 798, 814, 829, 844, 859, 874, 889, | |||
| 904, 919, 934, 949, 964, 978, 993, 1008, | |||
| 1022, 1037, 1051, 1065, 1080, 1094, 1108, 1122, | |||
| 1136, 1151, 1165, 1179, 1192, 1206, 1220, 1234, | |||
| 1248, 1261, 1275, 1288, 1302, 1315, 1329, 1342, | |||
| 1368, 1393, 1419, 1444, 1469, 1494, 1519, 1544, | |||
| 1569, 1594, 1618, 1643, 1668, 1692, 1717, 1741, | |||
| 1765, 1789, 1814, 1838, 1862, 1885, 1909, 1933, | |||
| 1957, 1992, 2027, 2061, 2096, 2130, 2165, 2199, | |||
| 2233, 2267, 2300, 2334, 2367, 2400, 2434, 2467, | |||
| 2499, 2532, 2575, 2618, 2661, 2704, 2746, 2788, | |||
| 2830, 2872, 2913, 2954, 2995, 3036, 3076, 3127, | |||
| 3177, 3226, 3275, 3324, 3373, 3421, 3469, 3517, | |||
| 3565, 3621, 3677, 3733, 3788, 3843, 3897, 3951, | |||
| 4005, 4058, 4119, 4181, 4241, 4301, 4361, 4420, | |||
| 4479, 4546, 4612, 4677, 4742, 4807, 4871, 4942, | |||
| 5013, 5083, 5153, 5222, 5291, 5367, 5442, 5517, | |||
| 5591, 5665, 5745, 5825, 5905, 5984, 6063, 6149, | |||
| 6234, 6319, 6404, 6495, 6587, 6678, 6769, 6867, | |||
| 6966, 7064, 7163, 7269, 7376, 7483, 7599, 7715, | |||
| 7832, 7958, 8085, 8214, 8352, 8492, 8635, 8788, | |||
| 8945, 9104, 9275, 9450, 9639, 9832, 10031, 10245, | |||
| 10465, 10702, 10946, 11210, 11482, 11776, 12081, 12409, | |||
| 12750, 13118, 13501, 13913, 14343, 14807, 15290, 15812, | |||
| 16356, 16943, 17575, 18237, 18949, 19718, 20521, 21387, | |||
| } | |||
| }; | |||
| static const int16_t vp9_ac_qlookup[256] = { | |||
| 4, 8, 9, 10, 11, 12, 13, 14, | |||
| 15, 16, 17, 18, 19, 20, 21, 22, | |||
| 23, 24, 25, 26, 27, 28, 29, 30, | |||
| 31, 32, 33, 34, 35, 36, 37, 38, | |||
| 39, 40, 41, 42, 43, 44, 45, 46, | |||
| 47, 48, 49, 50, 51, 52, 53, 54, | |||
| 55, 56, 57, 58, 59, 60, 61, 62, | |||
| 63, 64, 65, 66, 67, 68, 69, 70, | |||
| 71, 72, 73, 74, 75, 76, 77, 78, | |||
| 79, 80, 81, 82, 83, 84, 85, 86, | |||
| 87, 88, 89, 90, 91, 92, 93, 94, | |||
| 95, 96, 97, 98, 99, 100, 101, 102, | |||
| 104, 106, 108, 110, 112, 114, 116, 118, | |||
| 120, 122, 124, 126, 128, 130, 132, 134, | |||
| 136, 138, 140, 142, 144, 146, 148, 150, | |||
| 152, 155, 158, 161, 164, 167, 170, 173, | |||
| 176, 179, 182, 185, 188, 191, 194, 197, | |||
| 200, 203, 207, 211, 215, 219, 223, 227, | |||
| 231, 235, 239, 243, 247, 251, 255, 260, | |||
| 265, 270, 275, 280, 285, 290, 295, 300, | |||
| 305, 311, 317, 323, 329, 335, 341, 347, | |||
| 353, 359, 366, 373, 380, 387, 394, 401, | |||
| 408, 416, 424, 432, 440, 448, 456, 465, | |||
| 474, 483, 492, 501, 510, 520, 530, 540, | |||
| 550, 560, 571, 582, 593, 604, 615, 627, | |||
| 639, 651, 663, 676, 689, 702, 715, 729, | |||
| 743, 757, 771, 786, 801, 816, 832, 848, | |||
| 864, 881, 898, 915, 933, 951, 969, 988, | |||
| 1007, 1026, 1046, 1066, 1087, 1108, 1129, 1151, | |||
| 1173, 1196, 1219, 1243, 1267, 1292, 1317, 1343, | |||
| 1369, 1396, 1423, 1451, 1479, 1508, 1537, 1567, | |||
| 1597, 1628, 1660, 1692, 1725, 1759, 1793, 1828, | |||
| static const int16_t vp9_ac_qlookup[3][256] = { | |||
| { | |||
| 4, 8, 9, 10, 11, 12, 13, 14, | |||
| 15, 16, 17, 18, 19, 20, 21, 22, | |||
| 23, 24, 25, 26, 27, 28, 29, 30, | |||
| 31, 32, 33, 34, 35, 36, 37, 38, | |||
| 39, 40, 41, 42, 43, 44, 45, 46, | |||
| 47, 48, 49, 50, 51, 52, 53, 54, | |||
| 55, 56, 57, 58, 59, 60, 61, 62, | |||
| 63, 64, 65, 66, 67, 68, 69, 70, | |||
| 71, 72, 73, 74, 75, 76, 77, 78, | |||
| 79, 80, 81, 82, 83, 84, 85, 86, | |||
| 87, 88, 89, 90, 91, 92, 93, 94, | |||
| 95, 96, 97, 98, 99, 100, 101, 102, | |||
| 104, 106, 108, 110, 112, 114, 116, 118, | |||
| 120, 122, 124, 126, 128, 130, 132, 134, | |||
| 136, 138, 140, 142, 144, 146, 148, 150, | |||
| 152, 155, 158, 161, 164, 167, 170, 173, | |||
| 176, 179, 182, 185, 188, 191, 194, 197, | |||
| 200, 203, 207, 211, 215, 219, 223, 227, | |||
| 231, 235, 239, 243, 247, 251, 255, 260, | |||
| 265, 270, 275, 280, 285, 290, 295, 300, | |||
| 305, 311, 317, 323, 329, 335, 341, 347, | |||
| 353, 359, 366, 373, 380, 387, 394, 401, | |||
| 408, 416, 424, 432, 440, 448, 456, 465, | |||
| 474, 483, 492, 501, 510, 520, 530, 540, | |||
| 550, 560, 571, 582, 593, 604, 615, 627, | |||
| 639, 651, 663, 676, 689, 702, 715, 729, | |||
| 743, 757, 771, 786, 801, 816, 832, 848, | |||
| 864, 881, 898, 915, 933, 951, 969, 988, | |||
| 1007, 1026, 1046, 1066, 1087, 1108, 1129, 1151, | |||
| 1173, 1196, 1219, 1243, 1267, 1292, 1317, 1343, | |||
| 1369, 1396, 1423, 1451, 1479, 1508, 1537, 1567, | |||
| 1597, 1628, 1660, 1692, 1725, 1759, 1793, 1828, | |||
| }, { | |||
| 4, 9, 11, 13, 16, 18, 21, 24, | |||
| 27, 30, 33, 37, 40, 44, 48, 51, | |||
| 55, 59, 63, 67, 71, 75, 79, 83, | |||
| 88, 92, 96, 100, 105, 109, 114, 118, | |||
| 122, 127, 131, 136, 140, 145, 149, 154, | |||
| 158, 163, 168, 172, 177, 181, 186, 190, | |||
| 195, 199, 204, 208, 213, 217, 222, 226, | |||
| 231, 235, 240, 244, 249, 253, 258, 262, | |||
| 267, 271, 275, 280, 284, 289, 293, 297, | |||
| 302, 306, 311, 315, 319, 324, 328, 332, | |||
| 337, 341, 345, 349, 354, 358, 362, 367, | |||
| 371, 375, 379, 384, 388, 392, 396, 401, | |||
| 409, 417, 425, 433, 441, 449, 458, 466, | |||
| 474, 482, 490, 498, 506, 514, 523, 531, | |||
| 539, 547, 555, 563, 571, 579, 588, 596, | |||
| 604, 616, 628, 640, 652, 664, 676, 688, | |||
| 700, 713, 725, 737, 749, 761, 773, 785, | |||
| 797, 809, 825, 841, 857, 873, 889, 905, | |||
| 922, 938, 954, 970, 986, 1002, 1018, 1038, | |||
| 1058, 1078, 1098, 1118, 1138, 1158, 1178, 1198, | |||
| 1218, 1242, 1266, 1290, 1314, 1338, 1362, 1386, | |||
| 1411, 1435, 1463, 1491, 1519, 1547, 1575, 1603, | |||
| 1631, 1663, 1695, 1727, 1759, 1791, 1823, 1859, | |||
| 1895, 1931, 1967, 2003, 2039, 2079, 2119, 2159, | |||
| 2199, 2239, 2283, 2327, 2371, 2415, 2459, 2507, | |||
| 2555, 2603, 2651, 2703, 2755, 2807, 2859, 2915, | |||
| 2971, 3027, 3083, 3143, 3203, 3263, 3327, 3391, | |||
| 3455, 3523, 3591, 3659, 3731, 3803, 3876, 3952, | |||
| 4028, 4104, 4184, 4264, 4348, 4432, 4516, 4604, | |||
| 4692, 4784, 4876, 4972, 5068, 5168, 5268, 5372, | |||
| 5476, 5584, 5692, 5804, 5916, 6032, 6148, 6268, | |||
| 6388, 6512, 6640, 6768, 6900, 7036, 7172, 7312, | |||
| }, { | |||
| 4, 13, 19, 27, 35, 44, 54, 64, | |||
| 75, 87, 99, 112, 126, 139, 154, 168, | |||
| 183, 199, 214, 230, 247, 263, 280, 297, | |||
| 314, 331, 349, 366, 384, 402, 420, 438, | |||
| 456, 475, 493, 511, 530, 548, 567, 586, | |||
| 604, 623, 642, 660, 679, 698, 716, 735, | |||
| 753, 772, 791, 809, 828, 846, 865, 884, | |||
| 902, 920, 939, 957, 976, 994, 1012, 1030, | |||
| 1049, 1067, 1085, 1103, 1121, 1139, 1157, 1175, | |||
| 1193, 1211, 1229, 1246, 1264, 1282, 1299, 1317, | |||
| 1335, 1352, 1370, 1387, 1405, 1422, 1440, 1457, | |||
| 1474, 1491, 1509, 1526, 1543, 1560, 1577, 1595, | |||
| 1627, 1660, 1693, 1725, 1758, 1791, 1824, 1856, | |||
| 1889, 1922, 1954, 1987, 2020, 2052, 2085, 2118, | |||
| 2150, 2183, 2216, 2248, 2281, 2313, 2346, 2378, | |||
| 2411, 2459, 2508, 2556, 2605, 2653, 2701, 2750, | |||
| 2798, 2847, 2895, 2943, 2992, 3040, 3088, 3137, | |||
| 3185, 3234, 3298, 3362, 3426, 3491, 3555, 3619, | |||
| 3684, 3748, 3812, 3876, 3941, 4005, 4069, 4149, | |||
| 4230, 4310, 4390, 4470, 4550, 4631, 4711, 4791, | |||
| 4871, 4967, 5064, 5160, 5256, 5352, 5448, 5544, | |||
| 5641, 5737, 5849, 5961, 6073, 6185, 6297, 6410, | |||
| 6522, 6650, 6778, 6906, 7034, 7162, 7290, 7435, | |||
| 7579, 7723, 7867, 8011, 8155, 8315, 8475, 8635, | |||
| 8795, 8956, 9132, 9308, 9484, 9660, 9836, 10028, | |||
| 10220, 10412, 10604, 10812, 11020, 11228, 11437, 11661, | |||
| 11885, 12109, 12333, 12573, 12813, 13053, 13309, 13565, | |||
| 13821, 14093, 14365, 14637, 14925, 15213, 15502, 15806, | |||
| 16110, 16414, 16734, 17054, 17390, 17726, 18062, 18414, | |||
| 18766, 19134, 19502, 19886, 20270, 20670, 21070, 21486, | |||
| 21902, 22334, 22766, 23214, 23662, 24126, 24590, 25070, | |||
| 25551, 26047, 26559, 27071, 27599, 28143, 28687, 29247, | |||
| } | |||
| }; | |||
| static const enum TxfmType vp9_intra_txfm_type[14] = { | |||
| @@ -120,8 +120,12 @@ typedef struct VP9DSPContext { | |||
| vp9_scaled_mc_func smc[5][4][2]; | |||
| } VP9DSPContext; | |||
| void ff_vp9dsp_init(VP9DSPContext *dsp); | |||
| void ff_vp9dsp_init(VP9DSPContext *dsp, int bpp); | |||
| void ff_vp9dsp_init_x86(VP9DSPContext *dsp); | |||
| void ff_vp9dsp_init_8(VP9DSPContext *dsp); | |||
| void ff_vp9dsp_init_10(VP9DSPContext *dsp); | |||
| void ff_vp9dsp_init_12(VP9DSPContext *dsp); | |||
| void ff_vp9dsp_init_x86(VP9DSPContext *dsp, int bpp); | |||
| #endif /* AVCODEC_VP9DSP_H */ | |||
| @@ -0,0 +1,26 @@ | |||
| /* | |||
| * VP9 compatible video decoder | |||
| * | |||
| * Copyright (C) 2013 Ronald S. Bultje <rsbultje gmail com> | |||
| * Copyright (C) 2013 Clément Bœsch <u pkh me> | |||
| * | |||
| * This file is part of FFmpeg. | |||
| * | |||
| * FFmpeg is free software; you can redistribute it and/or | |||
| * modify it under the terms of the GNU Lesser General Public | |||
| * License as published by the Free Software Foundation; either | |||
| * version 2.1 of the License, or (at your option) any later version. | |||
| * | |||
| * FFmpeg is distributed in the hope that it will be useful, | |||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
| * Lesser General Public License for more details. | |||
| * | |||
| * You should have received a copy of the GNU Lesser General Public | |||
| * License along with FFmpeg; if not, write to the Free Software | |||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||
| */ | |||
| #define BIT_DEPTH 10 | |||
| #define dctint int64_t | |||
| #include "vp9dsp_template.c" | |||
| @@ -0,0 +1,26 @@ | |||
| /* | |||
| * VP9 compatible video decoder | |||
| * | |||
| * Copyright (C) 2013 Ronald S. Bultje <rsbultje gmail com> | |||
| * Copyright (C) 2013 Clément Bœsch <u pkh me> | |||
| * | |||
| * This file is part of FFmpeg. | |||
| * | |||
| * FFmpeg is free software; you can redistribute it and/or | |||
| * modify it under the terms of the GNU Lesser General Public | |||
| * License as published by the Free Software Foundation; either | |||
| * version 2.1 of the License, or (at your option) any later version. | |||
| * | |||
| * FFmpeg is distributed in the hope that it will be useful, | |||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
| * Lesser General Public License for more details. | |||
| * | |||
| * You should have received a copy of the GNU Lesser General Public | |||
| * License along with FFmpeg; if not, write to the Free Software | |||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||
| */ | |||
| #define BIT_DEPTH 12 | |||
| #define dctint int64_t | |||
| #include "vp9dsp_template.c" | |||
| @@ -0,0 +1,26 @@ | |||
| /* | |||
| * VP9 compatible video decoder | |||
| * | |||
| * Copyright (C) 2013 Ronald S. Bultje <rsbultje gmail com> | |||
| * Copyright (C) 2013 Clément Bœsch <u pkh me> | |||
| * | |||
| * This file is part of FFmpeg. | |||
| * | |||
| * FFmpeg is free software; you can redistribute it and/or | |||
| * modify it under the terms of the GNU Lesser General Public | |||
| * License as published by the Free Software Foundation; either | |||
| * version 2.1 of the License, or (at your option) any later version. | |||
| * | |||
| * FFmpeg is distributed in the hope that it will be useful, | |||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
| * Lesser General Public License for more details. | |||
| * | |||
| * You should have received a copy of the GNU Lesser General Public | |||
| * License along with FFmpeg; if not, write to the Free Software | |||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||
| */ | |||
| #define BIT_DEPTH 8 | |||
| #define dctint int | |||
| #include "vp9dsp_template.c" | |||
| @@ -307,8 +307,10 @@ ipred_func(32, tm, avx2); | |||
| #endif /* HAVE_YASM */ | |||
| av_cold void ff_vp9dsp_init_x86(VP9DSPContext *dsp) | |||
| av_cold void ff_vp9dsp_init_x86(VP9DSPContext *dsp, int bpp) | |||
| { | |||
| if (bpp != 8) return; | |||
| #if HAVE_YASM | |||
| int cpu_flags = av_get_cpu_flags(); | |||
| @@ -605,6 +605,54 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { | |||
| }, | |||
| .flags = AV_PIX_FMT_FLAG_PLANAR, | |||
| }, | |||
| [AV_PIX_FMT_YUV440P10LE] = { | |||
| .name = "yuv440p10le", | |||
| .nb_components = 3, | |||
| .log2_chroma_w = 0, | |||
| .log2_chroma_h = 1, | |||
| .comp = { | |||
| { 0, 1, 1, 0, 9 }, /* Y */ | |||
| { 1, 1, 1, 0, 9 }, /* U */ | |||
| { 2, 1, 1, 0, 9 }, /* V */ | |||
| }, | |||
| .flags = AV_PIX_FMT_FLAG_PLANAR, | |||
| }, | |||
| [AV_PIX_FMT_YUV440P10BE] = { | |||
| .name = "yuv440p10be", | |||
| .nb_components = 3, | |||
| .log2_chroma_w = 0, | |||
| .log2_chroma_h = 1, | |||
| .comp = { | |||
| { 0, 1, 1, 0, 9 }, /* Y */ | |||
| { 1, 1, 1, 0, 9 }, /* U */ | |||
| { 2, 1, 1, 0, 9 }, /* V */ | |||
| }, | |||
| .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR, | |||
| }, | |||
| [AV_PIX_FMT_YUV440P12LE] = { | |||
| .name = "yuv440p12le", | |||
| .nb_components = 3, | |||
| .log2_chroma_w = 0, | |||
| .log2_chroma_h = 1, | |||
| .comp = { | |||
| { 0, 1, 1, 0, 11 }, /* Y */ | |||
| { 1, 1, 1, 0, 11 }, /* U */ | |||
| { 2, 1, 1, 0, 11 }, /* V */ | |||
| }, | |||
| .flags = AV_PIX_FMT_FLAG_PLANAR, | |||
| }, | |||
| [AV_PIX_FMT_YUV440P12BE] = { | |||
| .name = "yuv440p12be", | |||
| .nb_components = 3, | |||
| .log2_chroma_w = 0, | |||
| .log2_chroma_h = 1, | |||
| .comp = { | |||
| { 0, 1, 1, 0, 11 }, /* Y */ | |||
| { 1, 1, 1, 0, 11 }, /* U */ | |||
| { 2, 1, 1, 0, 11 }, /* V */ | |||
| }, | |||
| .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR, | |||
| }, | |||
| [AV_PIX_FMT_YUVA420P] = { | |||
| .name = "yuva420p", | |||
| .nb_components = 4, | |||
| @@ -307,6 +307,10 @@ enum AVPixelFormat { | |||
| #if !FF_API_XVMC | |||
| AV_PIX_FMT_XVMC,///< XVideo Motion Acceleration via common packet passing | |||
| #endif /* !FF_API_XVMC */ | |||
| AV_PIX_FMT_YUV440P10LE, ///< planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian | |||
| AV_PIX_FMT_YUV440P10BE, ///< planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian | |||
| AV_PIX_FMT_YUV440P12LE, ///< planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian | |||
| AV_PIX_FMT_YUV440P12BE, ///< planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian | |||
| AV_PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions | |||
| @@ -362,9 +366,11 @@ enum AVPixelFormat { | |||
| #define AV_PIX_FMT_YUV444P9 AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE) | |||
| #define AV_PIX_FMT_YUV420P10 AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE) | |||
| #define AV_PIX_FMT_YUV422P10 AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE) | |||
| #define AV_PIX_FMT_YUV440P10 AV_PIX_FMT_NE(YUV440P10BE, YUV440P10LE) | |||
| #define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE) | |||
| #define AV_PIX_FMT_YUV420P12 AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE) | |||
| #define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE) | |||
| #define AV_PIX_FMT_YUV440P12 AV_PIX_FMT_NE(YUV440P12BE, YUV440P12LE) | |||
| #define AV_PIX_FMT_YUV444P12 AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE) | |||
| #define AV_PIX_FMT_YUV420P14 AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE) | |||
| #define AV_PIX_FMT_YUV422P14 AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE) | |||
| @@ -931,9 +931,11 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c) | |||
| case AV_PIX_FMT_YUV422P9LE: | |||
| case AV_PIX_FMT_YUV420P9LE: | |||
| case AV_PIX_FMT_YUV422P10LE: | |||
| case AV_PIX_FMT_YUV440P10LE: | |||
| case AV_PIX_FMT_YUV444P10LE: | |||
| case AV_PIX_FMT_YUV420P10LE: | |||
| case AV_PIX_FMT_YUV422P12LE: | |||
| case AV_PIX_FMT_YUV440P12LE: | |||
| case AV_PIX_FMT_YUV444P12LE: | |||
| case AV_PIX_FMT_YUV420P12LE: | |||
| case AV_PIX_FMT_YUV422P14LE: | |||
| @@ -958,9 +960,11 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c) | |||
| case AV_PIX_FMT_YUV444P9BE: | |||
| case AV_PIX_FMT_YUV422P9BE: | |||
| case AV_PIX_FMT_YUV420P9BE: | |||
| case AV_PIX_FMT_YUV440P10BE: | |||
| case AV_PIX_FMT_YUV444P10BE: | |||
| case AV_PIX_FMT_YUV422P10BE: | |||
| case AV_PIX_FMT_YUV420P10BE: | |||
| case AV_PIX_FMT_YUV440P12BE: | |||
| case AV_PIX_FMT_YUV444P12BE: | |||
| case AV_PIX_FMT_YUV422P12BE: | |||
| case AV_PIX_FMT_YUV420P12BE: | |||
| @@ -1197,9 +1201,11 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c) | |||
| case AV_PIX_FMT_YUV422P9LE: | |||
| case AV_PIX_FMT_YUV420P9LE: | |||
| case AV_PIX_FMT_YUV444P10LE: | |||
| case AV_PIX_FMT_YUV440P10LE: | |||
| case AV_PIX_FMT_YUV422P10LE: | |||
| case AV_PIX_FMT_YUV420P10LE: | |||
| case AV_PIX_FMT_YUV444P12LE: | |||
| case AV_PIX_FMT_YUV440P12LE: | |||
| case AV_PIX_FMT_YUV422P12LE: | |||
| case AV_PIX_FMT_YUV420P12LE: | |||
| case AV_PIX_FMT_YUV444P14LE: | |||
| @@ -1229,9 +1235,11 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c) | |||
| case AV_PIX_FMT_YUV422P9BE: | |||
| case AV_PIX_FMT_YUV420P9BE: | |||
| case AV_PIX_FMT_YUV444P10BE: | |||
| case AV_PIX_FMT_YUV440P10BE: | |||
| case AV_PIX_FMT_YUV422P10BE: | |||
| case AV_PIX_FMT_YUV420P10BE: | |||
| case AV_PIX_FMT_YUV444P12BE: | |||
| case AV_PIX_FMT_YUV440P12BE: | |||
| case AV_PIX_FMT_YUV422P12BE: | |||
| case AV_PIX_FMT_YUV420P12BE: | |||
| case AV_PIX_FMT_YUV444P14BE: | |||
| @@ -1694,6 +1694,8 @@ void ff_get_unscaled_swscale(SwsContext *c) | |||
| IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV422P12) || | |||
| IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV422P14) || | |||
| IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV422P16) || | |||
| IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV440P10) || | |||
| IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV440P12) || | |||
| IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV444P9) || | |||
| IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV444P10) || | |||
| IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV444P12) || | |||
| @@ -119,6 +119,10 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = { | |||
| [AV_PIX_FMT_GRAY16LE] = { 1, 1 }, | |||
| [AV_PIX_FMT_YUV440P] = { 1, 1 }, | |||
| [AV_PIX_FMT_YUVJ440P] = { 1, 1 }, | |||
| [AV_PIX_FMT_YUV440P10LE] = { 1, 1 }, | |||
| [AV_PIX_FMT_YUV440P10BE] = { 1, 1 }, | |||
| [AV_PIX_FMT_YUV440P12LE] = { 1, 1 }, | |||
| [AV_PIX_FMT_YUV440P12BE] = { 1, 1 }, | |||
| [AV_PIX_FMT_YUVA420P] = { 1, 1 }, | |||
| [AV_PIX_FMT_YUVA422P] = { 1, 1 }, | |||
| [AV_PIX_FMT_YUVA444P] = { 1, 1 }, | |||
| @@ -87,7 +87,7 @@ endef | |||
| define FATE_VP9_PROFILE_SUITE | |||
| FATE_VP9-$(CONFIG_MATROSKA_DEMUXER) += fate-vp9p$(2)-$(1) | |||
| fate-vp9p$(2)-$(1): CMD = framemd5 -i $(TARGET_SAMPLES)/vp9-test-vectors/vp9$(2)-2-$(1).webm | |||
| fate-vp9p$(2)-$(1): CMD = framemd5 -i $(TARGET_SAMPLES)/vp9-test-vectors/vp9$(2)-2-$(1).webm $(3) | |||
| fate-vp9p$(2)-$(1): REF = $(SRC_PATH)/tests/ref/fate/vp9p$(2)-$(1) | |||
| endef | |||
| @@ -98,6 +98,8 @@ VP9_Q = 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 \ | |||
| VP9_SHARP = 1 2 3 4 5 6 7 | |||
| VP9_SIZE_A = 08 10 16 18 32 34 64 66 | |||
| VP9_SIZE_B = 196 198 200 202 208 210 224 226 | |||
| VP9_CHROMA_SUBSAMPLE = 422 440 444 | |||
| VP9_HIGH_BITDEPTH = 10 12 | |||
| define FATE_VP9_FULL | |||
| $(foreach Q,$(VP9_Q),$(eval $(call FATE_VP9_SUITE,00-quantizer-$(Q)))) | |||
| @@ -105,9 +107,9 @@ $(foreach SHARP,$(VP9_SHARP),$(eval $(call FATE_VP9_SUITE,01-sharpness-$(SHARP)) | |||
| $(foreach W,$(VP9_SIZE_A),$(eval $(foreach H,$(VP9_SIZE_A),$(eval $(call FATE_VP9_SUITE,02-size-$(W)x$(H)))))) | |||
| $(foreach W,$(VP9_SIZE_B),$(eval $(foreach H,$(VP9_SIZE_B),$(eval $(call FATE_VP9_SUITE,03-size-$(W)x$(H)))))) | |||
| $(eval $(call FATE_VP9_SUITE,03-deltaq)) | |||
| $(eval $(call FATE_VP9_PROFILE_SUITE,04-yuv444,1)) | |||
| $(eval $(call FATE_VP9_PROFILE_SUITE,04-yuv440,1)) | |||
| $(eval $(call FATE_VP9_PROFILE_SUITE,04-yuv422,1)) | |||
| $(foreach SS,$(VP9_CHROMA_SUBSAMPLE),$(eval $(call FATE_VP9_PROFILE_SUITE,04-yuv$(SS),1,))) | |||
| $(foreach BD,$(VP9_HIGH_BITDEPTH),$(eval $(call FATE_VP9_PROFILE_SUITE,20-$(BD)bit-yuv420,2,-pix_fmt yuv420p$(BD)le))) | |||
| $(foreach BD,$(VP9_HIGH_BITDEPTH),$(eval $(foreach SS,$(VP9_CHROMA_SUBSAMPLE),$(eval $(call FATE_VP9_PROFILE_SUITE,20-$(BD)bit-yuv$(SS),3,-pix_fmt yuv$(SS)p$(BD)le))))) | |||
| $(eval $(call FATE_VP9_SUITE,06-bilinear)) | |||
| $(eval $(call FATE_VP9_SUITE,09-lf_deltas)) | |||
| $(eval $(call FATE_VP9_SUITE,10-show-existing-frame)) | |||
| @@ -0,0 +1 @@ | |||
| pixdesc-yuv440p10be 8bc503265081c9dc9890f95aa7a94000 | |||
| @@ -0,0 +1 @@ | |||
| pixdesc-yuv440p10le 84740bc888a73215a8487c6d2cabab37 | |||
| @@ -0,0 +1 @@ | |||
| pixdesc-yuv440p12be 0da181b349062381436c002ee72be5f9 | |||
| @@ -0,0 +1 @@ | |||
| pixdesc-yuv440p12le 682997272e77063a2e260a2c483b3306 | |||
| @@ -78,6 +78,10 @@ yuv422p16le 5d8e26fbbc8f25576065106c8820d56a | |||
| yuv422p9be e3b364350da35d2ffd431665ed9d3592 | |||
| yuv422p9le 0f21976b77781cada504f690d7dc6c15 | |||
| yuv440p e6754959dfd9631f2dc1682fa71aa4e0 | |||
| yuv440p10be 8bc503265081c9dc9890f95aa7a94000 | |||
| yuv440p10le 84740bc888a73215a8487c6d2cabab37 | |||
| yuv440p12be 0da181b349062381436c002ee72be5f9 | |||
| yuv440p12le 682997272e77063a2e260a2c483b3306 | |||
| yuv444p db3ad634aea336663a2f5c2475b95410 | |||
| yuv444p10be e341efd871b34308831113f4b2ff29f9 | |||
| yuv444p10le f9666d63623e0d7dceda1a17202579cf | |||
| @@ -75,6 +75,10 @@ yuv422p16le 5420bd643996c2fc10709ca58a0323e9 | |||
| yuv422p9be 0cf0d2f092b01b86cb8883e5b9ee70fd | |||
| yuv422p9le caa7eabbc6cc12b91314d5a03857c3d9 | |||
| yuv440p 54ee388cdaf8b1fe88b78348913b18b0 | |||
| yuv440p10be 74cc406aade7a42bd2e61065a26c37d6 | |||
| yuv440p10le 23a988639a018805f4af77621530e629 | |||
| yuv440p12be cbc98bace0a5a83bbe178ea086a8700c | |||
| yuv440p12le a1eafa7c4ec86933263bf435c7c25bad | |||
| yuv444p 434403ed452af56f5bc6e96863eaca97 | |||
| yuv444p10be d7ef21572858c0071b5c74281ed8cb1b | |||
| yuv444p10le 3c293e9a0aacd45fbcf9b6568cddcb4f | |||
| @@ -78,6 +78,10 @@ yuv422p16le b35565fe10f9a15b71d3706877118d8e | |||
| yuv422p9be 41605ec9fb967cc3da4ac88d8c4ca6ba | |||
| yuv422p9le 10bf2ae59bb45f5d632afe2fa0788f17 | |||
| yuv440p 4558340790744ccad447adcd3c8f041c | |||
| yuv440p10be f4a35891ee216870553cb786aa019d11 | |||
| yuv440p10le bd25aebbd7b69932fe102dee4ae062bb | |||
| yuv440p12be 710a7e4fa709901b8be00179c5387977 | |||
| yuv440p12le c071b25efc3e826cfd20eb7ad09bc5f4 | |||
| yuv444p 018c531ab9b4427f6b3ae863306f7bdf | |||
| yuv444p10be d45e1d588191d1e038e88ca3406bfe14 | |||
| yuv444p10le 991363b633a740ae2fc48d8cc8bde0b3 | |||
| @@ -75,6 +75,10 @@ yuv422p16le 02975f7af27c35e68684235d185a4828 | |||
| yuv422p9be d4fdec159cb4c106a81e407fe1b441be | |||
| yuv422p9le 7a19175e5e38a028029cf6c14f5485d8 | |||
| yuv440p 18b37e71484029063d41c5716cd0f785 | |||
| yuv440p10be a2548200f66493eb10d23413fa893103 | |||
| yuv440p10le 7a61ef006bbec1a98ba21caa89052e50 | |||
| yuv440p12be 941298529e9c859b197508252c38c0b4 | |||
| yuv440p12le 405aaae3b31ec699d130cef399a57f97 | |||
| yuv444p e666141ffbbc8ed5ecfd65bf27b07c72 | |||
| yuv444p10be 39437baaba84ff78b152769202566acd | |||
| yuv444p10le a8c9900e3593919c029373cc7781e64d | |||
| @@ -77,6 +77,10 @@ yuv422p16le a1dbef3752c0c578e0285980a5859864 | |||
| yuv422p9be f3e1b7196d3e17ad5d31d9d200a2457e | |||
| yuv422p9le a21cb4b38bbdee136f70c15abecd5f8b | |||
| yuv440p f0cfcb6a845fc7f33ab54f04e5f61099 | |||
| yuv440p10be b7e2bfb6fbe4168837c93896e21c3163 | |||
| yuv440p10le 70d77fa0c45ae283bd85c61633eab146 | |||
| yuv440p12be 38662f60e8500ab35398952e468739e9 | |||
| yuv440p12le 32aa0bf8408d0118bc002b89ee6adc42 | |||
| yuv444p 8bf605570d90a638980e1c11526d99e7 | |||
| yuv444p10be 755f929aff54eda092127fca283cf333 | |||
| yuv444p10le fe216173a6b4eff5c029d468861b3da6 | |||
| @@ -78,6 +78,10 @@ yuv422p16le 5d8e26fbbc8f25576065106c8820d56a | |||
| yuv422p9be e3b364350da35d2ffd431665ed9d3592 | |||
| yuv422p9le 0f21976b77781cada504f690d7dc6c15 | |||
| yuv440p e6754959dfd9631f2dc1682fa71aa4e0 | |||
| yuv440p10be 8bc503265081c9dc9890f95aa7a94000 | |||
| yuv440p10le 84740bc888a73215a8487c6d2cabab37 | |||
| yuv440p12be 0da181b349062381436c002ee72be5f9 | |||
| yuv440p12le 682997272e77063a2e260a2c483b3306 | |||
| yuv444p db3ad634aea336663a2f5c2475b95410 | |||
| yuv444p10be e341efd871b34308831113f4b2ff29f9 | |||
| yuv444p10le f9666d63623e0d7dceda1a17202579cf | |||
| @@ -78,6 +78,10 @@ yuv422p16le 7200f2405f7b979bc29f5446653d1fbe | |||
| yuv422p9be 4c44d041f51b499fe419c51be0831c12 | |||
| yuv422p9le b48e78a8a6a3f88269b4f5f810b75603 | |||
| yuv440p a9dd3fab4320c3c9b0eb01d2bf75acb9 | |||
| yuv440p10be e79d6857dd66adf03fd90b7c4ba1a4f8 | |||
| yuv440p10le 9cf6444970548a93ec8ceb0e3e4244bc | |||
| yuv440p12be 66eb24b71083413d2ece3ce9f9527b90 | |||
| yuv440p12le d6b60a9453e2ec0c8e487fc82d8b476a | |||
| yuv444p 77387910c01eacca94793a9be37c1aa1 | |||
| yuv444p10be b4e8cef69cb2ad2c24e795325a1d883c | |||
| yuv444p10le 83855dd296a1859c085193c1edbb35e2 | |||
| @@ -23,6 +23,10 @@ yuv422p16le fb8e5aff474eca0b9b4bba0ab5765158 | |||
| yuv422p9be 2d27809e85655e5ce9db5f194d617069 | |||
| yuv422p9le 13f42a98d4c6c57883d6817329ec3ea7 | |||
| yuv440p 44c7ad06592e46b42143756210798d7d | |||
| yuv440p10be 9b623abf03ad22bec852250170bfb42d | |||
| yuv440p10le cfb3e95f24943a4ead5c3b59eed9f2ce | |||
| yuv440p12be caf621757fdc1942cb3d90fc16858eef | |||
| yuv440p12le 99a54b4e9a286ce34a686de534377253 | |||
| yuv444p 49587b263a4c8da66ddc267f746b7041 | |||
| yuv444p10be 6589db276e865800614153e43bad3da8 | |||
| yuv444p10le 8e17f00cbc47188e007b59e568bf13aa | |||
| @@ -78,6 +78,10 @@ yuv422p16le d3d1ff9c78b6d1dda8e5529aa881e254 | |||
| yuv422p9be b910bf8de09521e2935749fa68fbcf8e | |||
| yuv422p9le 98d13d3db47da9be9f666ce773f2eed9 | |||
| yuv440p aba0a5eda16ce1050175bb1151900a4c | |||
| yuv440p10be 0ed6a258237270dcf17f848037bb4175 | |||
| yuv440p10le 91c69939e302885d3851b74d831aa094 | |||
| yuv440p12be ffdd1de6e681e99b9362230d75f4d7de | |||
| yuv440p12le 55a95432d92f57acaae1dfaff5475d2f | |||
| yuv444p 81a72d37cdfba65c7a2dfccaf21cd0d8 | |||
| yuv444p10be a10191d92e5a08983bec906d8fbb505a | |||
| yuv444p10le 6367be8bb534416105e450a54ae2efbf | |||
| @@ -0,0 +1,15 @@ | |||
| #format: frame checksums | |||
| #version: 1 | |||
| #hash: MD5 | |||
| #tb 0: 1/50 | |||
| #stream#, dts, pts, duration, size, hash | |||
| 0, 0, 0, 1, 43200, c3964ed9065de7f839b8d878444c6140 | |||
| 0, 1, 1, 1, 43200, 87595f7f53d6e84af9708dba72422cc4 | |||
| 0, 2, 2, 1, 43200, 5cadbce099363a71040919e6f1cec496 | |||
| 0, 3, 3, 1, 43200, 0e3cab2b26b936de245a94b4128a368f | |||
| 0, 4, 4, 1, 43200, 07bde452ca50655717a85cd9fdb3f7ce | |||
| 0, 5, 5, 1, 43200, 00bee090fe849fee5fd4eb169c62c897 | |||
| 0, 6, 6, 1, 43200, 4564a423df89d7e9dea1226873ce9a51 | |||
| 0, 7, 7, 1, 43200, 7580af6956360112191380a677f5e625 | |||
| 0, 8, 8, 1, 43200, c9d05c5aadf8a372acfc2c93094d003e | |||
| 0, 9, 9, 1, 43200, 6c08ea732cda06cf9a12f2e1a089d401 | |||
| @@ -0,0 +1,15 @@ | |||
| #format: frame checksums | |||
| #version: 1 | |||
| #hash: MD5 | |||
| #tb 0: 1/50 | |||
| #stream#, dts, pts, duration, size, hash | |||
| 0, 0, 0, 1, 43200, 8403bd5a381737e1c2d737047f6a5a0b | |||
| 0, 1, 1, 1, 43200, 3c0bf7eecc3131e3598f6810d6b70539 | |||
| 0, 2, 2, 1, 43200, ff020bf894bb88d74426f02a75081695 | |||
| 0, 3, 3, 1, 43200, 097d81cb29f1caaf4446f3a3de4842d9 | |||
| 0, 4, 4, 1, 43200, e923a7e7e0349846ba27bd2e6ebdf4df | |||
| 0, 5, 5, 1, 43200, 28c6016e6687c7eecbe4057a4dbfe372 | |||
| 0, 6, 6, 1, 43200, 15ae05537ea7152b535d112871b5ef84 | |||
| 0, 7, 7, 1, 43200, cb50d043a10a0e9b52eed0e8b3aabc7b | |||
| 0, 8, 8, 1, 43200, f97dfbce56e36a42538ef000ce0e937e | |||
| 0, 9, 9, 1, 43200, aae42063df910ed31c09eba5f73a195c | |||
| @@ -0,0 +1,15 @@ | |||
| #format: frame checksums | |||
| #version: 1 | |||
| #hash: MD5 | |||
| #tb 0: 1/50 | |||
| #stream#, dts, pts, duration, size, hash | |||
| 0, 0, 0, 1, 57600, 18fed3eff623f0308561e5db0bc28691 | |||
| 0, 1, 1, 1, 57600, 3f22b2269cd53738e955c4b27ff6abce | |||
| 0, 2, 2, 1, 57600, d1a44bae5cf45c68c5ca86f9e1ffd6a0 | |||
| 0, 3, 3, 1, 57600, 6592a5b6f1a8a18930bf27195a836efc | |||
| 0, 4, 4, 1, 57600, f1dc8ba72916630aa8ff07f214bd1baf | |||
| 0, 5, 5, 1, 57600, 195db6438c313e870ecfe9db3e3cbe83 | |||
| 0, 6, 6, 1, 57600, ad1cca6689026c31c2350594b669b7e7 | |||
| 0, 7, 7, 1, 57600, 6cb437a604a714ea746b429cdd68c47f | |||
| 0, 8, 8, 1, 57600, cda524f9de8774cc161224c3b81033f5 | |||
| 0, 9, 9, 1, 57600, a2ae05ae998b4158a32b96e01ed02241 | |||
| @@ -0,0 +1,25 @@ | |||
| #format: frame checksums | |||
| #version: 1 | |||
| #hash: MD5 | |||
| #tb 0: 1/50 | |||
| #stream#, dts, pts, duration, size, hash | |||
| 0, 0, 0, 1, 57600, 504a347654ef41e568c484ab017f5387 | |||
| 0, 1, 1, 1, 57600, 6110f151a39144da5616227d44b81c21 | |||
| 0, 2, 2, 1, 57600, a856b5e0675c59fb9329d087580c6c5b | |||
| 0, 3, 3, 1, 57600, d951b271bf38e7c9b9d215f7a87a079c | |||
| 0, 4, 4, 1, 57600, a9e6feb4142a111c74d46cdbac08f2e6 | |||
| 0, 5, 5, 1, 57600, 4802b599651e7aa35cd52d0dfbfaa4d3 | |||
| 0, 6, 6, 1, 57600, 1244f3b9da3341057566915e708c7afb | |||
| 0, 7, 7, 1, 57600, 212a02d7ee8d56b6f2a4fd7ee6eb3c93 | |||
| 0, 8, 8, 1, 57600, 1872091be977628ff5435f9186f64a29 | |||
| 0, 9, 9, 1, 57600, d5255599c33859ee96474a20929dc4bb | |||
| 0, 10, 10, 1, 57600, 16d0056501cd1bfc630f6f99672504a0 | |||
| 0, 11, 11, 1, 57600, 7dcca62c4dc5d508f38376533648bce6 | |||
| 0, 12, 12, 1, 57600, 1e1617813af32cbf7be3df11d275339e | |||
| 0, 13, 13, 1, 57600, 88b036fde717f72485b24e346f55f9dc | |||
| 0, 14, 14, 1, 57600, e689287b89b116ec71670ee479e15717 | |||
| 0, 15, 15, 1, 57600, 211aa3727dcde2d9dfe15d6cebda69e4 | |||
| 0, 16, 16, 1, 57600, 3037677f680cbdcac242da94717da3ff | |||
| 0, 17, 17, 1, 57600, 0138ea9fd279a939df385ea0c97700ca | |||
| 0, 18, 18, 1, 57600, 9da47cb99085c352f9e9a07639a9b3cb | |||
| 0, 19, 19, 1, 57600, d369f4c840ccb61ce3aaffc77b5f230e | |||
| @@ -0,0 +1,15 @@ | |||
| #format: frame checksums | |||
| #version: 1 | |||
| #hash: MD5 | |||
| #tb 0: 1/50 | |||
| #stream#, dts, pts, duration, size, hash | |||
| 0, 0, 0, 1, 86400, 06a4c4550dc31f75f842a4e65fc32398 | |||
| 0, 1, 1, 1, 86400, f7feda15d5c2babc1f6438c72d4900e4 | |||
| 0, 2, 2, 1, 86400, 5aa9924c0a17c2209b72ba7ec9af6fdd | |||
| 0, 3, 3, 1, 86400, 01597451aab5498ba89a7f632cd7d0cf | |||
| 0, 4, 4, 1, 86400, 9a42ae17c2744c305895acd911066575 | |||
| 0, 5, 5, 1, 86400, 17c1d9cda113a3ce2fc7387e2adaa89b | |||
| 0, 6, 6, 1, 86400, 6c6e303d282d8e043329eb6b29600cb4 | |||
| 0, 7, 7, 1, 86400, 97b7d47711222a91dd7ac121df01f922 | |||
| 0, 8, 8, 1, 86400, 69f305bc0a4a92422b5ebe05a3ac8b38 | |||
| 0, 9, 9, 1, 86400, a559c738c428c2f895e94a31957eec6b | |||
| @@ -0,0 +1,15 @@ | |||
| #format: frame checksums | |||
| #version: 1 | |||
| #hash: MD5 | |||
| #tb 0: 1/50 | |||
| #stream#, dts, pts, duration, size, hash | |||
| 0, 0, 0, 1, 57600, 442a6d932a163907303f1e08056b33b3 | |||
| 0, 1, 1, 1, 57600, 80b21954eb522f0140e2226a03062839 | |||
| 0, 2, 2, 1, 57600, 991251ca3f55879e3ed90d5816bf5056 | |||
| 0, 3, 3, 1, 57600, 33f1a1aa1a48fda4ef7dccf302c4e7bf | |||
| 0, 4, 4, 1, 57600, e9faf81b0664be622040910f29e3d522 | |||
| 0, 5, 5, 1, 57600, fa9aba755df9f52aa551d942bba5e26f | |||
| 0, 6, 6, 1, 57600, ef58938b38ced2fecb8afdb9a6d8024b | |||
| 0, 7, 7, 1, 57600, ce43338326c024eb187abaeaa64a44b1 | |||
| 0, 8, 8, 1, 57600, d487dab8c8b9f690f13569f3d1875a6d | |||
| 0, 9, 9, 1, 57600, b4ab8672067ffce5df2daa9a2c2496d2 | |||
| @@ -0,0 +1,25 @@ | |||
| #format: frame checksums | |||
| #version: 1 | |||
| #hash: MD5 | |||
| #tb 0: 1/50 | |||
| #stream#, dts, pts, duration, size, hash | |||
| 0, 0, 0, 1, 57600, 9c03fb4aa813522d9a44b3b309b85d19 | |||
| 0, 1, 1, 1, 57600, 73081beafa17bc23a170172e311c0f54 | |||
| 0, 2, 2, 1, 57600, 36a1eb7aec96b81d54119e26a5056f48 | |||
| 0, 3, 3, 1, 57600, 228ca739c96ceb5c63f593790e487a49 | |||
| 0, 4, 4, 1, 57600, 289e08c01574d23562ce8162b0ec553b | |||
| 0, 5, 5, 1, 57600, 76ca62fa4b80bef534e3cb4e37d9f178 | |||
| 0, 6, 6, 1, 57600, 0d9d5c09c4a453b8b7e04d2904924e15 | |||
| 0, 7, 7, 1, 57600, b659b38305c3afbbc84f5aab4c373592 | |||
| 0, 8, 8, 1, 57600, 3f5c87c678c2dc6ffc45ec875920e620 | |||
| 0, 9, 9, 1, 57600, d758cb908aee57e05af8dd7132ce0973 | |||
| 0, 10, 10, 1, 57600, 5539bdf8f2cfc09580bd9371c3655989 | |||
| 0, 11, 11, 1, 57600, 0446cf34d7f1a081e7eef6050cbcb7d8 | |||
| 0, 12, 12, 1, 57600, 2a29f74bd76f8c2187a0f61ff6935744 | |||
| 0, 13, 13, 1, 57600, fb4b0e71884069537e3e3e62fbe83877 | |||
| 0, 14, 14, 1, 57600, 57e19855e60825333fbbd9fdbad54ca0 | |||
| 0, 15, 15, 1, 57600, 2f111ed5be32c4cbff83efd5530893db | |||
| 0, 16, 16, 1, 57600, 87afd9a47e6ee7a71cee99157dd89815 | |||
| 0, 17, 17, 1, 57600, 72992f2a91f9d91dca5c638d6a2f748c | |||
| 0, 18, 18, 1, 57600, ad92cad72adfe2ad43c3be5e3b74439f | |||
| 0, 19, 19, 1, 57600, d70f736810724ab968307daf4da1120c | |||
| @@ -0,0 +1,15 @@ | |||
| #format: frame checksums | |||
| #version: 1 | |||
| #hash: MD5 | |||
| #tb 0: 1/50 | |||
| #stream#, dts, pts, duration, size, hash | |||
| 0, 0, 0, 1, 86400, d9500a2c9e0b6b44935de019c3583194 | |||
| 0, 1, 1, 1, 86400, 58edf3e69b332a2b62ca78a8dc99ea68 | |||
| 0, 2, 2, 1, 86400, ca8894e8496bf0eec64655972323feb2 | |||
| 0, 3, 3, 1, 86400, 3473bbb77d10631525a6e7240f6f0c68 | |||
| 0, 4, 4, 1, 86400, 1bc71b016a90d6a79882bd6b8af0cb23 | |||
| 0, 5, 5, 1, 86400, ebfbb540587c20586d9ff33adee41f24 | |||
| 0, 6, 6, 1, 86400, e8bd27ebb53f979232abbb9d18b15085 | |||
| 0, 7, 7, 1, 86400, 820f65d50b3c48ec600924c0bba90c40 | |||
| 0, 8, 8, 1, 86400, d8d8588550bc9820eb3289c5684dd7a9 | |||
| 0, 9, 9, 1, 86400, d8bd25842191e47ac1b342655e7015e6 | |||