summaryrefslogtreecommitdiff
path: root/src/dxr3/video_out_dxr3.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dxr3/video_out_dxr3.c')
-rw-r--r--src/dxr3/video_out_dxr3.c40
1 files changed, 10 insertions, 30 deletions
diff --git a/src/dxr3/video_out_dxr3.c b/src/dxr3/video_out_dxr3.c
index 69b2d3eed..20cee345b 100644
--- a/src/dxr3/video_out_dxr3.c
+++ b/src/dxr3/video_out_dxr3.c
@@ -286,21 +286,8 @@ static vo_driver_t *dxr3_vo_open_plugin(video_driver_class_t *class_gen, const v
#if LOG_VID
printf("video_out_dxr3: Supported mpeg encoders: ");
#endif
- /* check, if ffmpeg plugin is available by looking through plugin
- * catalog; catalog mutex is already locked here, since this is open_plugin() */
- node = NULL;
- plugin_list = class->xine->plugin_catalog->plugin_lists[PLUGIN_VIDEO_DECODER - 1];
- list_size = xine_sarray_size(plugin_list);
- for (list_id = 0; list_id < list_size; list_id++) {
- node = xine_sarray_get (plugin_list, list_id);
- if (strcasecmp(node->info->id, "ffmpegvideo") == 0) {
- available_encoders[encoder++] = "libavcodec";
-#if LOG_VID
- printf("libavcodec, ");
-#endif
- break;
- }
- }
+ available_encoders[encoder++] = "libavcodec";
+ printf("libavcodec, ");
#ifdef HAVE_LIBFAME
available_encoders[encoder++] = "fame";
#if LOG_VID
@@ -576,7 +563,7 @@ static void dxr3_frame_dispose(vo_frame_t *frame_gen)
{
dxr3_frame_t *frame = (dxr3_frame_t *)frame_gen;
- if (frame->mem) free(frame->mem);
+ av_free(frame->mem);
pthread_mutex_destroy(&frame_gen->mutex);
free(frame);
}
@@ -616,12 +603,9 @@ static void dxr3_update_frame_format(vo_driver_t *this_gen, vo_frame_t *frame_ge
frame->aspect = XINE_VO_ASPECT_ANAMORPHIC;
frame->pan_scan = flags & VO_PAN_SCAN_FLAG;
- if (frame->mem) {
- free(frame->mem);
- frame->mem = NULL;
- frame->real_base[0] = frame->real_base[1] = frame->real_base[2] = NULL;
- frame_gen->base[0] = frame_gen->base[1] = frame_gen->base[2] = NULL;
- }
+ av_freep(&frame->mem);
+ frame->real_base[0] = frame->real_base[1] = frame->real_base[2] = NULL;
+ frame_gen->base[0] = frame_gen->base[1] = frame_gen->base[2] = NULL;
return;
}
@@ -706,10 +690,7 @@ static void dxr3_update_frame_format(vo_driver_t *this_gen, vo_frame_t *frame_ge
/* if dimensions changed, we need to re-allocate frame memory */
if ((frame->vo_frame.width != width) || (frame->vo_frame.height != height) ||
(frame->oheight != oheight) || (frame->vo_frame.format != format)) {
- if (frame->mem) {
- free (frame->mem);
- frame->mem = NULL;
- }
+ av_freep(&frame->mem);
if (format == XINE_IMGFMT_YUY2) {
int i, image_size;
@@ -720,8 +701,7 @@ static void dxr3_update_frame_format(vo_driver_t *this_gen, vo_frame_t *frame_ge
/* planar format, only base[0] */
/* add one extra line for field swap stuff */
- frame->real_base[0] = xine_xmalloc_aligned(16, image_size + frame->vo_frame.pitches[0],
- &frame->mem);
+ frame->real_base[0] = frame->mem = av_mallocz(image_size + frame->vo_frame.pitches[0]);
/* don't use first line */
frame->real_base[0] += frame->vo_frame.pitches[0];
@@ -748,8 +728,8 @@ static void dxr3_update_frame_format(vo_driver_t *this_gen, vo_frame_t *frame_ge
image_size_v = frame->vo_frame.pitches[2] * ((oheight + 1) / 2);
/* add one extra line for field swap stuff */
- frame->real_base[0] = xine_xmalloc_aligned(16, image_size_y + frame->vo_frame.pitches[0] +
- image_size_u + image_size_v, &frame->mem);
+ frame->real_base[0] = frame->mem = av_mallocz(image_size_y + frame->vo_frame.pitches[0] +
+ image_size_u + image_size_v);
/* don't use first line */
frame->real_base[0] += frame->vo_frame.pitches[0];