You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
h264: simplify calls to ff_er_add_slice().
partitioned_frame is never set for h264 (as easily seen from git grep).
This commit is contained in:
@@ -3645,8 +3645,6 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
|
|||||||
{
|
{
|
||||||
H264Context *h = *(void **)arg;
|
H264Context *h = *(void **)arg;
|
||||||
MpegEncContext *const s = &h->s;
|
MpegEncContext *const s = &h->s;
|
||||||
const int part_mask = s->partitioned_frame ? (ER_AC_END | ER_AC_ERROR)
|
|
||||||
: 0x7F;
|
|
||||||
int lf_x_start = s->mb_x;
|
int lf_x_start = s->mb_x;
|
||||||
|
|
||||||
s->mb_skip_run = -1;
|
s->mb_skip_run = -1;
|
||||||
@@ -3691,7 +3689,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
|
|||||||
if ((s->workaround_bugs & FF_BUG_TRUNCATED) &&
|
if ((s->workaround_bugs & FF_BUG_TRUNCATED) &&
|
||||||
h->cabac.bytestream > h->cabac.bytestream_end + 2) {
|
h->cabac.bytestream > h->cabac.bytestream_end + 2) {
|
||||||
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x - 1,
|
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x - 1,
|
||||||
s->mb_y, ER_MB_END & part_mask);
|
s->mb_y, ER_MB_END);
|
||||||
if (s->mb_x >= lf_x_start)
|
if (s->mb_x >= lf_x_start)
|
||||||
loop_filter(h, lf_x_start, s->mb_x + 1);
|
loop_filter(h, lf_x_start, s->mb_x + 1);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -3702,7 +3700,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
|
|||||||
s->mb_x, s->mb_y,
|
s->mb_x, s->mb_y,
|
||||||
h->cabac.bytestream_end - h->cabac.bytestream);
|
h->cabac.bytestream_end - h->cabac.bytestream);
|
||||||
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x,
|
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x,
|
||||||
s->mb_y, ER_MB_ERROR & part_mask);
|
s->mb_y, ER_MB_ERROR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3722,7 +3720,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
|
|||||||
tprintf(s->avctx, "slice end %d %d\n",
|
tprintf(s->avctx, "slice end %d %d\n",
|
||||||
get_bits_count(&s->gb), s->gb.size_in_bits);
|
get_bits_count(&s->gb), s->gb.size_in_bits);
|
||||||
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x - 1,
|
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x - 1,
|
||||||
s->mb_y, ER_MB_END & part_mask);
|
s->mb_y, ER_MB_END);
|
||||||
if (s->mb_x > lf_x_start)
|
if (s->mb_x > lf_x_start)
|
||||||
loop_filter(h, lf_x_start, s->mb_x);
|
loop_filter(h, lf_x_start, s->mb_x);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -3749,7 +3747,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
|
|||||||
av_log(h->s.avctx, AV_LOG_ERROR,
|
av_log(h->s.avctx, AV_LOG_ERROR,
|
||||||
"error while decoding MB %d %d\n", s->mb_x, s->mb_y);
|
"error while decoding MB %d %d\n", s->mb_x, s->mb_y);
|
||||||
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x,
|
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x,
|
||||||
s->mb_y, ER_MB_ERROR & part_mask);
|
s->mb_y, ER_MB_ERROR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3770,13 +3768,13 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
|
|||||||
if (get_bits_left(&s->gb) == 0) {
|
if (get_bits_left(&s->gb) == 0) {
|
||||||
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y,
|
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y,
|
||||||
s->mb_x - 1, s->mb_y,
|
s->mb_x - 1, s->mb_y,
|
||||||
ER_MB_END & part_mask);
|
ER_MB_END);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y,
|
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y,
|
||||||
s->mb_x - 1, s->mb_y,
|
s->mb_x - 1, s->mb_y,
|
||||||
ER_MB_END & part_mask);
|
ER_MB_END);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -3789,14 +3787,14 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
|
|||||||
if (get_bits_left(&s->gb) == 0) {
|
if (get_bits_left(&s->gb) == 0) {
|
||||||
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y,
|
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y,
|
||||||
s->mb_x - 1, s->mb_y,
|
s->mb_x - 1, s->mb_y,
|
||||||
ER_MB_END & part_mask);
|
ER_MB_END);
|
||||||
if (s->mb_x > lf_x_start)
|
if (s->mb_x > lf_x_start)
|
||||||
loop_filter(h, lf_x_start, s->mb_x);
|
loop_filter(h, lf_x_start, s->mb_x);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x,
|
ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x,
|
||||||
s->mb_y, ER_MB_ERROR & part_mask);
|
s->mb_y, ER_MB_ERROR);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user