Friday, 15 February 2013

video - ffmpeg decode example using vda acceleration? -


I am testing vda hw of FDMP quick decoder, but there is no luck yet.

Use the command line I:

  ./ ffmpeg -hwaccel VDA I ~ / Downloads / big_buck_bunny_720p_surround.avi -c: v rawvideo -pix_fmt yuv420p out.yuv  

(Input video can be downloaded here :)

But this requested VDA uses SI decoder instead of HW decoder.

I deffigffmpg, and found that the function get_format:

  if (! (- (->; flag & amp; ;; flag & amp;; AV_PIX_FMT_FLAG_HWACCEL) ) Break;  

desc-> flag is not set with AV_PIX_FMT_FLAG_HWACCEL, so it leaves the hw acceleration initialization.

The reason is because pix_fmt For some, AV_PIX_FMT_NONE is set, because instead of yuv420p as specified by the command.

Then I changed the command for:

  ./FFmpeg -hwaccel vda -i ~ / Downloads / big_buck_bunny_720p_surround Avi -c: v rawvideo -pix_fmt vda_vld out.yuv  

But what I found:

  It is impossible to convert between formats supported by the 'format' and filters Error opening the 'Automatically inserted Scalar 0' filter!  

Can you show me an example of using FDMPG so that the video above using the VIDEO HW Decoder in UUV Can be dumped?

Update with FFPAP mailer.

I was asked to try the following command instead:

  .ffff / / Code>  

But what I found:

 . / Ffmpeg -vcodec h264_vda -i ~ / Downloads / big_buck_bunny_720p_surround.avi out.yuv ffmpeg version 2.6.1 Copyright (c) with the 2000-2015 FFmpeg Apple LLVM version 6.0 (Clang -600k0k57) made developers configuration (LLVM 3.5svn on the basis): 54. 20.100 / 54 20.100 libavcodec 56. 26.100 / 56. 26.100 libavformat 56. 25.101 / 56. 25.101 libavdevice libavutil 56. 4.100 / 56 4.100 libavfilter 5. 11.102 / 5. 11.102 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 [10: 20: 50.169] vtDecompressionDuctCreate signal accidentally select = -8973 (fault) could not be (and open decoder I -12,473: nstance) /SourceCache/CoreMedia_frameworks/CoreMedia-1562.107/Sources /VideoToolbox/VTDecompressionSession.c line 1181 [h264_vda @ 0x7f9feb034600] VDA decoder Failed to init [Avi @ 0x7f9feb00da00] open failed av_find_stream_info codec in [Zero @ 0x7f9feb034600] size picture missing access unit with 9960 [10: 20: 50.252] vtDecompressionDuctCreate fault indication = -8973 (fault) (can not be selected and open decoder example) at -12,473: /SourceCache/CoreMedia_frameworks/CoreMedia-1562.107/Sources/VideoToolbox/VTDecompressionSession.c line 1181 [h264_vda @ 0x7f9feb034600] failed to VDA decoder init. [NULL @ 0x7f9feb034600] Size 457  

is a missing picture in the access unit because I wanted to try it because I wanted to use VIDEO with Libodecode in the first place. But the problem I saw was right above it seems like flamepig has only one issue.

I emailed the author of cold libavcodec / vda_h264_dec to the following message Responded with:

I am not surprised that the video decoder can not be properly embedded here. I think that you probably have to prepare your video to use the MP3 or MKV container.

I do not know what actually happens, but according to my experience, before playing with the VDA framework, there are quite a few limitations in that framework that the extent you have met, It may be that, some of the video data needed to deal with the decoder, because it supported only a few containers, I think what is the exact name of that extra data, but AFAIK, Only MP4-compatible containers can provide it.


I also remember that there is an extradata field in MP4, t know what it is.

I tried the following command quickly, it worked:

 . / Ffmpeg -hwaccel vda -i ~ / Downloads / big_buck_bunny.mp4 -c: V rawvideo-pix_fmt yuv420p out.yuv  

No comments:

Post a Comment