[Libav-user] h264_v4l2m2m bad data pointers

Kyle Cooke cookekyle97 at gmail.com
Thu Oct 28 19:37:29 EEST 2021


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?

AVCodecContext {
    av_class: 0xb6580110,
    log_level_offset: 0,
    codec_type: 0,
    codec: 0xb65a6f98,
    codec_id: 27,
    codec_tag: 828601953,
    priv_data: 0x010ead40,
    internal: 0x00000000,
    opaque: 0x00000000,
    bit_rate: 1566212,
    bit_rate_tolerance: 4000000,
    global_quality: 0,
    compression_level: -1,
    flags: 0,
    flags2: 0,
    extradata: 0x010e8b50,
    extradata_size: 47,
    time_base: AVRational {
        num: 0,
        den: 1,
    },
    ticks_per_frame: 1,
    delay: 0,
    width: 1920,
    height: 1080,
    coded_width: 0,
    coded_height: 0,
    gop_size: 12,
    pix_fmt: 0,
    draw_horiz_band: None,
    get_format: Some(
        0xb5ce4344,
    ),
    max_b_frames: 0,
    b_quant_factor: 1.25,
    b_frame_strategy: 0,
    b_quant_offset: 1.25,
    has_b_frames: 2,
    mpeg_quant: 0,
    i_quant_factor: -0.8,
    i_quant_offset: 0.0,
    lumi_masking: 0.0,
    temporal_cplx_masking: 0.0,
    spatial_cplx_masking: 0.0,
    p_masking: 0.0,
    dark_masking: 0.0,
    slice_count: 0,
    prediction_method: 0,
    slice_offset: 0x00000000,
    sample_aspect_ratio: AVRational {
        num: 1,
        den: 1,
    },
    me_cmp: 0,
    me_sub_cmp: 0,
    mb_cmp: 0,
    ildct_cmp: 8,
    dia_size: 0,
    last_predictor_count: 0,
    pre_me: 0,
    me_pre_cmp: 0,
    pre_dia_size: 0,
    me_subpel_quality: 8,
    me_range: 0,
    slice_flags: 0,
    mb_decision: 0,
    intra_matrix: 0x00000000,
    inter_matrix: 0x00000000,
    scenechange_threshold: 0,
    noise_reduction: 0,
    intra_dc_precision: 0,
    skip_top: 0,
    skip_bottom: 0,
    mb_lmin: 236,
    mb_lmax: 3658,
    me_penalty_compensation: 256,
    bidir_refine: 1,
    brd_scale: 0,
    keyint_min: 25,
    refs: 1,
    chromaoffset: 0,
    mv0_threshold: 256,
    b_sensitivity: 40,
    color_primaries: 2,
    color_trc: 2,
    colorspace: 2,
    color_range: 0,
    chroma_sample_location: 1,
    slices: 0,
    field_order: 0,
    sample_rate: 0,
    channels: 0,
    sample_fmt: -1,
    frame_size: 0,
    frame_number: 0,
    block_align: 0,
    cutoff: 0,
    channel_layout: 0,
    request_channel_layout: 0,
    audio_service_type: 0,
    request_sample_fmt: 0,
    get_buffer2: Some(
        0xb5ce4b3c,
    ),
    refcounted_frames: 0,
    qcompress: 0.5,
    qblur: 0.5,
    qmin: 2,
    qmax: 31,
    max_qdiff: 3,
    rc_buffer_size: 0,
    rc_override_count: 0,
    rc_override: 0x00000000,
    rc_max_rate: 0,
    rc_min_rate: 0,
    rc_max_available_vbv_use: 0.0,
    rc_min_vbv_overflow_use: 3.0,
    rc_initial_buffer_occupancy: 0,
    coder_type: 0,
    context_model: 0,
    frame_skip_threshold: 0,
    frame_skip_factor: 0,
    frame_skip_exp: 0,
    frame_skip_cmp: 13,
    trellis: 0,
    min_prediction_order: 0,
    max_prediction_order: 0,
    timecode_frame_start: -1,
    rtp_callback: None,
    rtp_payload_size: 0,
    mv_bits: 0,
    header_bits: 0,
    i_tex_bits: 0,
    p_tex_bits: 0,
    i_count: 0,
    p_count: 0,
    skip_count: 0,
    misc_bits: 0,
    frame_bits: 0,
    stats_out: 0x00000000,
    stats_in: 0x00000000,
    workaround_bugs: 1,
    strict_std_compliance: 0,
    error_concealment: 3,
    debug: 0,
    err_recognition: 0,
    reordered_opaque: -9223372036854775808,
    hwaccel: 0x00000000,
    hwaccel_context: 0x00000000,
    error: [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
    ],
    dct_algo: 0,
    idct_algo: 0,
    bits_per_coded_sample: 24,
    bits_per_raw_sample: 8,
    lowres: 0,
    coded_frame: 0x00000000,
    thread_count: 1,
    thread_type: 3,
    active_thread_type: 0,
    thread_safe_callbacks: 0,
    execute: Some(
        0xb618500c,
    ),
    execute2: Some(
        0xb6185088,
    ),
    nsse_weight: 8,
    profile: 100,
    level: 51,
    skip_loop_filter: 0,
    skip_idct: 0,
    skip_frame: 0,
    subtitle_header: 0x00000000,
    subtitle_header_size: 0,
    vbv_delay: 0,
    side_data_only_packets: 1,
    initial_padding: 0,
    framerate: AVRational {
        num: 0,
        den: 1,
    },
    sw_pix_fmt: -1,
    pkt_timebase: AVRational {
        num: 0,
        den: 1,
    },
    codec_descriptor: 0x00000000,
    pts_correction_num_faulty_pts: 0,
    pts_correction_num_faulty_dts: 0,
    pts_correction_last_pts: 0,
    pts_correction_last_dts: 0,
    sub_charenc: 0x00000000,
    sub_charenc_mode: 0,
    skip_alpha: 0,
    seek_preroll: 0,
    debug_mv: 0,
    chroma_intra_matrix: 0x00000000,
    dump_separator: 0x00000000,
    codec_whitelist: 0x00000000,
    properties: 0,
    coded_side_data: 0x00000000,
    nb_coded_side_data: 0,
    hw_frames_ctx: 0x00000000,
    sub_text_format: 0,
    trailing_padding: 0,
    max_pixels: 2147483647,
    hw_device_ctx: 0x00000000,
    hwaccel_flags: 1,
    apply_cropping: 1,
    extra_hw_frames: -1,
    discard_damaged_percentage: -477218592,
}

Some logs from start of decoding

[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-codec' on card
'bcm2835-codec-isp'
[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-codec' on card
'bcm2835-codec-encode'
[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-isp' on card 'bcm2835-isp'
[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-isp' on card 'bcm2835-isp'
[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-isp' on card 'bcm2835-isp'
[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-codec' on card
'bcm2835-codec-decode'
[h264_v4l2m2m @ 0x10eb650] Using device /dev/video10
[h264_v4l2m2m @ 0x10eb650] driver 'bcm2835-codec' on card
'bcm2835-codec-decode'

[swscaler @ 0x10fc680] bad src image pointers

src frame data array:
[
    0xad46c000,
    0x00000000,
    0x00000000,
    0x00000000,
    0x00000000,
    0x00000000,
    0x00000000,
    0x00000000,
]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20211028/06f501f7/attachment.htm>


More information about the Libav-user mailing list