You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avfilter/qp_table: Stop using FF_QSCALE_TYPE_*
All FF_QSCALE_TYPE values used by libavfilter originate from libavfilter (namely from ff_qp_table_extract()); no value is exchanged between libavcodec and libavutil. The values that are exchanged (and used in libavfilter) are of type enum AVVideoEncParamsType. Therefore this patch stops using said FF_QSCALE_TYPE_* in libavfilter and uses enum AVVideoEncParamsType directly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
		| @@ -18,9 +18,6 @@ | ||||
|  | ||||
| #include <stdint.h> | ||||
|  | ||||
| // for FF_QSCALE_TYPE_* | ||||
| #include "libavcodec/internal.h" | ||||
|  | ||||
| #include "libavutil/frame.h" | ||||
| #include "libavutil/mem.h" | ||||
| #include "libavutil/video_enc_params.h" | ||||
| @@ -28,7 +25,7 @@ | ||||
| #include "qp_table.h" | ||||
|  | ||||
| int ff_qp_table_extract(AVFrame *frame, int8_t **table, int *table_w, int *table_h, | ||||
|                         int *qscale_type) | ||||
|                         enum AVVideoEncParamsType *qscale_type) | ||||
| { | ||||
|     AVFrameSideData *sd; | ||||
|     AVVideoEncParams *par; | ||||
| @@ -55,7 +52,7 @@ int ff_qp_table_extract(AVFrame *frame, int8_t **table, int *table_w, int *table | ||||
|     if (table_h) | ||||
|         *table_h = mb_h; | ||||
|     if (qscale_type) | ||||
|         *qscale_type = FF_QSCALE_TYPE_MPEG2; | ||||
|         *qscale_type = par->type; | ||||
|  | ||||
|     if (par->nb_blocks == 0) { | ||||
|         memset(*table, par->qp, nb_mb); | ||||
|   | ||||
| @@ -22,23 +22,24 @@ | ||||
| #include <stdint.h> | ||||
|  | ||||
| #include "libavutil/frame.h" | ||||
| #include "libavcodec/internal.h" | ||||
| #include "libavutil/video_enc_params.h" | ||||
|  | ||||
| /** | ||||
|  * Extract a libpostproc-compatible QP table - an 8-bit QP value per 16x16 | ||||
|  * macroblock, stored in raster order - from AVVideoEncParams side data. | ||||
|  */ | ||||
| int ff_qp_table_extract(AVFrame *frame, int8_t **table, int *table_w, int *table_h, | ||||
|                         int *qscale_type); | ||||
|                         enum AVVideoEncParamsType *qscale_type); | ||||
|  | ||||
| /** | ||||
|  * Normalize the qscale factor | ||||
|  * FIXME Add support for other values of enum AVVideoEncParamsType | ||||
|  * besides AV_VIDEO_ENC_PARAMS_MPEG2. | ||||
|  */ | ||||
| static inline int ff_norm_qscale(int qscale, int type) | ||||
| static inline int ff_norm_qscale(int qscale, enum AVVideoEncParamsType type) | ||||
| { | ||||
|     switch (type) { | ||||
|     case FF_QSCALE_TYPE_MPEG1: return qscale; | ||||
|     case FF_QSCALE_TYPE_MPEG2: return qscale >> 1; | ||||
|     case AV_VIDEO_ENC_PARAMS_MPEG2: return qscale >> 1; | ||||
|     } | ||||
|     return qscale; | ||||
| } | ||||
|   | ||||
| @@ -227,7 +227,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) | ||||
|     AVFilterLink *outlink = ctx->outputs[0]; | ||||
|  | ||||
|     if (s->qp) { | ||||
|         int qstride, qp_type, ret; | ||||
|         enum AVVideoEncParamsType qp_type; | ||||
|         int qstride, ret; | ||||
|         int8_t *qp_table; | ||||
|  | ||||
|         ret = ff_qp_table_extract(frame, &qp_table, &qstride, NULL, &qp_type); | ||||
|   | ||||
| @@ -23,6 +23,7 @@ | ||||
| #ifndef AVFILTER_FSPP_H | ||||
| #define AVFILTER_FSPP_H | ||||
|  | ||||
| #include "libavutil/video_enc_params.h" | ||||
| #include "avfilter.h" | ||||
|  | ||||
| #define BLOCKSZ 12 | ||||
| @@ -61,7 +62,7 @@ typedef struct FSPPContext { | ||||
|     int vsub; | ||||
|     int temp_stride; | ||||
|     int qp; | ||||
|     int qscale_type; | ||||
|     enum AVVideoEncParamsType qscale_type; | ||||
|     int prev_q; | ||||
|     uint8_t *src; | ||||
|     int16_t *temp; | ||||
|   | ||||
| @@ -22,6 +22,7 @@ | ||||
| #ifndef AVFILTER_PP7_H | ||||
| #define AVFILTER_PP7_H | ||||
|  | ||||
| #include "libavutil/video_enc_params.h" | ||||
| #include "avfilter.h" | ||||
|  | ||||
| typedef struct PP7Context { | ||||
| @@ -30,7 +31,7 @@ typedef struct PP7Context { | ||||
|  | ||||
|     int qp; | ||||
|     int mode; | ||||
|     int qscale_type; | ||||
|     enum AVVideoEncParamsType qscale_type; | ||||
|     int hsub; | ||||
|     int vsub; | ||||
|     int temp_stride; | ||||
|   | ||||
| @@ -22,6 +22,7 @@ | ||||
| #ifndef AVFILTER_SPP_H | ||||
| #define AVFILTER_SPP_H | ||||
|  | ||||
| #include "libavutil/video_enc_params.h" | ||||
| #include "libavcodec/avdct.h" | ||||
| #include "avfilter.h" | ||||
|  | ||||
| @@ -33,7 +34,7 @@ typedef struct SPPContext { | ||||
|     int log2_count; | ||||
|     int qp; | ||||
|     int mode; | ||||
|     int qscale_type; | ||||
|     enum AVVideoEncParamsType qscale_type; | ||||
|     int temp_linesize; | ||||
|     uint8_t *src; | ||||
|     uint16_t *temp; | ||||
|   | ||||
| @@ -32,6 +32,7 @@ | ||||
| #include "libavutil/mem_internal.h" | ||||
| #include "libavutil/opt.h" | ||||
| #include "libavutil/pixdesc.h" | ||||
| #include "libavutil/video_enc_params.h" | ||||
| #include "libavcodec/avcodec.h" | ||||
| #include "internal.h" | ||||
| #include "qp_table.h" | ||||
| @@ -45,7 +46,7 @@ typedef struct USPPContext { | ||||
|     int log2_count; | ||||
|     int hsub, vsub; | ||||
|     int qp; | ||||
|     int qscale_type; | ||||
|     enum AVVideoEncParamsType qscale_type; | ||||
|     int temp_stride[3]; | ||||
|     uint8_t *src[3]; | ||||
|     uint16_t *temp[3]; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user