[FFmpeg-soc] mxfenc.c version 0.0.3

zhentan feng spyfeng at gmail.com
Sat Jul 26 16:38:11 CEST 2008


Hi

2008/7/26 Reimar Döffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de>

> On Sat, Jul 26, 2008 at 08:48:57PM +0800, zhentan feng wrote:
> > 2008/7/26 zhentan feng <spyfeng at gmail.com>
> >
> > > Hi
> > >
> > > 2008/7/25 Michael Niedermayer <michaelni at gmx.at>
> > >
> > >> On Fri, Jul 25, 2008 at 09:19:11AM +0800, zhentan feng wrote:
> > >> > Hi,
> > >> >
> > >> > 2008/7/25 Michael Niedermayer <michaelni at gmx.at>:
> > >> >
> > >> > > On Fri, Jul 25, 2008 at 01:44:47AM +0800, zhentan feng wrote:
> > >> > > > Hi, all
> > >> > > > I have fixed many bugs in mxfenc.c. Now it seems stucked at
> final
> > >> step.
> > >> > > > run test case as below:
> > >> > > > 1)./output_example test.mpg
> > >> > > > 2)./ffmpeg -i test.mpg test.mxf
> > >> > > > 3)./ffmpeg -i  test.mxf test.avi
> > >> > > > stdout says:
> > >> > > > picture size invalid (0x0)
> > >> > > > Cannot allocate temp picture, check pix fmt
> > >> > >
> > >> > > I think you should paste the whole output of these ffmpeg commands
> > >> here.
> > >> [...]
> > >> > Input #0, mxf, from 'test.mxf':
> > >> >   Duration: N/A, start: 0.000000, bitrate: N/A
> > >>
> > >> >     Stream #0.0, 1/25: Video: 0x0000, 25.00 tb(r)
> > >> >     Stream #0.1, 1/44100: Audio: 0x0000
> > >>
> > >> looks like it has no clue about which codec it is.
> > >>
> > >> are you storing that? if yes why does the demuxer not read it
> correctly?
> > >>
> > >
> > >
> > sorry for the misoperation to send the last email. I write it here again:
> >
> > descriptor for mxf file is optional, I didn't write the descriptor, so
> the
> > width and height are zero as default.
> > Is it possible this reason of picture size invalid?
>
> The thing is that FFmpeg does not know which _codec_ was used, and I
> find it rather hard to imagine that that is optional, because e.g. raw
> RGB and raw BGR are impossible to distinguish without some identifier.
>

I set  breakpoint in ffmpeg.c:1662 and checked that I have stored the codec
type and code id correctly.

codec_type = CODEC_TYPE_VIDEO, codec_id = CODEC_ID_MPEG4, pix_fmt =
PIX_FMT_YUV420P

here is all the info of AVCodecContext:
av_class = 0x842f5e0, bit_rate = 200000, bit_rate_tolerance = 4000000, flags
= 0, sub_id = 0,
  me_method = 5, extradata = 0x0, extradata_size = 0, time_base = {num = 1,
den = 25}, width = 0,
  height = 0, gop_size = 12, pix_fmt = PIX_FMT_YUV420P, rate_emu = 0,
draw_horiz_band = 0,
  sample_rate = 0, channels = 0, sample_fmt = SAMPLE_FMT_S16, frame_size =
0, frame_number = 0,
  real_pict_num = 0, delay = 0, qcompress = 0.5, qblur = 0.5, qmin = 2, qmax
= 31, max_qdiff = 3,
  max_b_frames = 0, b_quant_factor = 1.25, rc_strategy = 0, b_frame_strategy
= 0, hurry_up = 0,
  codec = 0x0, priv_data = 0x0, rtp_mode = 0, rtp_payload_size = 0,
rtp_callback = 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, opaque = 0x0, codec_name = '\0' <repeats 31
times>,
  codec_type = CODEC_TYPE_VIDEO, codec_id = CODEC_ID_MPEG4, codec_tag = 0,
workaround_bugs = 1,
  luma_elim_threshold = 0, chroma_elim_threshold = 0, strict_std_compliance
= 0, b_quant_offset = 1.25,
  error_resilience = 1, get_buffer = 0x80fae59 <avcodec_default_get_buffer>,
  release_buffer = 0x80fb383 <avcodec_default_release_buffer>, has_b_frames
= 0, block_align = 0,
  parse_only = 0, mpeg_quant = 0, stats_out = 0x0, stats_in = 0x0,
rc_qsquish = 0, rc_qmod_amp = 0,
  rc_qmod_freq = 0, rc_override = 0x0, rc_override_count = 0, rc_eq =
0x842f5ec "tex^qComp",
  rc_max_rate = 0, rc_min_rate = 0, rc_buffer_size = 0,
rc_buffer_aggressivity = 1,
  i_quant_factor = -0.800000012, i_quant_offset = 0, rc_initial_cplx = 0,
dct_algo = 0, lumi_masking = 0,
  temporal_cplx_masking = 0, spatial_cplx_masking = 0, p_masking = 0,
dark_masking = 0, unused = 0,
  idct_algo = 0, slice_count = 0, slice_offset = 0x0, error_concealment = 3,
dsp_mask = 0,
  bits_per_sample = 0, prediction_method = 0, sample_aspect_ratio = {num =
4, den = 1},
  coded_frame = 0x0, debug = 0, debug_mv = 0, error = {0, 0, 0, 0}, mb_qmin
= 0, mb_qmax = 0, 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,
  get_format = 0x80fb6f8 <avcodec_default_get_format>, dtg_active_format =
0, me_range = 0,
  intra_quant_bias = 999999, inter_quant_bias = 999999, color_table_id = 0,
internal_buffer_count = 0,
  internal_buffer = 0x0, global_quality = 0, coder_type = 0, context_model =
0, slice_flags = 0,
  xvmc_acceleration = 0, mb_decision = 0, intra_matrix = 0x0, inter_matrix =
0x0, stream_codec_tag = 0,
  scenechange_threshold = 0, lmin = 236, lmax = 3658, palctrl = 0x0,
noise_reduction = 0,
  reget_buffer = 0x80fb54d <avcodec_default_reget_buffer>,
rc_initial_buffer_occupancy = 0,
  inter_threshold = 0, flags2 = 131328, error_rate = 0, antialias_algo = 0,
quantizer_noise_shaping = 0,
  thread_count = 1, execute = 0x80fb6a3 <avcodec_default_execute>,
thread_opaque = 0x0, me_threshold = 0,
  mb_threshold = 0, intra_dc_precision = 0, nsse_weight = 8, skip_top = 0,
skip_bottom = 0,
  profile = -99, level = -99, lowres = 0, coded_width = 0, coded_height = 0,
frame_skip_threshold = 0,
  frame_skip_factor = 0, frame_skip_exp = 0, frame_skip_cmp = 13,
border_masking = 0, mb_lmin = 236,
  mb_lmax = 3658, me_penalty_compensation = 256, skip_loop_filter =
AVDISCARD_DEFAULT,
  skip_idct = AVDISCARD_DEFAULT, skip_frame = AVDISCARD_DEFAULT,
bidir_refine = 0, brd_scale = 0,
  crf = 0, cqp = -1, keyint_min = 25, refs = 1, chromaoffset = 0, bframebias
= 0, trellis = 0,
  complexityblur = 20, deblockalpha = 0, deblockbeta = 0, partitions = 0,
directpred = 2, cutoff = 0,
  scenechange_factor = 6, mv0_threshold = 256, b_sensitivity = 40,
compression_level = -1, use_lpc = 0,
  lpc_coeff_precision = 0, min_prediction_order = 0, max_prediction_order =
0,
  prediction_order_method = 0, min_partition_order = 0, max_partition_order
= 0,
  timecode_frame_start = 0, request_channels = 0, drc_scale = 0


-- 
Best wishes~



More information about the FFmpeg-soc mailing list