• Zhong Li's avatar
    lavc/qsvdec: set complete_frame flags for progressive picture · 54307b35
    Zhong Li authored
    Set the flag MFX_BITSTREAM_COMPLETE_FRAME when it is a progressive picture.
    This can fix vc1 decoding segment fault issues because can't set the start
    code correctly.
    
    See: ./avconv -hwaccel qsv -c:v vc1_qsv -i /fate-suite/vc1/SA00040.vc1
    -vf "hwdownload, format=nv12" -f rawvideo /dev/null
    
    v2: fix some h264 interlaced clips regression
    a. field_order of some h264 interlaced video (e.g: cama3_vtc_b.avc) is marked as AV_FIELD_UNKNOWN
       in h264_parser.c. This is not a completed frames.
       So only set the MFX_BITSTREAM_COMPLETE_FRAME when it is progressive.
    b. some clips have both progressive and interlaced frames (e.g.CAPAMA3_Sand_F.264),
       the parsed field_order maybe changed druing the decoding progress.
    
    This patch has been verified for other codecs(mpeg2/hevc/vp8).
    Signed-off-by: 's avatarZhong Li <zhong.li@intel.com>
    Signed-off-by: 's avatarMaxym Dmytrychenko <maxim.d33@gmail.com>
    54307b35
qsvdec.c 17.7 KB