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));
599 for (i = 0; i < 2; i++) {
604 if (h1->context_initialized) {
643 if (h1->DPB && h1->DPB[i].f.buf[0] &&
662 (
void **)h1->sps_buffers,
667 (
void **)h1->pps_buffers,
674 copy_fields(h, h1, dequant4_buffer, dequant4_coeff);
676 for (i = 0; i < 6; i++)
678 (h1->dequant4_coeff[i] - h1->dequant4_buffer[0]);
680 for (i = 0; i < 6; i++)
682 (h1->dequant8_coeff[i] - h1->dequant8_buffer[0]);
699 if (context_reinitialized)
769 if (CONFIG_ERROR_RESILIENCE) {
776 if (CONFIG_ERROR_RESILIENCE) {
784 for (i = 0; i < 16; i++) {
788 for (i = 0; i < 16; i++) {
812 int linesize,
int uvlinesize,
822 src_cb -= uvlinesize;
823 src_cr -= uvlinesize;
829 AV_COPY128(top_border, src_y + 15 * linesize);
831 AV_COPY128(top_border + 16, src_y + 15 * linesize + 16);
835 AV_COPY128(top_border + 32, src_cb + 15 * uvlinesize);
836 AV_COPY128(top_border + 48, src_cb + 15 * uvlinesize + 16);
837 AV_COPY128(top_border + 64, src_cr + 15 * uvlinesize);
838 AV_COPY128(top_border + 80, src_cr + 15 * uvlinesize + 16);
840 AV_COPY128(top_border + 16, src_cb + 15 * uvlinesize);
841 AV_COPY128(top_border + 32, src_cr + 15 * uvlinesize);
843 }
else if (chroma422) {
845 AV_COPY128(top_border + 32, src_cb + 15 * uvlinesize);
846 AV_COPY128(top_border + 48, src_cr + 15 * uvlinesize);
848 AV_COPY64(top_border + 16, src_cb + 15 * uvlinesize);
849 AV_COPY64(top_border + 24, src_cr + 15 * uvlinesize);
853 AV_COPY128(top_border + 32, src_cb + 7 * uvlinesize);
854 AV_COPY128(top_border + 48, src_cr + 7 * uvlinesize);
856 AV_COPY64(top_border + 16, src_cb + 7 * uvlinesize);
857 AV_COPY64(top_border + 24, src_cr + 7 * uvlinesize);
871 AV_COPY128(top_border, src_y + 16 * linesize);
873 AV_COPY128(top_border + 16, src_y + 16 * linesize + 16);
878 AV_COPY128(top_border + 32, src_cb + 16 * linesize);
879 AV_COPY128(top_border + 48, src_cb + 16 * linesize + 16);
880 AV_COPY128(top_border + 64, src_cr + 16 * linesize);
881 AV_COPY128(top_border + 80, src_cr + 16 * linesize + 16);
883 AV_COPY128(top_border + 16, src_cb + 16 * linesize);
884 AV_COPY128(top_border + 32, src_cr + 16 * linesize);
886 }
else if (chroma422) {
888 AV_COPY128(top_border + 32, src_cb + 16 * uvlinesize);
889 AV_COPY128(top_border + 48, src_cr + 16 * uvlinesize);
891 AV_COPY64(top_border + 16, src_cb + 16 * uvlinesize);
892 AV_COPY64(top_border + 24, src_cr + 16 * uvlinesize);
896 AV_COPY128(top_border + 32, src_cb + 8 * uvlinesize);
897 AV_COPY128(top_border + 48, src_cr + 8 * uvlinesize);
899 AV_COPY64(top_border + 16, src_cb + 8 * uvlinesize);
900 AV_COPY64(top_border + 24, src_cr + 8 * uvlinesize);
913 int ref0, ref1, i, cur_poc, ref_start, ref_count0, ref_count1;
915 for (i = 0; i < 2; i++) {
947 for (ref0 = ref_start; ref0 < ref_count0; ref0++) {
949 for (ref1 = ref_start; ref1 < ref_count1; ref1++) {
953 int td = av_clip(poc1 - poc0, -128, 127);
955 int tb = av_clip(cur_poc - poc0, -128, 127);
956 int tx = (16384 + (
FFABS(td) >> 1)) /
td;
957 int dist_scale_factor = (tb * tx + 32) >> 8;
958 if (dist_scale_factor >= -64 && dist_scale_factor <= 128)
959 w = 64 - dist_scale_factor;
978 for (i = 0; i < 16; i++) {
979 #define TRANSPOSE(x) ((x) >> 2) | (((x) << 2) & 0xF)
984 for (i = 0; i < 64; i++) {
985 #define TRANSPOSE(x) ((x) >> 3) | (((x) & 7) << 3)
1121 if (choices[i] == h->
avctx->
pix_fmt && !force_callback)
1137 if (!crop_present &&
1144 if (width <= 0 || height <= 0) {
1171 int nb_slices = (HAVE_THREADS &&
1207 " reducing to %d\n", nb_slices, max_slices);
1208 nb_slices = max_slices;
1227 if (CONFIG_ERROR_RESILIENCE) {
1300 unsigned int first_mb_in_slice;
1301 unsigned int pps_id;
1303 unsigned int slice_type, tmp, i, j;
1304 int last_pic_structure, last_pic_droppable;
1306 int needs_reinit = 0;
1307 int field_pic_flag, bottom_field_flag;
1314 if (first_mb_in_slice == 0) {
1330 if (slice_type > 9) {
1332 "slice type %d too large at %d %d\n",
1336 if (slice_type > 4) {
1371 "non-existing PPS %u referenced\n",
1377 "PPS change from %d to %d forbidden\n",
1385 "non-existing SPS %u referenced\n",
1458 (must_reinit || needs_reinit)) {
1461 "changing width %d -> %d / height %d -> %d on "
1480 "h264_slice_header_init() failed\n");
1487 "Cannot (re-)initialize context during parallel decoding.\n");
1497 "h264_slice_header_init() failed\n");
1522 if (field_pic_flag) {
1536 "Changing field mode (%d -> %d) between slices is not allowed\n",
1543 "unset cur_pic_ptr on slice %d\n",
1554 if (unwrap_prev_frame_num > h->
frame_num)
1555 unwrap_prev_frame_num -= max_frame_num;
1559 if (unwrap_prev_frame_num < 0)
1560 unwrap_prev_frame_num += max_frame_num;
1607 "Invalid field mode combination %d/%d\n",
1612 }
else if (last_pic_droppable != h->
droppable) {
1614 "Found reference and non-reference fields in the same frame, which");
1739 first_mb_in_slice >= h->
mb_num) {
1809 for (i = 0; i < 2; i++) {
1873 "deblocking_filter_idc %u out of range\n", tmp);
1888 "deblocking filter parameters %d %d out of range\n",
1915 "Cannot parallelize slice decoding with deblocking filter type 1, decoding such frames in sequential order\n"
1916 "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"
1917 "Setting the flags2 libavcodec option to +fast (-flags2 +fast) will disable deblocking across slices and enable parallel slice decoding "
1918 "but will generate non-standard-compliant output.\n");
1923 "Deblocking switched inside frame.\n");
1948 for (j = 0; j < 2; j++) {
1951 for (i = 0; i < 16; i++) {
1953 if (j < h->list_count && i < h->ref_count[j] &&
1972 for (i = 0; i < 16; i++)
1975 ref2frm[18 + 1] = -1;
1976 for (i = 16; i < 48; i++)
1977 ref2frm[i + 4] = 4 * id_list[(i - 16) >> 1] +
1992 "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",
2033 int mb_type,
int top_xy,
2036 int left_type[LEFT_MBS],
2037 int mb_xy,
int list)
2044 const int b_xy = h->
mb2b_xy[top_xy] + 3 * b_stride;
2045 const int b8_xy = 4 * top_xy + 2;
2048 ref_cache[0 - 1 * 8] =
2049 ref_cache[1 - 1 * 8] = ref2frm[list][h->
cur_pic.
ref_index[list][b8_xy + 0]];
2050 ref_cache[2 - 1 * 8] =
2051 ref_cache[3 - 1 * 8] = ref2frm[list][h->
cur_pic.
ref_index[list][b8_xy + 1]];
2060 const int b8_xy = 4 * left_xy[
LTOP] + 1;
2067 ref_cache[-1 + 8] = ref2frm[list][h->
cur_pic.
ref_index[list][b8_xy + 2 * 0]];
2068 ref_cache[-1 + 16] =
2069 ref_cache[-1 + 24] = ref2frm[list][h->
cur_pic.
ref_index[list][b8_xy + 2 * 1]];
2077 ref_cache[-1 + 16] =
2095 uint32_t ref01 = (
pack16to32(ref2frm[list][ref[0]], ref2frm[list][ref[1]]) & 0x00FF00FF) * 0x0101;
2096 uint32_t ref23 = (
pack16to32(ref2frm[list][ref[2]], ref2frm[list][ref[3]]) & 0x00FF00FF) * 0x0101;
2097 AV_WN32A(&ref_cache[0 * 8], ref01);
2098 AV_WN32A(&ref_cache[1 * 8], ref01);
2099 AV_WN32A(&ref_cache[2 * 8], ref23);
2100 AV_WN32A(&ref_cache[3 * 8], ref23);
2105 AV_COPY128(mv_dst + 8 * 0, mv_src + 0 * b_stride);
2106 AV_COPY128(mv_dst + 8 * 1, mv_src + 1 * b_stride);
2107 AV_COPY128(mv_dst + 8 * 2, mv_src + 2 * b_stride);
2108 AV_COPY128(mv_dst + 8 * 3, mv_src + 3 * b_stride);
2118 const int mb_xy = h->
mb_xy;
2129 left_xy[
LBOT] = left_xy[
LTOP] = mb_xy - 1;
2134 if (left_mb_field_flag != curr_mb_field_flag)
2137 if (curr_mb_field_flag)
2140 if (left_mb_field_flag != curr_mb_field_flag)
2154 if (qp <= qp_thresh &&
2155 (left_xy[
LTOP] < 0 ||
2161 if ((left_xy[
LTOP] < 0 ||
2176 left_type[
LTOP] = left_type[
LBOT] = 0;
2181 left_type[
LTOP] = left_type[
LBOT] = 0;
2191 top_type, left_type, mb_xy, 0);
2194 top_type, left_type, mb_xy, 1);
2198 AV_COPY32(&nnz_cache[4 + 8 * 1], &nnz[0]);
2199 AV_COPY32(&nnz_cache[4 + 8 * 2], &nnz[4]);
2200 AV_COPY32(&nnz_cache[4 + 8 * 3], &nnz[8]);
2201 AV_COPY32(&nnz_cache[4 + 8 * 4], &nnz[12]);
2206 AV_COPY32(&nnz_cache[4 + 8 * 0], &nnz[3 * 4]);
2209 if (left_type[
LTOP]) {
2211 nnz_cache[3 + 8 * 1] = nnz[3 + 0 * 4];
2212 nnz_cache[3 + 8 * 2] = nnz[3 + 1 * 4];
2213 nnz_cache[3 + 8 * 3] = nnz[3 + 2 * 4];
2214 nnz_cache[3 + 8 * 4] = nnz[3 + 3 * 4];
2221 nnz_cache[4 + 8 * 0] =
2222 nnz_cache[5 + 8 * 0] = (h->
cbp_table[top_xy] & 0x4000) >> 12;
2223 nnz_cache[6 + 8 * 0] =
2224 nnz_cache[7 + 8 * 0] = (h->
cbp_table[top_xy] & 0x8000) >> 12;
2227 nnz_cache[3 + 8 * 1] =
2228 nnz_cache[3 + 8 * 2] = (h->
cbp_table[left_xy[
LTOP]] & 0x2000) >> 12;
2231 nnz_cache[3 + 8 * 3] =
2232 nnz_cache[3 + 8 * 4] = (h->
cbp_table[left_xy[
LBOT]] & 0x8000) >> 12;
2236 nnz_cache[
scan8[0]] =
2237 nnz_cache[scan8[1]] =
2238 nnz_cache[scan8[2]] =
2239 nnz_cache[scan8[3]] = (h->
cbp & 0x1000) >> 12;
2241 nnz_cache[scan8[0 + 4]] =
2242 nnz_cache[scan8[1 + 4]] =
2243 nnz_cache[scan8[2 + 4]] =
2244 nnz_cache[scan8[3 + 4]] = (h->
cbp & 0x2000) >> 12;
2246 nnz_cache[scan8[0 + 8]] =
2247 nnz_cache[scan8[1 + 8]] =
2248 nnz_cache[scan8[2 + 8]] =
2249 nnz_cache[scan8[3 + 8]] = (h->
cbp & 0x4000) >> 12;
2251 nnz_cache[scan8[0 + 12]] =
2252 nnz_cache[scan8[1 + 12]] =
2253 nnz_cache[scan8[2 + 12]] =
2254 nnz_cache[scan8[3 + 12]] = (h->
cbp & 0x8000) >> 12;
2263 uint8_t *dest_y, *dest_cb, *dest_cr;
2264 int linesize, uvlinesize, mb_x, mb_y;
2271 for (mb_x = start_x; mb_x < end_x; mb_x++)
2272 for (mb_y = end_mb_y -
FRAME_MBAFF(h); mb_y <= end_mb_y; mb_y++) {
2286 ((mb_x << pixel_shift) + mb_y * h->
linesize) * 16;
2288 (mb_x << pixel_shift) * (8 <<
CHROMA444(h)) +
2291 (mb_x << pixel_shift) * (8 <<
CHROMA444(h)) +
2316 linesize, uvlinesize);
2319 dest_cr, linesize, uvlinesize);
2351 if ((top + height) >= pic_height)
2352 height += deblock_border;
2353 top -= deblock_border;
2356 if (top >= pic_height || (top + height) < 0)
2359 height =
FFMIN(height, pic_height - top);
2375 int endx,
int endy,
int status)
2377 if (CONFIG_ERROR_RESILIENCE) {
2387 int lf_x_start = h->
mb_x;
2443 if (h->
mb_x >= lf_x_start)
2461 h->
mb_x = lf_x_start = 0;
2476 if (h->
mb_x > lf_x_start)
2500 "error while decoding MB %d %d\n", h->
mb_x, h->
mb_y);
2508 h->
mb_x = lf_x_start = 0;
2542 if (h->
mb_x > lf_x_start)
2574 if (context_count == 1) {
2578 for (i = 1; i < context_count; i++) {
2580 if (CONFIG_ERROR_RESILIENCE) {
2587 NULL, context_count,
sizeof(
void *));
2595 if (CONFIG_ERROR_RESILIENCE) {
2596 for (i = 1; i < context_count; i++)