mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-28 05:50:43 +00:00
Move predict_field_decoding_flag() from h264.h to .c as its only used there and belongs
there as well. Originally committed as revision 21861 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
69cc31832f
commit
69a28f3e2b
@ -2200,6 +2200,17 @@ static void loop_filter(H264Context *h){
|
||||
h->chroma_qp[1] = get_chroma_qp(h, 1, s->qscale);
|
||||
}
|
||||
|
||||
static void predict_field_decoding_flag(H264Context *h){
|
||||
MpegEncContext * const s = &h->s;
|
||||
const int mb_xy= s->mb_x + s->mb_y*s->mb_stride;
|
||||
int mb_type = (h->slice_table[mb_xy-1] == h->slice_num)
|
||||
? s->current_picture.mb_type[mb_xy-1]
|
||||
: (h->slice_table[mb_xy-s->mb_stride] == h->slice_num)
|
||||
? s->current_picture.mb_type[mb_xy-s->mb_stride]
|
||||
: 0;
|
||||
h->mb_mbaff = h->mb_field_decoding_flag = IS_INTERLACED(mb_type) ? 1 : 0;
|
||||
}
|
||||
|
||||
static int decode_slice(struct AVCodecContext *avctx, void *arg){
|
||||
H264Context *h = *(void**)arg;
|
||||
MpegEncContext * const s = &h->s;
|
||||
|
@ -1451,17 +1451,6 @@ static inline int get_dct8x8_allowed(H264Context *h){
|
||||
return !(*(uint64_t*)h->sub_mb_type & ((MB_TYPE_16x8|MB_TYPE_8x16|MB_TYPE_8x8|MB_TYPE_DIRECT2)*0x0001000100010001ULL));
|
||||
}
|
||||
|
||||
static void predict_field_decoding_flag(H264Context *h){
|
||||
MpegEncContext * const s = &h->s;
|
||||
const int mb_xy= s->mb_x + s->mb_y*s->mb_stride;
|
||||
int mb_type = (h->slice_table[mb_xy-1] == h->slice_num)
|
||||
? s->current_picture.mb_type[mb_xy-1]
|
||||
: (h->slice_table[mb_xy-s->mb_stride] == h->slice_num)
|
||||
? s->current_picture.mb_type[mb_xy-s->mb_stride]
|
||||
: 0;
|
||||
h->mb_mbaff = h->mb_field_decoding_flag = IS_INTERLACED(mb_type) ? 1 : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* decodes a P_SKIP or B_SKIP macroblock
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user