[FFmpeg-cvslog] r21575 - in trunk/libavfilter: avfilter.c vf_scale.c vf_slicify.c vf_vflip.c

stefano subversion
Sun Jan 31 17:33:29 CET 2010


Author: stefano
Date: Sun Jan 31 17:33:29 2010
New Revision: 21575

Log:
Avoid usage of avcodec_get_pix_fmt_name() and
avcodec_get_chroma_sub_sample(), directly access
av_pix_fmt_descriptors instead.

Remove some of the dependancies of lavfi on lavc.

Modified:
   trunk/libavfilter/avfilter.c
   trunk/libavfilter/vf_scale.c
   trunk/libavfilter/vf_slicify.c
   trunk/libavfilter/vf_vflip.c

Modified: trunk/libavfilter/avfilter.c
==============================================================================
--- trunk/libavfilter/avfilter.c	Sun Jan 31 17:21:49 2010	(r21574)
+++ trunk/libavfilter/avfilter.c	Sun Jan 31 17:33:29 2010	(r21575)
@@ -22,6 +22,7 @@
 /* #define DEBUG */
 
 #include "libavcodec/imgconvert.h"
+#include "libavutil/pixdesc.h"
 #include "avfilter.h"
 
 unsigned avfilter_version(void) {
@@ -183,7 +184,7 @@ static void dprintf_link(void *ctx, AVFi
     dprintf(ctx,
             "link[%p s:%dx%d fmt:%-16s %-16s->%-16s]%s",
             link, link->w, link->h,
-            avcodec_get_pix_fmt_name(link->format),
+            av_pix_fmt_descriptors[link->format].name,
             link->src ? link->src->filter->name : "",
             link->dst ? link->dst->filter->name : "",
             end ? "\n" : "");
@@ -298,7 +299,8 @@ void avfilter_draw_slice(AVFilterLink *l
 
     /* copy the slice if needed for permission reasons */
     if(link->srcpic) {
-        avcodec_get_chroma_sub_sample(link->format, &hsub, &vsub);
+        hsub = av_pix_fmt_descriptors[link->format].log2_chroma_w;
+        vsub = av_pix_fmt_descriptors[link->format].log2_chroma_h;
 
         for(i = 0; i < 4; i ++) {
             if(link->srcpic->data[i]) {

Modified: trunk/libavfilter/vf_scale.c
==============================================================================
--- trunk/libavfilter/vf_scale.c	Sun Jan 31 17:21:49 2010	(r21574)
+++ trunk/libavfilter/vf_scale.c	Sun Jan 31 17:33:29 2010	(r21575)
@@ -24,6 +24,7 @@
  */
 
 #include "avfilter.h"
+#include "libavutil/pixdesc.h"
 #include "libswscale/swscale.h"
 
 typedef struct {
@@ -126,7 +127,7 @@ static int config_props(AVFilterLink *ou
                                 SWS_BILINEAR, NULL, NULL, NULL);
 
     av_log(ctx, AV_LOG_INFO, "w:%d h:%d fmt:%s\n",
-           outlink->w, outlink->h, avcodec_get_pix_fmt_name(outlink->format));
+           outlink->w, outlink->h, av_pix_fmt_descriptors[outlink->format].name);
 
     scale->input_is_pal = inlink->format == PIX_FMT_PAL8      ||
                           inlink->format == PIX_FMT_BGR4_BYTE ||
@@ -143,7 +144,8 @@ static void start_frame(AVFilterLink *li
     AVFilterLink *outlink = link->dst->outputs[0];
     AVFilterPicRef *outpicref;
 
-    avcodec_get_chroma_sub_sample(link->format, &scale->hsub, &scale->vsub);
+    scale->hsub = av_pix_fmt_descriptors[link->format].log2_chroma_w;
+    scale->vsub = av_pix_fmt_descriptors[link->format].log2_chroma_h;
 
     outpicref = avfilter_get_video_buffer(outlink, AV_PERM_WRITE, outlink->w, outlink->h);
     outpicref->pts = picref->pts;

Modified: trunk/libavfilter/vf_slicify.c
==============================================================================
--- trunk/libavfilter/vf_slicify.c	Sun Jan 31 17:21:49 2010	(r21574)
+++ trunk/libavfilter/vf_slicify.c	Sun Jan 31 17:33:29 2010	(r21575)
@@ -24,6 +24,7 @@
  */
 
 #include "avfilter.h"
+#include "libavutil/pixdesc.h"
 
 typedef struct {
     int h;          ///< output slice height
@@ -44,9 +45,8 @@ static av_cold int init(AVFilterContext 
 static int config_props(AVFilterLink *link)
 {
     SliceContext *slice = link->dst->priv;
-    int tmp;
 
-    avcodec_get_chroma_sub_sample(link->format, &tmp, &slice->vshift);
+    slice->vshift = av_pix_fmt_descriptors[link->format].log2_chroma_h;
 
     /* ensure that slices play nice with chroma subsampling, and enforce
      * a reasonable minimum size for the slices */

Modified: trunk/libavfilter/vf_vflip.c
==============================================================================
--- trunk/libavfilter/vf_vflip.c	Sun Jan 31 17:21:49 2010	(r21574)
+++ trunk/libavfilter/vf_vflip.c	Sun Jan 31 17:33:29 2010	(r21575)
@@ -23,6 +23,7 @@
  * video vertical flip filter
  */
 
+#include "libavutil/pixdesc.h"
 #include "avfilter.h"
 
 typedef struct {
@@ -32,9 +33,8 @@ typedef struct {
 static int config_input(AVFilterLink *link)
 {
     FlipContext *flip = link->dst->priv;
-    int tmp;
 
-    avcodec_get_chroma_sub_sample(link->format, &tmp, &flip->vsub);
+    flip->vsub = av_pix_fmt_descriptors[link->format].log2_chroma_h;
 
     return 0;
 }



More information about the ffmpeg-cvslog mailing list