diff --git a/libavcodec/sheervideo.c b/libavcodec/sheervideo.c index 3471fdcff9..976c21c445 100644 --- a/libavcodec/sheervideo.c +++ b/libavcodec/sheervideo.c @@ -1816,6 +1816,7 @@ static int decode_frame(AVCodecContext *avctx, { SheerVideoContext *s = avctx->priv_data; ThreadFrame frame = { .f = data }; + const SheerTable *table; AVFrame *p = data; GetBitContext gb; unsigned format; @@ -1835,210 +1836,135 @@ static int decode_frame(AVCodecContext *avctx, case MKTAG(' ', 'R', 'G', 'B'): avctx->pix_fmt = AV_PIX_FMT_RGB0; s->decode_frame = decode_rgb; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_r_rgb); - ret |= build_vlc(&s->vlc[1], &l_g_rgb); - } + table = rgb; break; case MKTAG(' ', 'r', 'G', 'B'): avctx->pix_fmt = AV_PIX_FMT_RGB0; s->decode_frame = decode_rgbi; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_r_rgbi); - ret |= build_vlc(&s->vlc[1], &l_g_rgbi); - } + table = rgbi; break; case MKTAG('A', 'R', 'G', 'X'): avctx->pix_fmt = AV_PIX_FMT_GBRAP10; s->decode_frame = decode_argx; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_r_rgbx); - ret |= build_vlc(&s->vlc[1], &l_g_rgbx); - } + table = rgbx; break; case MKTAG('A', 'r', 'G', 'X'): avctx->pix_fmt = AV_PIX_FMT_GBRAP10; s->decode_frame = decode_argxi; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_r_rgbxi); - ret |= build_vlc(&s->vlc[1], &l_g_rgbxi); - } + table = rgbxi; break; case MKTAG('R', 'G', 'B', 'X'): avctx->pix_fmt = AV_PIX_FMT_GBRP10; s->decode_frame = decode_rgbx; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_r_rgbx); - ret |= build_vlc(&s->vlc[1], &l_g_rgbx); - } + table = rgbx; break; case MKTAG('r', 'G', 'B', 'X'): avctx->pix_fmt = AV_PIX_FMT_GBRP10; s->decode_frame = decode_rgbxi; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_r_rgbxi); - ret |= build_vlc(&s->vlc[1], &l_g_rgbxi); - } + table = rgbxi; break; case MKTAG('A', 'R', 'G', 'B'): avctx->pix_fmt = AV_PIX_FMT_ARGB; s->decode_frame = decode_argb; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_r_rgb); - ret |= build_vlc(&s->vlc[1], &l_g_rgb); - } + table = rgb; break; case MKTAG('A', 'r', 'G', 'B'): avctx->pix_fmt = AV_PIX_FMT_ARGB; s->decode_frame = decode_argbi; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_r_rgbi); - ret |= build_vlc(&s->vlc[1], &l_g_rgbi); - } + table = rgbi; break; case MKTAG('A', 'Y', 'B', 'R'): s->alt = 1; case MKTAG('A', 'Y', 'b', 'R'): avctx->pix_fmt = AV_PIX_FMT_YUVA444P; s->decode_frame = decode_aybr; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_ybr); - ret |= build_vlc(&s->vlc[1], &l_u_ybr); - } + table = ybr; break; case MKTAG('A', 'y', 'B', 'R'): s->alt = 1; case MKTAG('A', 'y', 'b', 'R'): avctx->pix_fmt = AV_PIX_FMT_YUVA444P; s->decode_frame = decode_aybri; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_ybri); - ret |= build_vlc(&s->vlc[1], &l_u_ybri); - } + table = ybri; break; case MKTAG(' ', 'Y', 'B', 'R'): s->alt = 1; case MKTAG(' ', 'Y', 'b', 'R'): avctx->pix_fmt = AV_PIX_FMT_YUV444P; s->decode_frame = decode_ybr; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_ybr); - ret |= build_vlc(&s->vlc[1], &l_u_ybr); - } + table = ybr; break; case MKTAG(' ', 'y', 'B', 'R'): s->alt = 1; case MKTAG(' ', 'y', 'b', 'R'): avctx->pix_fmt = AV_PIX_FMT_YUV444P; s->decode_frame = decode_ybri; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_ybri); - ret |= build_vlc(&s->vlc[1], &l_u_ybri); - } + table = ybri; break; case MKTAG('Y', 'B', 'R', 0x0a): avctx->pix_fmt = AV_PIX_FMT_YUV444P10; s->decode_frame = decode_ybr10; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_ybr10); - ret |= build_vlc(&s->vlc[1], &l_u_ybr10); - } + table = ybr10; break; case MKTAG('y', 'B', 'R', 0x0a): avctx->pix_fmt = AV_PIX_FMT_YUV444P10; s->decode_frame = decode_ybr10i; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_ybr10i); - ret |= build_vlc(&s->vlc[1], &l_u_ybr10i); - } + table = ybr10i; break; case MKTAG('C', 'A', '4', 'p'): avctx->pix_fmt = AV_PIX_FMT_YUVA444P10; s->decode_frame = decode_ca4p; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_ybr10); - ret |= build_vlc(&s->vlc[1], &l_u_ybr10); - } + table = ybr10; break; case MKTAG('C', 'A', '4', 'i'): avctx->pix_fmt = AV_PIX_FMT_YUVA444P10; s->decode_frame = decode_ca4i; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_ybr10i); - ret |= build_vlc(&s->vlc[1], &l_u_ybr10i); - } + table = ybr10i; break; case MKTAG('B', 'Y', 'R', 'Y'): avctx->pix_fmt = AV_PIX_FMT_YUV422P; s->decode_frame = decode_byry; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_byry); - ret |= build_vlc(&s->vlc[1], &l_u_byry); - } + table = byry; break; case MKTAG('B', 'Y', 'R', 'y'): avctx->pix_fmt = AV_PIX_FMT_YUV422P; s->decode_frame = decode_byryi; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_byryi); - ret |= build_vlc(&s->vlc[1], &l_u_byryi); - } + table = byryi; break; case MKTAG('Y', 'b', 'Y', 'r'): avctx->pix_fmt = AV_PIX_FMT_YUV422P; s->decode_frame = decode_ybyr; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_ybyr); - ret |= build_vlc(&s->vlc[1], &l_u_ybyr); - } + table = ybyr; break; case MKTAG('C', '8', '2', 'p'): avctx->pix_fmt = AV_PIX_FMT_YUVA422P; s->decode_frame = decode_c82p; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_byry); - ret |= build_vlc(&s->vlc[1], &l_u_byry); - } + table = byry; break; case MKTAG('C', '8', '2', 'i'): avctx->pix_fmt = AV_PIX_FMT_YUVA422P; s->decode_frame = decode_c82i; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_byryi); - ret |= build_vlc(&s->vlc[1], &l_u_byryi); - } + table = byryi; break; case MKTAG(0xa2, 'Y', 'R', 'Y'): avctx->pix_fmt = AV_PIX_FMT_YUV422P10; s->decode_frame = decode_yry10; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_yry10); - ret |= build_vlc(&s->vlc[1], &l_u_yry10); - } + table = yry10; break; case MKTAG(0xa2, 'Y', 'R', 'y'): avctx->pix_fmt = AV_PIX_FMT_YUV422P10; s->decode_frame = decode_yry10i; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_yry10i); - ret |= build_vlc(&s->vlc[1], &l_u_yry10i); - } + table = yry10i; break; case MKTAG('C', 'A', '2', 'p'): avctx->pix_fmt = AV_PIX_FMT_YUVA422P10; s->decode_frame = decode_ca2p; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_yry10); - ret |= build_vlc(&s->vlc[1], &l_u_yry10); - } + table = yry10; break; case MKTAG('C', 'A', '2', 'i'): avctx->pix_fmt = AV_PIX_FMT_YUVA422P10; s->decode_frame = decode_ca2i; - if (s->format != format) { - ret = build_vlc(&s->vlc[0], &l_y_yry10i); - ret |= build_vlc(&s->vlc[1], &l_u_yry10i); - } + table = yry10i; break; default: avpriv_request_sample(avctx, "unsupported format: 0x%X", format); @@ -2046,7 +1972,8 @@ static int decode_frame(AVCodecContext *avctx, } if (s->format != format) { - if (ret < 0) { + if ((ret = build_vlc(&s->vlc[0], &table[0])) < 0 || + (ret = build_vlc(&s->vlc[1], &table[1])) < 0) { s->format = 0; return ret; } diff --git a/libavcodec/sheervideodata.h b/libavcodec/sheervideodata.h index 2cb8da377e..fbce3a4122 100644 --- a/libavcodec/sheervideodata.h +++ b/libavcodec/sheervideodata.h @@ -29,134 +29,147 @@ typedef struct SheerTable { uint16_t nb_16s; } SheerTable; -static const SheerTable l_r_rgb = { - { 0, 0, 2, 2, 3, 3, 5, 5, 8, 8, 10, 9, 14, 15, 18, - 17, 16, 13, 10, 10, 8, 7, 6, 5, 3, 2, 3, 0, 0, 0 }, 54 -}; - -static const SheerTable l_g_rgb = { - { 0, 2, 0, 2, 0, 1, 1, 0, 2, 1, 3, 3, 4, 7, 13, - 11, 8, 4, 3, 3, 1, 2, 1, 0, 1, 0, 1, 2, 0, 0 }, 180 -}; - -static const SheerTable l_r_rgbi = { - { 0, 0, 1, 3, 3, 3, 6, 8, 8, 11, 12, 15, 18, 21, 38, - 0, 22, 19, 15, 12, 11, 7, 8, 6, 4, 2, 3, 0, 0, 0 }, 0 -}; - -static const SheerTable l_g_rgbi = { - { 1, 0, 1, 1, 1, 1, 2, 1, 2, 4, 3, 5, 5, 6, 12, - 14, 6, 6, 5, 3, 3, 3, 2, 1, 1, 2, 0, 1, 0, 0 }, 164 -}; - -static const SheerTable l_y_ybr = { - { 0, 0, 2, 2, 2, 3, 5, 5, 7, 7, 8, 9, 13, 13, 19, - 16, 14, 12, 9, 9, 7, 6, 6, 4, 4, 1, 2, 1, 0, 0 }, 70 -}; - -static const SheerTable l_u_ybr = { - { 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 2, 2, 3, 5, 5, - 5, 5, 3, 2, 2, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0 }, 212 -}; - -static const SheerTable l_y_ybyr = { - { 0, 0, 2, 2, 3, 3, 5, 5, 8, 8, 10, 10, 13, 15, 19, - 18, 15, 12, 10, 10, 8, 7, 6, 5, 3, 2, 3, 0, 0, 0 }, 54 -}; - -static const SheerTable l_u_ybyr = { - { 1, 1, 0, 1, 0, 1, 0, 1, 1, 2, 2, 3, 2, 5, 5, - 5, 4, 3, 2, 2, 2, 1, 1, 1, 1, 0, 0, 1, 0, 0 }, 208 -}; - -static const SheerTable l_y_byry = { - { 0, 0, 2, 2, 2, 3, 5, 5, 7, 7, 8, 11, 10, 14, 19, - 14, 16, 12, 10, 8, 7, 6, 6, 4, 4, 1, 2, 1, 0, 0 }, 70 -}; - -static const SheerTable l_u_byry = { - { 1, 1, 0, 1, 0, 1, 0, 1, 2, 1, 2, 2, 3, 4, 6, - 6, 4, 2, 3, 2, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0 }, 208 -}; - -static const SheerTable l_y_ybr10i = { - { 0, 0, 1, 0, 3, 8, 9, 12, 19, 27, 27, 39, 50, 63, 93, - 89, 64, 50, 38, 26, 26, 20, 12, 9, 8, 3, 0, 0, 0, 0 }, 328 -}; - -static const SheerTable l_u_ybr10i = { - { 0, 1, 1, 2, 2, 1, 2, 2, 4, 4, 6, 7, 9, 13, 28, - 28, 12, 11, 6, 7, 5, 3, 3, 1, 1, 2, 2, 1, 0, 0 }, 860 -}; - -static const SheerTable l_y_ybr10 = { - { 0, 0, 0, 1, 6, 6, 8, 12, 18, 21, 27, 29, 36, 47, 71, - 72, 46, 36, 29, 27, 21, 17, 13, 7, 7, 5, 0, 0, 0, 0 }, 462 -}; - -static const SheerTable l_u_ybr10 = { - { 0, 1, 2, 1, 2, 1, 1, 1, 2, 3, 2, 5, 6, 10, 20, - 20, 10, 6, 4, 3, 2, 2, 2, 1, 1, 1, 2, 1, 0, 0 }, 912 -}; - -static const SheerTable l_r_rgbx = { - { 0, 0, 0, 1, 3, 9, 10, 13, 19, 26, 28, 35, 40, 53, 77, - 77, 50, 42, 34, 28, 25, 19, 13, 10, 8, 4, 0, 0, 0, 0 }, 400 -}; - -static const SheerTable l_g_rgbx = { - { 0, 0, 1, 2, 6, 4, 3, 2, 3, 4, 6, 8, 10, 18, 39, - 39, 18, 11, 8, 6, 4, 4, 1, 3, 5, 4, 3, 0, 0, 0 }, 812 -}; - -static const SheerTable l_y_yry10 = { - { 0, 0, 0, 1, 6, 6, 8, 12, 18, 21, 27, 29, 36, 47, 71, - 72, 46, 36, 29, 27, 21, 17, 13, 7, 7, 5, 0, 0, 0, 0 }, 462 -}; - -static const SheerTable l_u_yry10 = { - { 0, 1, 2, 1, 1, 1, 2, 3, 2, 4, 5, 5, 8, 14, 16, - 18, 11, 7, 7, 4, 4, 3, 2, 2, 1, 1, 2, 1, 0, 0 }, 896 -}; - -static const SheerTable l_y_yry10i = { - { 0, 0, 1, 0, 3, 8, 9, 12, 19, 27, 27, 40, 48, 64, 93, - 89, 65, 49, 38, 26, 26, 20, 12, 9, 8, 3, 0, 0, 0, 0 }, 328 -}; - -static const SheerTable l_u_yry10i = { - { 0, 1, 0, 3, 1, 3, 3, 3, 6, 7, 7, 12, 11, 19, 23, - 20, 18, 12, 12, 8, 6, 5, 4, 3, 2, 2, 2, 1, 0, 0 }, 830 -}; - -static const SheerTable l_y_ybri = { - { 0, 0, 2, 2, 2, 3, 5, 5, 7, 10, 11, 13, 15, 13, 26, - 20, 16, 17, 12, 11, 9, 7, 5, 5, 3, 3, 1, 1, 0, 0 }, 32 -}; - -static const SheerTable l_u_ybri = { - { 1, 0, 1, 0, 1, 1, 0, 2, 1, 2, 2, 2, 3, 6, 6, - 5, 6, 3, 2, 2, 2, 1, 2, 0, 1, 1, 0, 0, 1, 0 }, 202 -}; - -static const SheerTable l_y_byryi = { - { 0, 0, 2, 2, 2, 2, 6, 5, 8, 8, 12, 12, 16, 14, 24, - 20, 16, 18, 12, 12, 8, 7, 5, 6, 3, 1, 2, 1, 0, 0 }, 32 -}; - -static const SheerTable l_u_byryi = { - { 1, 0, 1, 1, 0, 2, 1, 2, 2, 3, 3, 4, 5, 4, 6, - 7, 5, 4, 4, 3, 3, 2, 2, 2, 0, 1, 1, 1, 0, 0 }, 186 -}; - -static const SheerTable l_r_rgbxi = { - { 0, 0, 1, 3, 2, 3, 4, 6, 16, 23, 27, 29, 24, 29, 76, - 78, 29, 21, 29, 27, 23, 15, 7, 4, 3, 2, 3, 0, 0, 0 }, 540 -}; - -static const SheerTable l_g_rgbxi = { - { 0, 1, 1, 2, 0, 2, 6, 4, 3, 9, 7, 12, 13, 16, 29, - 32, 17, 14, 12, 7, 8, 4, 4, 6, 2, 0, 2, 1, 0, 0 }, 810 +static const SheerTable rgb[2] = { + { + { 0, 0, 2, 2, 3, 3, 5, 5, 8, 8, 10, 9, 14, 15, 18, + 17, 16, 13, 10, 10, 8, 7, 6, 5, 3, 2, 3, 0, 0, 0 }, 54 + }, + { + { 0, 2, 0, 2, 0, 1, 1, 0, 2, 1, 3, 3, 4, 7, 13, + 11, 8, 4, 3, 3, 1, 2, 1, 0, 1, 0, 1, 2, 0, 0 }, 180 + } +}; + +static const SheerTable rgbi[2] = { + { + { 0, 0, 1, 3, 3, 3, 6, 8, 8, 11, 12, 15, 18, 21, 38, + 0, 22, 19, 15, 12, 11, 7, 8, 6, 4, 2, 3, 0, 0, 0 }, 0 + }, + { + { 1, 0, 1, 1, 1, 1, 2, 1, 2, 4, 3, 5, 5, 6, 12, + 14, 6, 6, 5, 3, 3, 3, 2, 1, 1, 2, 0, 1, 0, 0 }, 164 + } +}; + +static const SheerTable ybr[2] = { + { + { 0, 0, 2, 2, 2, 3, 5, 5, 7, 7, 8, 9, 13, 13, 19, + 16, 14, 12, 9, 9, 7, 6, 6, 4, 4, 1, 2, 1, 0, 0 }, 70 + }, + { + { 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 2, 2, 3, 5, 5, + 5, 5, 3, 2, 2, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0 }, 212 + } +}; + +static const SheerTable ybyr[2] = { + { + { 0, 0, 2, 2, 3, 3, 5, 5, 8, 8, 10, 10, 13, 15, 19, + 18, 15, 12, 10, 10, 8, 7, 6, 5, 3, 2, 3, 0, 0, 0 }, 54 + }, + { + { 1, 1, 0, 1, 0, 1, 0, 1, 1, 2, 2, 3, 2, 5, 5, + 5, 4, 3, 2, 2, 2, 1, 1, 1, 1, 0, 0, 1, 0, 0 }, 208 + } +}; + +static const SheerTable byry[2] = { + { + { 0, 0, 2, 2, 2, 3, 5, 5, 7, 7, 8, 11, 10, 14, 19, + 14, 16, 12, 10, 8, 7, 6, 6, 4, 4, 1, 2, 1, 0, 0 }, 70 + }, + { + { 1, 1, 0, 1, 0, 1, 0, 1, 2, 1, 2, 2, 3, 4, 6, + 6, 4, 2, 3, 2, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0 }, 208 + } +}; + +static const SheerTable ybr10i[2] = { + { + { 0, 0, 1, 0, 3, 8, 9, 12, 19, 27, 27, 39, 50, 63, 93, + 89, 64, 50, 38, 26, 26, 20, 12, 9, 8, 3, 0, 0, 0, 0 }, 328 + }, + { + { 0, 1, 1, 2, 2, 1, 2, 2, 4, 4, 6, 7, 9, 13, 28, + 28, 12, 11, 6, 7, 5, 3, 3, 1, 1, 2, 2, 1, 0, 0 }, 860 + } +}; + +static const SheerTable ybr10[2] = { + { + { 0, 0, 0, 1, 6, 6, 8, 12, 18, 21, 27, 29, 36, 47, 71, + 72, 46, 36, 29, 27, 21, 17, 13, 7, 7, 5, 0, 0, 0, 0 }, 462 + }, + { + { 0, 1, 2, 1, 2, 1, 1, 1, 2, 3, 2, 5, 6, 10, 20, + 20, 10, 6, 4, 3, 2, 2, 2, 1, 1, 1, 2, 1, 0, 0 }, 912 + } +}; + +static const SheerTable rgbx[2] = { + { + { 0, 0, 0, 1, 3, 9, 10, 13, 19, 26, 28, 35, 40, 53, 77, + 77, 50, 42, 34, 28, 25, 19, 13, 10, 8, 4, 0, 0, 0, 0 }, 400 + }, + { + { 0, 0, 1, 2, 6, 4, 3, 2, 3, 4, 6, 8, 10, 18, 39, + 39, 18, 11, 8, 6, 4, 4, 1, 3, 5, 4, 3, 0, 0, 0 }, 812 + } +}; + +static const SheerTable yry10[2] = { + { + { 0, 0, 0, 1, 6, 6, 8, 12, 18, 21, 27, 29, 36, 47, 71, + 72, 46, 36, 29, 27, 21, 17, 13, 7, 7, 5, 0, 0, 0, 0 }, 462 + }, + { + { 0, 1, 2, 1, 1, 1, 2, 3, 2, 4, 5, 5, 8, 14, 16, + 18, 11, 7, 7, 4, 4, 3, 2, 2, 1, 1, 2, 1, 0, 0 }, 896 + } +}; + +static const SheerTable yry10i[2] = { + { + { 0, 0, 1, 0, 3, 8, 9, 12, 19, 27, 27, 40, 48, 64, 93, + 89, 65, 49, 38, 26, 26, 20, 12, 9, 8, 3, 0, 0, 0, 0 }, 328 + }, + { + { 0, 1, 0, 3, 1, 3, 3, 3, 6, 7, 7, 12, 11, 19, 23, + 20, 18, 12, 12, 8, 6, 5, 4, 3, 2, 2, 2, 1, 0, 0 }, 830 + } +}; + +static const SheerTable ybri[2] = { + { + { 0, 0, 2, 2, 2, 3, 5, 5, 7, 10, 11, 13, 15, 13, 26, + 20, 16, 17, 12, 11, 9, 7, 5, 5, 3, 3, 1, 1, 0, 0 }, 32 + }, + { + { 1, 0, 1, 0, 1, 1, 0, 2, 1, 2, 2, 2, 3, 6, 6, + 5, 6, 3, 2, 2, 2, 1, 2, 0, 1, 1, 0, 0, 1, 0 }, 202 + } +}; + +static const SheerTable byryi[2] = { + { + { 0, 0, 2, 2, 2, 2, 6, 5, 8, 8, 12, 12, 16, 14, 24, + 20, 16, 18, 12, 12, 8, 7, 5, 6, 3, 1, 2, 1, 0, 0 }, 32 + }, + { + { 1, 0, 1, 1, 0, 2, 1, 2, 2, 3, 3, 4, 5, 4, 6, + 7, 5, 4, 4, 3, 3, 2, 2, 2, 0, 1, 1, 1, 0, 0 }, 186 + } +}; + +static const SheerTable rgbxi[2] = { + { + { 0, 0, 1, 3, 2, 3, 4, 6, 16, 23, 27, 29, 24, 29, 76, + 78, 29, 21, 29, 27, 23, 15, 7, 4, 3, 2, 3, 0, 0, 0 }, 540 + }, + { + { 0, 1, 1, 2, 0, 2, 6, 4, 3, 9, 7, 12, 13, 16, 29, + 32, 17, 14, 12, 7, 8, 4, 4, 6, 2, 0, 2, 1, 0, 0 }, 810 + } }; #endif /* AVCODEC_SHEERVIDEODATA_H */