[FFmpeg-devel] [PATCHv8] libavcodec: v4l2: add support for v4l2 mem2mem codecs

Jorge Ramirez jorge.ramirez-ortiz at linaro.org
Sun Sep 3 21:23:01 EEST 2017


On 09/03/2017 08:13 PM, Mark Thompson wrote:
> On 03/09/17 16:26, Jorge Ramirez wrote:
>> On 09/03/2017 04:56 PM, Jorge Ramirez wrote:
>>> On 09/03/2017 02:27 AM, Mark Thompson wrote:
>>>>> +    .long_name      = NULL_IF_CONFIG_SMALL("V4L2 mem2mem " LONGNAME " decoder wrapper"),\
>>>>> +    .type           = AVMEDIA_TYPE_VIDEO,\
>>>>> +    .id             = CODEC ,\
>>>>> +    .priv_data_size = sizeof(V4L2m2mContext),\
>>>>> +    .priv_class     = &v4l2_m2m_ ## NAME ## _dec_class,\
>>>>> +    .init           = v4l2m2m_decode_init,\
>>>>> +    .receive_frame  = v4l2m2m_receive_frame,\
>>>>> +    .close          = ff_v4l2m2m_codec_end,\
>>>>> +    .bsfs           = bsf_name, \
>>>>> +};
>>>>> +
>>>>> +M2MDEC(h264,  "H.264", AV_CODEC_ID_H264,       "h264_mp4toannexb");
>>>>> +M2MDEC(hevc,  "HEVC",  AV_CODEC_ID_HEVC,       "h264_mp4toannexb");
>>>> h264_mp4toannexb is for H.264, and will refuse to do anything with H.265:
>>>>
>>>> "[AVBSFContext @ 0x55f4d346c620] Codec 'hevc' (174) is not supported by the bitstream filter 'h264_mp4toannexb'. Supported codecs are: h264 (28)."
>>>>
>>>> (Was this decoder really tested as the commit message claims?)
>>>>
>>> yes it was a couple of versions ago though: without it, the decoded frames could not be displayed using the dragon board 820c.
>>> however just tried again and got the error message that you mentioned;
>>> [...]
>>> [AVBSFContext @ 0xffff74000b90] Codec 'hevc' (174) is not supported by the bitstream filter 'h264_mp4toannexb'. Supported codecs are: h264 (28)
>>> [AVBSFContext @ 0xffff74000b90] Codec 'hevc' (174) is not supported by the bitstream filter 'h264_mp4toannexb'. Supported codecs are: h264 (28)
>>> [AVBSFContext @ 0xffff74000b90] Codec 'hevc' (174) is not supported by the bitstream filter 'h264_mp4toannexb'. Supported codecs are: h264 (28)
>>> [AVBSFContext @ 0xffff74000b90] Codec 'hevc' (174) is not supported by the bitstream filter 'h264_mp4toannexb'. Supported codecs are: h264 (28)
>>> [AVBSFContext @ 0xffff74000b90] Codec 'hevc' (174) is not supported by the bitstream filter 'h264_mp4toannexb'. Supported codecs are: h264 (28)
>>>
>>> yeah now, after removing the h264_mp4toannexb from the decoder, I can not play any HEVC videos on the db820c.....I'll then remove HEVC from the list of supported decoders then. It is a pity.
>>>
>>>
>>>
>> actually I will just remove the filter from the hevc decoder instantiation in case some v4l2 codec (different from the one in the db820) can still benefit
>>
> What do you actually need here?  An H.265 annex B bitstream, such as created by hevc_mp4toannexb?

um, yes, I think this was a regression then (I originally had it on v3). 
my fault.
https://github.com/ldts/FFmpeg/commit/4cbba823a6ab92609b59cb0e1b1ded470403cd09#diff-143a78d3b451c891d27ad5a4ce321515R224
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel



More information about the ffmpeg-devel mailing list