<div dir="ltr"><div>I am trying to use h264_v4l2m2m to decode a h264 encoded video but am hitting an issue where it should be outputting YUV420P but returned frames only have a single pointer in data. Is there some extra step I need to take to transform this  pointer like loading back to CPU memory when using a hardware acceleration device?<br></div><div><br></div><div>AVCodecContext {</div>    av_class: 0xb6580110,<br>    log_level_offset: 0,<br>    codec_type: 0,<br>    codec: 0xb65a6f98,<br>    codec_id: 27,<br>    codec_tag: 828601953,<br>    priv_data: 0x010ead40,<br>    internal: 0x00000000,<br>    opaque: 0x00000000,<br>    bit_rate: 1566212,<br>    bit_rate_tolerance: 4000000,<br>    global_quality: 0,<br>    compression_level: -1,<br>    flags: 0,<br>    flags2: 0,<br>    extradata: 0x010e8b50,<br>    extradata_size: 47,<br>    time_base: AVRational {<br>        num: 0,<br>        den: 1,<br>    },<br>    ticks_per_frame: 1,<br>    delay: 0,<br>    width: 1920,<br>    height: 1080,<br>    coded_width: 0,<br>    coded_height: 0,<br>    gop_size: 12,<br>    pix_fmt: 0,<br>    draw_horiz_band: None,<br>    get_format: Some(<br>        0xb5ce4344,<br>    ),<br>    max_b_frames: 0,<br>    b_quant_factor: 1.25,<br>    b_frame_strategy: 0,<br>    b_quant_offset: 1.25,<br>    has_b_frames: 2,<br>    mpeg_quant: 0,<br>    i_quant_factor: -0.8,<br>    i_quant_offset: 0.0,<br>    lumi_masking: 0.0,<br>    temporal_cplx_masking: 0.0,<br>    spatial_cplx_masking: 0.0,<br>    p_masking: 0.0,<br>    dark_masking: 0.0,<br>    slice_count: 0,<br>    prediction_method: 0,<br>    slice_offset: 0x00000000,<br>    sample_aspect_ratio: AVRational {<br>        num: 1,<br>        den: 1,<br>    },<br>    me_cmp: 0,<br>    me_sub_cmp: 0,<br>    mb_cmp: 0,<br>    ildct_cmp: 8,<br>    dia_size: 0,<br>    last_predictor_count: 0,<br>    pre_me: 0,<br>    me_pre_cmp: 0,<br>    pre_dia_size: 0,<br>    me_subpel_quality: 8,<br>    me_range: 0,<br>    slice_flags: 0,<br>    mb_decision: 0,<br>    intra_matrix: 0x00000000,<br>    inter_matrix: 0x00000000,<br>    scenechange_threshold: 0,<br>    noise_reduction: 0,<br>    intra_dc_precision: 0,<br>    skip_top: 0,<br>    skip_bottom: 0,<br>    mb_lmin: 236,<br>    mb_lmax: 3658,<br>    me_penalty_compensation: 256,<br>    bidir_refine: 1,<br>    brd_scale: 0,<br>    keyint_min: 25,<br>    refs: 1,<br>    chromaoffset: 0,<br>    mv0_threshold: 256,<br>    b_sensitivity: 40,<br>    color_primaries: 2,<br>    color_trc: 2,<br>    colorspace: 2,<br>    color_range: 0,<br>    chroma_sample_location: 1,<br>    slices: 0,<br>    field_order: 0,<br>    sample_rate: 0,<br>    channels: 0,<br>    sample_fmt: -1,<br>    frame_size: 0,<br>    frame_number: 0,<br>    block_align: 0,<br>    cutoff: 0,<br>    channel_layout: 0,<br>    request_channel_layout: 0,<br>    audio_service_type: 0,<br>    request_sample_fmt: 0,<br>    get_buffer2: Some(<br>        0xb5ce4b3c,<br>    ),<br>    refcounted_frames: 0,<br>    qcompress: 0.5,<br>    qblur: 0.5,<br>    qmin: 2,<br>    qmax: 31,<br>    max_qdiff: 3,<br>    rc_buffer_size: 0,<br>    rc_override_count: 0,<br>    rc_override: 0x00000000,<br>    rc_max_rate: 0,<br>    rc_min_rate: 0,<br>    rc_max_available_vbv_use: 0.0,<br>    rc_min_vbv_overflow_use: 3.0,<br>    rc_initial_buffer_occupancy: 0,<br>    coder_type: 0,<br>    context_model: 0,<br>    frame_skip_threshold: 0,<br>    frame_skip_factor: 0,<br>    frame_skip_exp: 0,<br>    frame_skip_cmp: 13,<br>    trellis: 0,<br>    min_prediction_order: 0,<br>    max_prediction_order: 0,<br>    timecode_frame_start: -1,<br>    rtp_callback: None,<br>    rtp_payload_size: 0,<br>    mv_bits: 0,<br>    header_bits: 0,<br>    i_tex_bits: 0,<br>    p_tex_bits: 0,<br>    i_count: 0,<br>    p_count: 0,<br>    skip_count: 0,<br>    misc_bits: 0,<br>    frame_bits: 0,<br>    stats_out: 0x00000000,<br>    stats_in: 0x00000000,<br>    workaround_bugs: 1,<br>    strict_std_compliance: 0,<br>    error_concealment: 3,<br>    debug: 0,<br>    err_recognition: 0,<br>    reordered_opaque: -9223372036854775808,<br>    hwaccel: 0x00000000,<br>    hwaccel_context: 0x00000000,<br>    error: [<br>        0,<br>        0,<br>        0,<br>        0,<br>        0,<br>        0,<br>        0,<br>        0,<br>    ],<br>    dct_algo: 0,<br>    idct_algo: 0,<br>    bits_per_coded_sample: 24,<br>    bits_per_raw_sample: 8,<br>    lowres: 0,<br>    coded_frame: 0x00000000,<br>    thread_count: 1,<br>    thread_type: 3,<br>    active_thread_type: 0,<br>    thread_safe_callbacks: 0,<br>    execute: Some(<br>        0xb618500c,<br>    ),<br>    execute2: Some(<br>        0xb6185088,<br>    ),<br>    nsse_weight: 8,<br>    profile: 100,<br>    level: 51,<br>    skip_loop_filter: 0,<br>    skip_idct: 0,<br>    skip_frame: 0,<br>    subtitle_header: 0x00000000,<br>    subtitle_header_size: 0,<br>    vbv_delay: 0,<br>    side_data_only_packets: 1,<br>    initial_padding: 0,<br>    framerate: AVRational {<br>        num: 0,<br>        den: 1,<br>    },<br>    sw_pix_fmt: -1,<br>    pkt_timebase: AVRational {<br>        num: 0,<br>        den: 1,<br>    },<br>    codec_descriptor: 0x00000000,<br>    pts_correction_num_faulty_pts: 0,<br>    pts_correction_num_faulty_dts: 0,<br>    pts_correction_last_pts: 0,<br>    pts_correction_last_dts: 0,<br>    sub_charenc: 0x00000000,<br>    sub_charenc_mode: 0,<br>    skip_alpha: 0,<br>    seek_preroll: 0,<br>    debug_mv: 0,<br>    chroma_intra_matrix: 0x00000000,<br>    dump_separator: 0x00000000,<br>    codec_whitelist: 0x00000000,<br>    properties: 0,<br>    coded_side_data: 0x00000000,<br>    nb_coded_side_data: 0,<br>    hw_frames_ctx: 0x00000000,<br>    sub_text_format: 0,<br>    trailing_padding: 0,<br>    max_pixels: 2147483647,<br>    hw_device_ctx: 0x00000000,<br>    hwaccel_flags: 1,<br>    apply_cropping: 1,<br>    extra_hw_frames: -1,<br>    discard_damaged_percentage: -477218592,<br><div>}</div><div><br></div><div>Some logs from start of decoding</div><div><br></div>[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-codec' on card 'bcm2835-codec-isp'<br>[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-codec' on card 'bcm2835-codec-encode'<br>[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-isp' on card 'bcm2835-isp'<br>[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-isp' on card 'bcm2835-isp'<br>[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-isp' on card 'bcm2835-isp'<br>[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-codec' on card 'bcm2835-codec-decode'<br>[h264_v4l2m2m @ 0x10eb650] Using device /dev/video10<br>[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-codec' on card 'bcm2835-codec-decode'<br><br><div>[swscaler @ 0x10fc680] bad src image pointers</div><div><br></div><div>src frame data array:<br></div>[<br>    0xad46c000,<br>    0x00000000,<br>    0x00000000,<br>    0x00000000,<br>    0x00000000,<br>    0x00000000,<br>    0x00000000,<br>    0x00000000,<br>]</div>