diff options
author | 2007-12-12 21:36:21 +0000 | |
---|---|---|
committer | 2007-12-12 21:36:21 +0000 | |
commit | 9314e771510f696f53c775471866f642e031bea3 (patch) | |
tree | 33bd18755b98f78971816d5647439eb803457ed2 /vlc/build/vlc_dirac-0.8.0-api.patch | |
parent | b11c40fb956b3418d86f01c055472144538af167 (diff) | |
download | asb-9314e771510f696f53c775471866f642e031bea3.tar.gz asb-9314e771510f696f53c775471866f642e031bea3.tar.xz |
Initial revision
Diffstat (limited to 'vlc/build/vlc_dirac-0.8.0-api.patch')
-rw-r--r-- | vlc/build/vlc_dirac-0.8.0-api.patch | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/vlc/build/vlc_dirac-0.8.0-api.patch b/vlc/build/vlc_dirac-0.8.0-api.patch new file mode 100644 index 00000000..a474b557 --- /dev/null +++ b/vlc/build/vlc_dirac-0.8.0-api.patch @@ -0,0 +1,126 @@ +diff -up vlc-0.8.6c/configure.ac.dirac vlc-0.8.6c/configure.ac +--- vlc-0.8.6c/configure.ac.dirac 2007-10-19 23:15:49.000000000 +0200 ++++ vlc-0.8.6c/configure.ac 2007-10-19 23:16:55.000000000 +0200 +@@ -3342,7 +3346,7 @@ dnl + AC_ARG_ENABLE(dirac, + [ --enable-dirac experimental dirac codec (default disabled)]) + if test "${enable_dirac}" = "yes"; then +- PKG_CHECK_MODULES(DIRAC,dirac, [ ++ PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [ + VLC_ADD_PLUGINS([dirac]) + VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS]) + VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[ +diff -up vlc-0.8.6c/modules/codec/dirac.c.dirac6 vlc-0.8.6c/modules/codec/dirac.c +--- vlc-0.8.6c/modules/codec/dirac.c.dirac6 2007-06-16 16:25:12.000000000 +0200 ++++ vlc-0.8.6c/modules/codec/dirac.c 2007-10-19 23:17:15.000000000 +0200 +@@ -144,32 +144,34 @@ static picture_t *GetNewPicture( decoder + picture_t *p_pic; + int i_plane; + +- p_dec->fmt_out.i_codec = +- p_sys->p_dirac->seq_params.chroma == format411 ? +- VLC_FOURCC('I','4','1','1') : +- p_sys->p_dirac->seq_params.chroma == format420 ? +- VLC_FOURCC('I','4','2','0') : +- p_sys->p_dirac->seq_params.chroma == format422 ? +- VLC_FOURCC('I','4','2','2') : 0; ++ switch( p_sys->p_dirac->src_params.chroma ) ++ { ++ case format420: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','2','0'); break; ++ case format422: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','2','2'); break; ++ case format444: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','4','4'); break; // XXX 0.6 ? ++ default: ++ p_dec->fmt_out.i_codec = 0; ++ break; ++ } + + p_dec->fmt_out.video.i_visible_width = +- p_dec->fmt_out.video.i_width = p_sys->p_dirac->seq_params.width; ++ p_dec->fmt_out.video.i_width = p_sys->p_dirac->src_params.width; + p_dec->fmt_out.video.i_visible_height = +- p_dec->fmt_out.video.i_height = p_sys->p_dirac->seq_params.height; ++ p_dec->fmt_out.video.i_height = p_sys->p_dirac->src_params.height; + p_dec->fmt_out.video.i_aspect = VOUT_ASPECT_FACTOR * 4 / 3; + + p_dec->fmt_out.video.i_frame_rate = +- p_sys->p_dirac->seq_params.frame_rate.numerator; ++ p_sys->p_dirac->src_params.frame_rate.numerator; + p_dec->fmt_out.video.i_frame_rate_base = +- p_sys->p_dirac->seq_params.frame_rate.denominator; ++ p_sys->p_dirac->src_params.frame_rate.denominator; + + /* Get a new picture */ + p_pic = p_dec->pf_vout_buffer_new( p_dec ); + + if( p_pic == NULL ) return NULL; ++ p_pic->b_progressive = !p_sys->p_dirac->src_params.interlace; ++ p_pic->b_top_field_first = p_sys->p_dirac->src_params.topfieldfirst; + +- p_pic->b_progressive = !p_sys->p_dirac->seq_params.interlace; +- p_pic->b_top_field_first = p_sys->p_dirac->seq_params.topfieldfirst; + p_pic->i_nb_fields = 2; + + /* Copy picture stride by stride */ +@@ -248,19 +250,19 @@ static picture_t *DecodeBlock( decoder_t + uint8_t *buf[3]; + + msg_Dbg( p_dec, "%dx%d, chroma %i, %f fps", +- p_sys->p_dirac->seq_params.width, +- p_sys->p_dirac->seq_params.height, +- p_sys->p_dirac->seq_params.chroma, +- (float)p_sys->p_dirac->seq_params.frame_rate.numerator/ +- p_sys->p_dirac->seq_params.frame_rate.denominator ); ++ p_sys->p_dirac->src_params.width, ++ p_sys->p_dirac->src_params.height, ++ p_sys->p_dirac->src_params.chroma, ++ (float)p_sys->p_dirac->src_params.frame_rate.numerator/ ++ p_sys->p_dirac->src_params.frame_rate.denominator ); + + FreeFrameBuffer( p_sys->p_dirac ); +- buf[0] = malloc( p_sys->p_dirac->seq_params.width * +- p_sys->p_dirac->seq_params.height ); +- buf[1] = malloc( p_sys->p_dirac->seq_params.chroma_width * +- p_sys->p_dirac->seq_params.chroma_height ); +- buf[2] = malloc( p_sys->p_dirac->seq_params.chroma_width * +- p_sys->p_dirac->seq_params.chroma_height ); ++ buf[0] = malloc( p_sys->p_dirac->src_params.width * ++ p_sys->p_dirac->src_params.height ); ++ buf[1] = malloc( p_sys->p_dirac->src_params.chroma_width * ++ p_sys->p_dirac->src_params.chroma_height ); ++ buf[2] = malloc( p_sys->p_dirac->src_params.chroma_width * ++ p_sys->p_dirac->src_params.chroma_height ); + + dirac_set_buf( p_sys->p_dirac, buf, NULL ); + break; +@@ -352,20 +354,18 @@ static int OpenEncoder( vlc_object_t *p_ + + sout_CfgParse( p_enc, ENC_CFG_PREFIX, ppsz_enc_options, p_enc->p_cfg ); + +- /* Initialse the encoder context with the presets for SD576 - Standard +- * Definition Digital (some parameters will be overwritten later on) */ +- dirac_encoder_context_init( &p_sys->ctx, SD576 ); +- +- /* Override parameters if required */ +- p_sys->ctx.seq_params.width = p_enc->fmt_in.video.i_width; +- p_sys->ctx.seq_params.height = p_enc->fmt_in.video.i_height; +- p_sys->ctx.seq_params.chroma = format420; +- p_sys->ctx.seq_params.frame_rate.numerator = ++ dirac_encoder_context_init( &p_sys->ctx, VIDEO_FORMAT_CUSTOM ); ++ /* */ ++ p_sys->ctx.src_params.width = p_enc->fmt_in.video.i_width; ++ p_sys->ctx.src_params.height = p_enc->fmt_in.video.i_height; ++ p_sys->ctx.src_params.chroma = format420; ++ /* */ ++ p_sys->ctx.src_params.frame_rate.numerator = + p_enc->fmt_in.video.i_frame_rate; +- p_sys->ctx.seq_params.frame_rate.denominator = ++ p_sys->ctx.src_params.frame_rate.denominator = + p_enc->fmt_in.video.i_frame_rate_base; +- p_sys->ctx.seq_params.interlace = 0; +- p_sys->ctx.seq_params.topfieldfirst = 0; ++ p_sys->ctx.src_params.interlace = 0; ++ p_sys->ctx.src_params.topfieldfirst = 0; + + var_Get( p_enc, ENC_CFG_PREFIX "quality", &val ); + f_quality = val.f_float; + |