48 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2,
49 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5,
50 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2,
51 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5,
56 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3,
57 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6,
58 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10,
59 10,10,10,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13, 13, 13, 13,
64 0 + 0 * 4, 0 + 1 * 4, 1 + 0 * 4, 0 + 2 * 4,
65 0 + 3 * 4, 1 + 1 * 4, 1 + 2 * 4, 1 + 3 * 4,
66 2 + 0 * 4, 2 + 1 * 4, 2 + 2 * 4, 2 + 3 * 4,
67 3 + 0 * 4, 3 + 1 * 4, 3 + 2 * 4, 3 + 3 * 4,
71 0 + 0 * 8, 0 + 1 * 8, 0 + 2 * 8, 1 + 0 * 8,
72 1 + 1 * 8, 0 + 3 * 8, 0 + 4 * 8, 1 + 2 * 8,
73 2 + 0 * 8, 1 + 3 * 8, 0 + 5 * 8, 0 + 6 * 8,
74 0 + 7 * 8, 1 + 4 * 8, 2 + 1 * 8, 3 + 0 * 8,
75 2 + 2 * 8, 1 + 5 * 8, 1 + 6 * 8, 1 + 7 * 8,
76 2 + 3 * 8, 3 + 1 * 8, 4 + 0 * 8, 3 + 2 * 8,
77 2 + 4 * 8, 2 + 5 * 8, 2 + 6 * 8, 2 + 7 * 8,
78 3 + 3 * 8, 4 + 1 * 8, 5 + 0 * 8, 4 + 2 * 8,
79 3 + 4 * 8, 3 + 5 * 8, 3 + 6 * 8, 3 + 7 * 8,
80 4 + 3 * 8, 5 + 1 * 8, 6 + 0 * 8, 5 + 2 * 8,
81 4 + 4 * 8, 4 + 5 * 8, 4 + 6 * 8, 4 + 7 * 8,
82 5 + 3 * 8, 6 + 1 * 8, 6 + 2 * 8, 5 + 4 * 8,
83 5 + 5 * 8, 5 + 6 * 8, 5 + 7 * 8, 6 + 3 * 8,
84 7 + 0 * 8, 7 + 1 * 8, 6 + 4 * 8, 6 + 5 * 8,
85 6 + 6 * 8, 6 + 7 * 8, 7 + 2 * 8, 7 + 3 * 8,
86 7 + 4 * 8, 7 + 5 * 8, 7 + 6 * 8, 7 + 7 * 8,
90 0 + 0 * 8, 1 + 1 * 8, 2 + 0 * 8, 0 + 7 * 8,
91 2 + 2 * 8, 2 + 3 * 8, 2 + 4 * 8, 3 + 3 * 8,
92 3 + 4 * 8, 4 + 3 * 8, 4 + 4 * 8, 5 + 3 * 8,
93 5 + 5 * 8, 7 + 0 * 8, 6 + 6 * 8, 7 + 4 * 8,
94 0 + 1 * 8, 0 + 3 * 8, 1 + 3 * 8, 1 + 4 * 8,
95 1 + 5 * 8, 3 + 1 * 8, 2 + 5 * 8, 4 + 1 * 8,
96 3 + 5 * 8, 5 + 1 * 8, 4 + 5 * 8, 6 + 1 * 8,
97 5 + 6 * 8, 7 + 1 * 8, 6 + 7 * 8, 7 + 5 * 8,
98 0 + 2 * 8, 0 + 4 * 8, 0 + 5 * 8, 2 + 1 * 8,
99 1 + 6 * 8, 4 + 0 * 8, 2 + 6 * 8, 5 + 0 * 8,
100 3 + 6 * 8, 6 + 0 * 8, 4 + 6 * 8, 6 + 2 * 8,
101 5 + 7 * 8, 6 + 4 * 8, 7 + 2 * 8, 7 + 6 * 8,
102 1 + 0 * 8, 1 + 2 * 8, 0 + 6 * 8, 3 + 0 * 8,
103 1 + 7 * 8, 3 + 2 * 8, 2 + 7 * 8, 4 + 2 * 8,
104 3 + 7 * 8, 5 + 2 * 8, 4 + 7 * 8, 5 + 4 * 8,
105 6 + 3 * 8, 6 + 5 * 8, 7 + 3 * 8, 7 + 7 * 8,
110 0 + 0 * 8, 1 + 1 * 8, 1 + 2 * 8, 2 + 2 * 8,
111 4 + 1 * 8, 0 + 5 * 8, 3 + 3 * 8, 7 + 0 * 8,
112 3 + 4 * 8, 1 + 7 * 8, 5 + 3 * 8, 6 + 3 * 8,
113 2 + 7 * 8, 6 + 4 * 8, 5 + 6 * 8, 7 + 5 * 8,
114 1 + 0 * 8, 2 + 0 * 8, 0 + 3 * 8, 3 + 1 * 8,
115 3 + 2 * 8, 0 + 6 * 8, 4 + 2 * 8, 6 + 1 * 8,
116 2 + 5 * 8, 2 + 6 * 8, 6 + 2 * 8, 5 + 4 * 8,
117 3 + 7 * 8, 7 + 3 * 8, 4 + 7 * 8, 7 + 6 * 8,
118 0 + 1 * 8, 3 + 0 * 8, 0 + 4 * 8, 4 + 0 * 8,
119 2 + 3 * 8, 1 + 5 * 8, 5 + 1 * 8, 5 + 2 * 8,
120 1 + 6 * 8, 3 + 5 * 8, 7 + 1 * 8, 4 + 5 * 8,
121 4 + 6 * 8, 7 + 4 * 8, 5 + 7 * 8, 6 + 7 * 8,
122 0 + 2 * 8, 2 + 1 * 8, 1 + 3 * 8, 5 + 0 * 8,
123 1 + 4 * 8, 2 + 4 * 8, 6 + 0 * 8, 4 + 3 * 8,
124 0 + 7 * 8, 4 + 4 * 8, 7 + 2 * 8, 3 + 6 * 8,
125 5 + 5 * 8, 6 + 5 * 8, 6 + 6 * 8, 7 + 7 * 8,
138 0, 3, 4, 3, 3, 1, 5, 1, 4, 5, 2, 5, 3, 1, 5, 1
142 { 20, 18, 32, 19, 25, 24 },
143 { 22, 19, 35, 21, 28, 26 },
144 { 26, 23, 42, 24, 33, 31 },
145 { 28, 25, 45, 26, 35, 33 },
146 { 32, 28, 51, 30, 40, 38 },
147 { 36, 32, 58, 34, 46, 43 },
151 #if CONFIG_H264_DXVA2_HWACCEL
154 #if CONFIG_H264_VAAPI_HWACCEL
157 #if CONFIG_H264_VDA_HWACCEL
161 #if CONFIG_H264_VDPAU_HWACCEL
169 #if CONFIG_H264_DXVA2_HWACCEL
172 #if CONFIG_H264_VAAPI_HWACCEL
175 #if CONFIG_H264_VDA_HWACCEL
179 #if CONFIG_H264_VDPAU_HWACCEL
225 const int b4_stride = h->
mb_width * 4 + 1;
226 const int b4_array_size = b4_stride * h->
mb_height * 4;
277 int h_chroma_shift, v_chroma_shift;
279 &h_chroma_shift, &v_chroma_shift);
283 0x80, FF_CEIL_RSHIFT(h->
avctx->
width, h_chroma_shift));
285 0x80, FF_CEIL_RSHIFT(h->
avctx->
width, h_chroma_shift));
303 for (i = 0; i < 2; i++) {
316 return (ret < 0) ? ret :
AVERROR(ENOMEM);
336 if (i == H264_MAX_PICTURE_COUNT)
353 for (i = 0; i < 6; i++) {
355 for (j = 0; j < i; j++)
364 for (q = 0; q < max_qp + 1; q++) {
367 for (x = 0; x < 64; x++)
379 for (i = 0; i < 6; i++) {
381 for (j = 0; j < i; j++)
390 for (q = 0; q < max_qp + 1; q++) {
393 for (x = 0; x < 16; x++)
410 for (i = 0; i < 6; i++)
411 for (x = 0; x < 16; x++)
414 for (i = 0; i < 6; i++)
415 for (x = 0; x < 64; x++)
445 #define IN_RANGE(a, b, size) (((a) >= (b)) && ((a) < ((b) + (size))))
446 #undef REBASE_PICTURE
447 #define REBASE_PICTURE(pic, new_ctx, old_ctx) \
448 (((pic) && (pic) >= (old_ctx)->DPB && \
449 (pic) < (old_ctx)->DPB + H264_MAX_PICTURE_COUNT) ? \
450 &(new_ctx)->DPB[(pic) - (old_ctx)->DPB] : NULL)
458 for (i = 0; i <
count; i++) {
459 assert((
IN_RANGE(from[i], old_base,
sizeof(*old_base)) ||
471 for (i = 0; i <
count; i++) {
472 if (to[i] && !from[i]) {
474 }
else if (from[i] && !to[i]) {
481 memcpy(to[i], from[i], size);
487 #define copy_fields(to, from, start_field, end_field) \
488 memcpy(&(to)->start_field, &(from)->start_field, \
489 (char *)&(to)->end_field - (char *)&(to)->start_field)
498 int context_reinitialized = 0;
505 (h->
width != h1->width ||
506 h->
height != h1->height ||
520 h->
width = h1->width;
529 (
void **)h1->sps_buffers,
534 (
void **)h1->pps_buffers,
543 context_reinitialized = 1;
546 h264_set_parameter_from_sps(h);
568 memcpy(h, h1, offsetof(
H264Context, intra_pcm_ptr));
569 memcpy(&h->
cabac, &h1->cabac,
576 memset(&h->
er, 0,
sizeof(h->
er));
577 memset(&h->
mb, 0,
sizeof(h->
mb));
588 for (i = 0; i < 2; i++) {
593 if (h1->context_initialized) {
632 if (h1->DPB && h1->DPB[i].f.buf[0] &&
651 (
void **)h1->sps_buffers,
656 (
void **)h1->pps_buffers,
663 copy_fields(h, h1, dequant4_buffer, dequant4_coeff);
665 for (i = 0; i < 6; i++)
667 (h1->dequant4_coeff[i] - h1->dequant4_buffer[0]);
669 for (i = 0; i < 6; i++)
671 (h1->dequant8_coeff[i] - h1->dequant8_buffer[0]);
688 if (context_reinitialized)
758 if (CONFIG_ERROR_RESILIENCE) {
765 if (CONFIG_ERROR_RESILIENCE) {
773 for (i = 0; i < 16; i++) {
777 for (i = 0; i < 16; i++) {
801 int linesize,
int uvlinesize,
811 src_cb -= uvlinesize;
812 src_cr -= uvlinesize;
818 AV_COPY128(top_border, src_y + 15 * linesize);
820 AV_COPY128(top_border + 16, src_y + 15 * linesize + 16);
824 AV_COPY128(top_border + 32, src_cb + 15 * uvlinesize);
825 AV_COPY128(top_border + 48, src_cb + 15 * uvlinesize + 16);
826 AV_COPY128(top_border + 64, src_cr + 15 * uvlinesize);
827 AV_COPY128(top_border + 80, src_cr + 15 * uvlinesize + 16);
829 AV_COPY128(top_border + 16, src_cb + 15 * uvlinesize);
830 AV_COPY128(top_border + 32, src_cr + 15 * uvlinesize);
832 }
else if (chroma422) {
834 AV_COPY128(top_border + 32, src_cb + 15 * uvlinesize);
835 AV_COPY128(top_border + 48, src_cr + 15 * uvlinesize);
837 AV_COPY64(top_border + 16, src_cb + 15 * uvlinesize);
838 AV_COPY64(top_border + 24, src_cr + 15 * uvlinesize);
842 AV_COPY128(top_border + 32, src_cb + 7 * uvlinesize);
843 AV_COPY128(top_border + 48, src_cr + 7 * uvlinesize);
845 AV_COPY64(top_border + 16, src_cb + 7 * uvlinesize);
846 AV_COPY64(top_border + 24, src_cr + 7 * uvlinesize);
860 AV_COPY128(top_border, src_y + 16 * linesize);
862 AV_COPY128(top_border + 16, src_y + 16 * linesize + 16);
867 AV_COPY128(top_border + 32, src_cb + 16 * linesize);
868 AV_COPY128(top_border + 48, src_cb + 16 * linesize + 16);
869 AV_COPY128(top_border + 64, src_cr + 16 * linesize);
870 AV_COPY128(top_border + 80, src_cr + 16 * linesize + 16);
872 AV_COPY128(top_border + 16, src_cb + 16 * linesize);
873 AV_COPY128(top_border + 32, src_cr + 16 * linesize);
875 }
else if (chroma422) {
877 AV_COPY128(top_border + 32, src_cb + 16 * uvlinesize);
878 AV_COPY128(top_border + 48, src_cr + 16 * uvlinesize);
880 AV_COPY64(top_border + 16, src_cb + 16 * uvlinesize);
881 AV_COPY64(top_border + 24, src_cr + 16 * uvlinesize);
885 AV_COPY128(top_border + 32, src_cb + 8 * uvlinesize);
886 AV_COPY128(top_border + 48, src_cr + 8 * uvlinesize);
888 AV_COPY64(top_border + 16, src_cb + 8 * uvlinesize);
889 AV_COPY64(top_border + 24, src_cr + 8 * uvlinesize);
902 int ref0, ref1, i, cur_poc, ref_start, ref_count0, ref_count1;
904 for (i = 0; i < 2; i++) {
936 for (ref0 = ref_start; ref0 < ref_count0; ref0++) {
938 for (ref1 = ref_start; ref1 < ref_count1; ref1++) {
942 int td = av_clip(poc1 - poc0, -128, 127);
944 int tb = av_clip(cur_poc - poc0, -128, 127);
945 int tx = (16384 + (
FFABS(td) >> 1)) /
td;
946 int dist_scale_factor = (tb * tx + 32) >> 8;
947 if (dist_scale_factor >= -64 && dist_scale_factor <= 128)
948 w = 64 - dist_scale_factor;
967 for (i = 0; i < 16; i++) {
968 #define TRANSPOSE(x) ((x) >> 2) | (((x) << 2) & 0xF)
973 for (i = 0; i < 64; i++) {
974 #define TRANSPOSE(x) ((x) >> 3) | (((x) & 7) << 3)
1118 if (!crop_present &&
1125 if (width <= 0 || height <= 0) {
1152 int nb_slices = (HAVE_THREADS &&
1188 " reducing to %d\n", nb_slices, max_slices);
1189 nb_slices = max_slices;
1208 if (CONFIG_ERROR_RESILIENCE) {
1281 unsigned int first_mb_in_slice;
1282 unsigned int pps_id;
1284 unsigned int slice_type, tmp, i, j;
1285 int last_pic_structure, last_pic_droppable;
1287 int needs_reinit = 0;
1288 int field_pic_flag, bottom_field_flag;
1295 if (first_mb_in_slice == 0) {
1311 if (slice_type > 9) {
1313 "slice type %d too large at %d %d\n",
1317 if (slice_type > 4) {
1352 "non-existing PPS %u referenced\n",
1358 "PPS change from %d to %d forbidden\n",
1366 "non-existing SPS %u referenced\n",
1439 (must_reinit || needs_reinit)) {
1442 "changing width %d -> %d / height %d -> %d on "
1461 "h264_slice_header_init() failed\n");
1468 "Cannot (re-)initialize context during parallel decoding.\n");
1478 "h264_slice_header_init() failed\n");
1503 if (field_pic_flag) {
1517 "Changing field mode (%d -> %d) between slices is not allowed\n",
1524 "unset cur_pic_ptr on slice %d\n",
1535 if (unwrap_prev_frame_num > h->
frame_num)
1536 unwrap_prev_frame_num -= max_frame_num;
1540 if (unwrap_prev_frame_num < 0)
1541 unwrap_prev_frame_num += max_frame_num;
1588 "Invalid field mode combination %d/%d\n",
1593 }
else if (last_pic_droppable != h->
droppable) {
1595 "Found reference and non-reference fields in the same frame, which");
1720 first_mb_in_slice >= h->
mb_num) {
1790 for (i = 0; i < 2; i++) {
1854 "deblocking_filter_idc %u out of range\n", tmp);
1869 "deblocking filter parameters %d %d out of range\n",
1896 "Cannot parallelize slice decoding with deblocking filter type 1, decoding such frames in sequential order\n"
1897 "To parallelize slice decoding you need video encoded with disable_deblocking_filter_idc set to 2 (deblock only edges that do not cross slices).\n"
1898 "Setting the flags2 libavcodec option to +fast (-flags2 +fast) will disable deblocking across slices and enable parallel slice decoding "
1899 "but will generate non-standard-compliant output.\n");
1904 "Deblocking switched inside frame.\n");
1929 for (j = 0; j < 2; j++) {
1932 for (i = 0; i < 16; i++) {
1934 if (j < h->list_count && i < h->ref_count[j] &&
1953 for (i = 0; i < 16; i++)
1956 ref2frm[18 + 1] = -1;
1957 for (i = 16; i < 48; i++)
1958 ref2frm[i + 4] = 4 * id_list[(i - 16) >> 1] +
1973 "slice:%d %s mb:%d %c%s%s pps:%u frame:%d poc:%d/%d ref:%d/%d qp:%d loop:%d:%d:%d weight:%d%s %s\n",
2014 int mb_type,
int top_xy,
2017 int left_type[LEFT_MBS],
2018 int mb_xy,
int list)
2025 const int b_xy = h->
mb2b_xy[top_xy] + 3 * b_stride;
2026 const int b8_xy = 4 * top_xy + 2;
2029 ref_cache[0 - 1 * 8] =
2030 ref_cache[1 - 1 * 8] = ref2frm[list][h->
cur_pic.
ref_index[list][b8_xy + 0]];
2031 ref_cache[2 - 1 * 8] =
2032 ref_cache[3 - 1 * 8] = ref2frm[list][h->
cur_pic.
ref_index[list][b8_xy + 1]];
2041 const int b8_xy = 4 * left_xy[
LTOP] + 1;
2048 ref_cache[-1 + 8] = ref2frm[list][h->
cur_pic.
ref_index[list][b8_xy + 2 * 0]];
2049 ref_cache[-1 + 16] =
2050 ref_cache[-1 + 24] = ref2frm[list][h->
cur_pic.
ref_index[list][b8_xy + 2 * 1]];
2058 ref_cache[-1 + 16] =
2076 uint32_t ref01 = (
pack16to32(ref2frm[list][ref[0]], ref2frm[list][ref[1]]) & 0x00FF00FF) * 0x0101;
2077 uint32_t ref23 = (
pack16to32(ref2frm[list][ref[2]], ref2frm[list][ref[3]]) & 0x00FF00FF) * 0x0101;
2078 AV_WN32A(&ref_cache[0 * 8], ref01);
2079 AV_WN32A(&ref_cache[1 * 8], ref01);
2080 AV_WN32A(&ref_cache[2 * 8], ref23);
2081 AV_WN32A(&ref_cache[3 * 8], ref23);
2086 AV_COPY128(mv_dst + 8 * 0, mv_src + 0 * b_stride);
2087 AV_COPY128(mv_dst + 8 * 1, mv_src + 1 * b_stride);
2088 AV_COPY128(mv_dst + 8 * 2, mv_src + 2 * b_stride);
2089 AV_COPY128(mv_dst + 8 * 3, mv_src + 3 * b_stride);
2099 const int mb_xy = h->
mb_xy;
2110 left_xy[
LBOT] = left_xy[
LTOP] = mb_xy - 1;
2115 if (left_mb_field_flag != curr_mb_field_flag)
2118 if (curr_mb_field_flag)
2121 if (left_mb_field_flag != curr_mb_field_flag)
2135 if (qp <= qp_thresh &&
2136 (left_xy[
LTOP] < 0 ||
2142 if ((left_xy[
LTOP] < 0 ||
2157 left_type[
LTOP] = left_type[
LBOT] = 0;
2162 left_type[
LTOP] = left_type[
LBOT] = 0;
2172 top_type, left_type, mb_xy, 0);
2175 top_type, left_type, mb_xy, 1);
2179 AV_COPY32(&nnz_cache[4 + 8 * 1], &nnz[0]);
2180 AV_COPY32(&nnz_cache[4 + 8 * 2], &nnz[4]);
2181 AV_COPY32(&nnz_cache[4 + 8 * 3], &nnz[8]);
2182 AV_COPY32(&nnz_cache[4 + 8 * 4], &nnz[12]);
2187 AV_COPY32(&nnz_cache[4 + 8 * 0], &nnz[3 * 4]);
2190 if (left_type[
LTOP]) {
2192 nnz_cache[3 + 8 * 1] = nnz[3 + 0 * 4];
2193 nnz_cache[3 + 8 * 2] = nnz[3 + 1 * 4];
2194 nnz_cache[3 + 8 * 3] = nnz[3 + 2 * 4];
2195 nnz_cache[3 + 8 * 4] = nnz[3 + 3 * 4];
2202 nnz_cache[4 + 8 * 0] =
2203 nnz_cache[5 + 8 * 0] = (h->
cbp_table[top_xy] & 0x4000) >> 12;
2204 nnz_cache[6 + 8 * 0] =
2205 nnz_cache[7 + 8 * 0] = (h->
cbp_table[top_xy] & 0x8000) >> 12;
2208 nnz_cache[3 + 8 * 1] =
2209 nnz_cache[3 + 8 * 2] = (h->
cbp_table[left_xy[
LTOP]] & 0x2000) >> 12;
2212 nnz_cache[3 + 8 * 3] =
2213 nnz_cache[3 + 8 * 4] = (h->
cbp_table[left_xy[
LBOT]] & 0x8000) >> 12;
2217 nnz_cache[
scan8[0]] =
2218 nnz_cache[scan8[1]] =
2219 nnz_cache[scan8[2]] =
2220 nnz_cache[scan8[3]] = (h->
cbp & 0x1000) >> 12;
2222 nnz_cache[scan8[0 + 4]] =
2223 nnz_cache[scan8[1 + 4]] =
2224 nnz_cache[scan8[2 + 4]] =
2225 nnz_cache[scan8[3 + 4]] = (h->
cbp & 0x2000) >> 12;
2227 nnz_cache[scan8[0 + 8]] =
2228 nnz_cache[scan8[1 + 8]] =
2229 nnz_cache[scan8[2 + 8]] =
2230 nnz_cache[scan8[3 + 8]] = (h->
cbp & 0x4000) >> 12;
2232 nnz_cache[scan8[0 + 12]] =
2233 nnz_cache[scan8[1 + 12]] =
2234 nnz_cache[scan8[2 + 12]] =
2235 nnz_cache[scan8[3 + 12]] = (h->
cbp & 0x8000) >> 12;
2244 uint8_t *dest_y, *dest_cb, *dest_cr;
2245 int linesize, uvlinesize, mb_x, mb_y;
2252 for (mb_x = start_x; mb_x < end_x; mb_x++)
2253 for (mb_y = end_mb_y -
FRAME_MBAFF(h); mb_y <= end_mb_y; mb_y++) {
2267 ((mb_x << pixel_shift) + mb_y * h->
linesize) * 16;
2269 (mb_x << pixel_shift) * (8 <<
CHROMA444(h)) +
2272 (mb_x << pixel_shift) * (8 <<
CHROMA444(h)) +
2297 linesize, uvlinesize);
2300 dest_cr, linesize, uvlinesize);
2332 if ((top + height) >= pic_height)
2333 height += deblock_border;
2334 top -= deblock_border;
2337 if (top >= pic_height || (top + height) < 0)
2340 height =
FFMIN(height, pic_height - top);
2356 int endx,
int endy,
int status)
2358 if (CONFIG_ERROR_RESILIENCE) {
2368 int lf_x_start = h->
mb_x;
2424 if (h->
mb_x >= lf_x_start)
2442 h->
mb_x = lf_x_start = 0;
2457 if (h->
mb_x > lf_x_start)
2481 "error while decoding MB %d %d\n", h->
mb_x, h->
mb_y);
2489 h->
mb_x = lf_x_start = 0;
2523 if (h->
mb_x > lf_x_start)
2555 if (context_count == 1) {
2559 for (i = 1; i < context_count; i++) {
2561 if (CONFIG_ERROR_RESILIENCE) {
2568 NULL, context_count,
sizeof(
void *));
2576 if (CONFIG_ERROR_RESILIENCE) {
2577 for (i = 1; i < context_count; i++)