1. 22 Aug, 2019 1 commit
    • U. Artie Eoff's avatar
      msdk: vpp: rotate output frame · bd3caf0c
      U. Artie Eoff authored
      When vpp rotation is 90 or 270, the output frame
      should be rotated, too.
      
      Example:
        gst-launch-1.0 -vf videotestsrc \
         ! video/x-raw,width=720,height=480 \
         ! msdkvpp rotation=90 ! vaapisink
      bd3caf0c
  2. 07 Aug, 2019 2 commits
    • fuweitax's avatar
      msdkdec: fix decoding issue for interlaced streams · df59db98
      fuweitax authored
      Currently h264parser produces a field or a frame for
      alignment=au for interlaced streams, but the flag
      MFX_BITSTREAM_COMPLETE_FRAME needs a complete frame
      or complementary field pair of data, this results in
      broken images being output.
      
      Some patches have been sent out to fix h264parser,
      but they are pending on some unfinished work. In
      order to make gstreamer-msdk decoding work properly
      for interlaced streams before h264parser is fixed,
      this flag will be removed temporarily and will be
      added back once h264parser if fixed.
      
      Related to:
      !399
      !228
      df59db98
    • Aaron Boxer's avatar
      msdkdec: no need to cache output state info · 7dbcddff
      Aaron Boxer authored
      7dbcddff
  3. 06 Aug, 2019 1 commit
  4. 05 Aug, 2019 1 commit
  5. 26 Jul, 2019 1 commit
  6. 24 Jul, 2019 3 commits
    • Aaron Boxer's avatar
      96dc150b
    • Haihao Xiang's avatar
      msdkdec: make sure mfx frame width/height meets MSDK's requirement · 20f61db2
      Haihao Xiang authored
      It is possible that the output region size (e.g. 192x144) is different
      from the coded picture size (e.g. 192x256). We may adjust the alignment
      parameters so that the padding is respected in GstVideoInfo and use
      GstVideoInfo to calculate mfx frame width and height
      
      This fixes the error below when decoding a stream which has different
      output region size and coded picture size
      
      0:00:00.057726900 28634 0x55df6c3220a0 ERROR                msdkdec
      gstmsdkdec.c:1065:gst_msdkdec_handle_frame:<msdkh265dec0>
      DecodeFrameAsync failed (failed to allocate memory)
      
      Sample pipeline:
      
      gst-launch-1.0 filesrc location=output.h265 ! h265parse ! msdkh265dec !
      glimagesink
      20f61db2
    • Haihao Xiang's avatar
      msdkdec: remove unneeded code · 8145a223
      Haihao Xiang authored
      Before calling gst_msdkdec_create_buffer_pool, the alignment parameters
      have been adjusted.
      8145a223
  7. 22 Jul, 2019 1 commit
  8. 07 Jul, 2019 3 commits
    • Haihao Xiang's avatar
      msdk: add msdkvp9enc element · f5b1c75d
      Haihao Xiang authored
      f5b1c75d
    • Haihao Xiang's avatar
      msdk: workaround for MFX_FOURCC_VP9_SEGMAP surface · ba7f3f48
      Haihao Xiang authored
      MFX_FOURCC_VP9_SEGMAP surface in MSDK is an internal surface however
      MSDK still call the external allocator for this surface, so this plugin
      has to return UNSUPPORTED and force MSDK allocates surface using the
      internal allocator.
      
      See https://github.com/Intel-Media-SDK/MediaSDK/issues/762 for details
      ba7f3f48
    • Haihao Xiang's avatar
      msdkenc: allow encode element requires extra frames · 12218984
      Haihao Xiang authored
      The call of MFXVideoENCODE_EncodeFrameAsync may not generate output and
      the function returns MFX_ERR_MORE_DATA with NULL sync point, the input
      frame is cached in this case, so it is possible that all allocated
      frames go into the surfaces_used list after calling
      MFXVideoENCODE_EncodeFrameAsync a few times, then the encoder will fail
      to get an available surface before releasing used frames
      
      This patch adds a new field of num_extra_frames to GstMsdkEnc and allows
      encode element requires extra frames, the default value is 0.
      
      This patch is the preparation for msdkvp9enc element.
      12218984
  9. 30 Jun, 2019 1 commit
    • Haihao Xiang's avatar
      msdk: don't share context between msdkvpp and msdkenc · 98e49673
      Haihao Xiang authored
      msdkenc supports CSC implicitly, so it is possible that two VPP
      processes are required when a pipeline contains msdkvpp and msdkenc.
      Before this fix, msdkvpp and msdkenc may share the same context, hence
      the same mfx session, which results in MFX_ERR_UNDEFINED_BEHAVIOR
      in MSDK because a mfx session has at most one VPP process only
      
      This fixes the broken pipelines below:
      
      gst-launch-1.0 videotestsrc ! video/x-raw,format=I420 ! msdkh264enc ! \
      msdkh264dec ! msdkvpp ! video/x-raw,format=YUY2 ! fakesink
      
      gst-launch-1.0 videotestsrc ! msdkvpp ! video/x-raw,format=YUY2 ! \
      msdkh264enc ! fakesink
      98e49673
  10. 29 Jun, 2019 18 commits
  11. 31 May, 2019 1 commit
  12. 16 May, 2019 1 commit
  13. 13 May, 2019 1 commit
  14. 17 Apr, 2019 1 commit
  15. 10 Apr, 2019 3 commits
  16. 09 Apr, 2019 1 commit