[FFmpeg-trac] #7525(undetermined:new): VAAPI: Transcoding MJPEG to VP9 fails on GeminiLake

FFmpeg trac at avcodec.org
Thu Nov 1 11:05:51 EET 2018

#7525: VAAPI: Transcoding MJPEG to VP9 fails on GeminiLake
             Reporter:               |                    Owner:
  radek.hvizdos                      |                   Status:  new
                 Type:  defect       |                Component:
             Priority:  normal       |  undetermined
              Version:  git-master   |               Resolution:
             Keywords:  vaapi, vp9   |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |

Comment (by radek.hvizdos):

 Adding the specified options has 'fixed' the issue, I can now run the
 transcode fully in hardware. The speedup is almost 3x :)

 The following was shown in ffmpeg output, the different surface was
 accepted by the encoder:

 [Parsed_scale_vaapi_0 @ 0x55d253cc1cc0] Filter input: vaapi_vld, 1920x1440
 [Parsed_scale_vaapi_0 @ 0x55d253cc1cc0] Using surface 0x4000005 for scale
 [Parsed_scale_vaapi_0 @ 0x55d253cc1cc0] Using surface 0x400000e for scale
 [Parsed_scale_vaapi_0 @ 0x55d253cc1cc0] Pipeline parameter buffer is
 [Parsed_scale_vaapi_0 @ 0x55d253cc1cc0] Filter output: vaapi_vld,
 1920x1440 (9).
 [vp9_vaapi @ 0x55d253caba80] Encode frame: 1920x1440 (9).
 [vp9_vaapi @ 0x55d253caba80] Pictures: P (8/8) P (9/9)
 [vp9_vaapi @ 0x55d253caba80] Issuing encode for pic 9/9 as type P.
 [vp9_vaapi @ 0x55d253caba80] Refers to: 8/8.
 [vp9_vaapi @ 0x55d253caba80] Input surface is 0x400000e.
 [vp9_vaapi @ 0x55d253caba80] Recon surface is 0x4000011.
 [vp9_vaapi @ 0x55d253caba80] Output buffer is 0x8000004.
 [vp9_vaapi @ 0x55d253caba80] Param buffer (23) is 0x8000005.
 [vp9_vaapi @ 0x55d253caba80] Sync to pic 9/9 (input surface 0x400000e).
 [vp9_vaapi @ 0x55d253caba80] Output buffer: 4096 bytes (status 00000000).
 [vp9_vaapi @ 0x55d253caba80] Output read for pic 9/9.
 [webm @ 0x55d253ca5b80] Writing block at offset 36930, size 4096, pts
 1500, dts 1500, duration 167, keyframe 0

 Can we fix the encoder to either support yuv420p, or stop it from
 advertising the capability to do so? How come this works for vp8_vaapi?

 Thank you!

Ticket URL: <https://trac.ffmpeg.org/ticket/7525#comment:2>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list