parent
c371dc8be5
commit
f7286bd602
@ -1,47 +0,0 @@
|
|||||||
diff -up vlc-2.0.1/modules/stream_out/switcher.c.orig vlc-2.0.1/modules/stream_out/switcher.c
|
|
||||||
--- vlc-2.0.1/modules/stream_out/switcher.c.orig 2012-05-01 16:31:41.036832197 +0200
|
|
||||||
+++ vlc-2.0.1/modules/stream_out/switcher.c 2012-05-01 16:35:53.694838241 +0200
|
|
||||||
@@ -844,7 +844,7 @@ static block_t *VideoGetBuffer( sout_str
|
|
||||||
|
|
||||||
if ( id->i_nb_pred >= p_sys->i_gop )
|
|
||||||
{
|
|
||||||
- id->p_frame->pict_type = FF_I_TYPE;
|
|
||||||
+ id->p_frame->pict_type = AV_PICTURE_TYPE_I;
|
|
||||||
#if 0
|
|
||||||
id->p_frame->me_threshold = 0;
|
|
||||||
id->p_frame->mb_threshold = 0;
|
|
||||||
@@ -853,7 +853,7 @@ static block_t *VideoGetBuffer( sout_str
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- id->p_frame->pict_type = FF_P_TYPE;
|
|
||||||
+ id->p_frame->pict_type = AV_PICTURE_TYPE_P;
|
|
||||||
#if 0
|
|
||||||
if ( id->p_frame->mb_type != NULL )
|
|
||||||
{
|
|
||||||
@@ -873,7 +873,7 @@ static block_t *VideoGetBuffer( sout_str
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
if ( id->p_frame->mb_type == NULL
|
|
||||||
- && id->ff_enc_c->coded_frame->pict_type != FF_I_TYPE )
|
|
||||||
+ && id->ff_enc_c->coded_frame->pict_type != AV_PICTURE_TYPE_I )
|
|
||||||
{
|
|
||||||
int mb_width = (id->ff_enc_c->width + 15) / 16;
|
|
||||||
int mb_height = (id->ff_enc_c->height + 15) / 16;
|
|
||||||
@@ -926,13 +926,13 @@ static block_t *VideoGetBuffer( sout_str
|
|
||||||
|
|
||||||
switch ( id->ff_enc_c->coded_frame->pict_type )
|
|
||||||
{
|
|
||||||
- case FF_I_TYPE:
|
|
||||||
+ case AV_PICTURE_TYPE_I:
|
|
||||||
p_out->i_flags |= BLOCK_FLAG_TYPE_I;
|
|
||||||
break;
|
|
||||||
- case FF_P_TYPE:
|
|
||||||
+ case AV_PICTURE_TYPE_P:
|
|
||||||
p_out->i_flags |= BLOCK_FLAG_TYPE_P;
|
|
||||||
break;
|
|
||||||
- case FF_B_TYPE:
|
|
||||||
+ case AV_PICTURE_TYPE_B:
|
|
||||||
p_out->i_flags |= BLOCK_FLAG_TYPE_B;
|
|
||||||
break;
|
|
||||||
default:
|
|
@ -0,0 +1,121 @@
|
|||||||
|
X-Git-Url: http://git.videolan.org/?p=vlc%2Fvlc-2.0.git;a=blobdiff_plain;f=modules%2Fstream_out%2Fswitcher.c;h=18301329e33fe413b3d8f4da18966d6205581274;hp=372eef81c9ae3b9ee5b1405bdd5b7be8254fd3f0;hb=HEAD;hpb=caf2a08a0507ab9e9ae34038854f3f218e820581
|
||||||
|
|
||||||
|
diff --git a/modules/stream_out/switcher.c b/modules/stream_out/switcher.c
|
||||||
|
index 372eef8..1830132 100644
|
||||||
|
--- a/modules/stream_out/switcher.c
|
||||||
|
+++ b/modules/stream_out/switcher.c
|
||||||
|
@@ -51,12 +51,6 @@
|
||||||
|
# include <avcodec.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifdef HAVE_POSTPROC_POSTPROCESS_H
|
||||||
|
-# include <postproc/postprocess.h>
|
||||||
|
-#else
|
||||||
|
-# include <libpostproc/postprocess.h>
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
#include "../codec/avcodec/avcodec.h"
|
||||||
|
|
||||||
|
#define SOUT_CFG_PREFIX "sout-switcher-"
|
||||||
|
@@ -292,7 +286,9 @@ static int Open( vlc_object_t *p_this )
|
||||||
|
p_stream->pf_send = Send;
|
||||||
|
p_stream->p_sys = p_sys;
|
||||||
|
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR < 54
|
||||||
|
avcodec_init();
|
||||||
|
+#endif
|
||||||
|
avcodec_register_all();
|
||||||
|
|
||||||
|
return VLC_SUCCESS;
|
||||||
|
@@ -355,7 +351,11 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt )
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR < 54
|
||||||
|
id->ff_enc_c = avcodec_alloc_context();
|
||||||
|
+#else
|
||||||
|
+ id->ff_enc_c = avcodec_alloc_context3( id->ff_enc );
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* Set CPU capabilities */
|
||||||
|
unsigned i_cpu = vlc_CPU();
|
||||||
|
@@ -388,7 +388,11 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt )
|
||||||
|
id->ff_enc_c->bit_rate = p_fmt->i_bitrate;
|
||||||
|
|
||||||
|
vlc_avcodec_lock();
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR >= 54
|
||||||
|
+ if( avcodec_open2( id->ff_enc_c, id->ff_enc, NULL /* options */ ) )
|
||||||
|
+#else
|
||||||
|
if( avcodec_open( id->ff_enc_c, id->ff_enc ) )
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
vlc_avcodec_unlock();
|
||||||
|
msg_Err( p_stream, "cannot open encoder" );
|
||||||
|
@@ -748,7 +752,11 @@ static mtime_t VideoCommand( sout_stream_t *p_stream, sout_stream_id_t *id )
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR < 54
|
||||||
|
id->ff_enc_c = avcodec_alloc_context();
|
||||||
|
+#else
|
||||||
|
+ id->ff_enc_c = avcodec_alloc_context3( id->ff_enc );
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* Set CPU capabilities */
|
||||||
|
unsigned i_cpu = vlc_CPU();
|
||||||
|
@@ -803,7 +811,11 @@ static mtime_t VideoCommand( sout_stream_t *p_stream, sout_stream_id_t *id )
|
||||||
|
id->ff_enc_c->pix_fmt = PIX_FMT_YUV420P;
|
||||||
|
|
||||||
|
vlc_avcodec_lock();
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR >= 54
|
||||||
|
+ if( avcodec_open2( id->ff_enc_c, id->ff_enc, NULL /* options */ ) )
|
||||||
|
+#else
|
||||||
|
if( avcodec_open( id->ff_enc_c, id->ff_enc ) )
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
vlc_avcodec_unlock();
|
||||||
|
msg_Err( p_stream, "cannot open encoder" );
|
||||||
|
@@ -844,7 +856,7 @@ static block_t *VideoGetBuffer( sout_stream_t *p_stream, sout_stream_id_t *id,
|
||||||
|
|
||||||
|
if ( id->i_nb_pred >= p_sys->i_gop )
|
||||||
|
{
|
||||||
|
- id->p_frame->pict_type = FF_I_TYPE;
|
||||||
|
+ id->p_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||||
|
#if 0
|
||||||
|
id->p_frame->me_threshold = 0;
|
||||||
|
id->p_frame->mb_threshold = 0;
|
||||||
|
@@ -853,7 +865,7 @@ static block_t *VideoGetBuffer( sout_stream_t *p_stream, sout_stream_id_t *id,
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- id->p_frame->pict_type = FF_P_TYPE;
|
||||||
|
+ id->p_frame->pict_type = AV_PICTURE_TYPE_P;
|
||||||
|
#if 0
|
||||||
|
if ( id->p_frame->mb_type != NULL )
|
||||||
|
{
|
||||||
|
@@ -873,7 +885,7 @@ static block_t *VideoGetBuffer( sout_stream_t *p_stream, sout_stream_id_t *id,
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
if ( id->p_frame->mb_type == NULL
|
||||||
|
- && id->ff_enc_c->coded_frame->pict_type != FF_I_TYPE )
|
||||||
|
+ && id->ff_enc_c->coded_frame->pict_type != AV_PICTURE_TYPE_I )
|
||||||
|
{
|
||||||
|
int mb_width = (id->ff_enc_c->width + 15) / 16;
|
||||||
|
int mb_height = (id->ff_enc_c->height + 15) / 16;
|
||||||
|
@@ -926,13 +938,13 @@ static block_t *VideoGetBuffer( sout_stream_t *p_stream, sout_stream_id_t *id,
|
||||||
|
|
||||||
|
switch ( id->ff_enc_c->coded_frame->pict_type )
|
||||||
|
{
|
||||||
|
- case FF_I_TYPE:
|
||||||
|
+ case AV_PICTURE_TYPE_I:
|
||||||
|
p_out->i_flags |= BLOCK_FLAG_TYPE_I;
|
||||||
|
break;
|
||||||
|
- case FF_P_TYPE:
|
||||||
|
+ case AV_PICTURE_TYPE_P:
|
||||||
|
p_out->i_flags |= BLOCK_FLAG_TYPE_P;
|
||||||
|
break;
|
||||||
|
- case FF_B_TYPE:
|
||||||
|
+ case AV_PICTURE_TYPE_B:
|
||||||
|
p_out->i_flags |= BLOCK_FLAG_TYPE_B;
|
||||||
|
break;
|
||||||
|
default:
|
Loading…
Reference in new issue