xref: /aosp_15_r20/external/libavc/examples/svcenc/psnr.h (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
1 /******************************************************************************
2  *
3  * Copyright (C) 2022 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *****************************************************************************
18  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19  */
20 /****************************************************************************/
21 /*                                                                          */
22 /*  File Name         : psnr.h                                              */
23 /*                                                                          */
24 /*  Description       : Contains functions for psnr computation             */
25 /*                                                                          */
26 /*  List of Functions :                                                     */
27 /*                        compute_psnr                                      */
28 /*                        print_average_psnr                                */
29 /*  Issues / Problems :                                                     */
30 /*                                                                          */
31 /*  Revision History  :                                                     */
32 /*                                                                          */
33 /*       DD MM YYYY      Author(s)        Changes (Describe the changes)    */
34 /*                                                                          */
35 /****************************************************************************/
36 #ifndef _SVCE_APP_PSNR_H_
37 #define _SVCE_APP_PSNR_H_
38 
39 /*****************************************************************************/
40 /*  Function Declarations                                                    */
41 /*****************************************************************************/
42 void init_psnr(app_ctxt_t *ps_app_ctxt);
43 
44 void compute_psnr(app_ctxt_t *ps_app_ctxt, iv_raw_buf_t *ps_buf1, iv_raw_buf_t *ps_buf2);
45 
46 void print_average_psnr(app_ctxt_t *ps_app_ctxt);
47 
48 #if COMPUTE_PSNR
49 
50 #define GET_AVERAGE_PSNR_Y(print) print_average_psnr(print)
51 
52 #else /* COMPUTE_PSNR */
53 
54 #define GET_AVERAGE_PSNR_Y(print) 0
55 
56 #endif /* COMPUTE_PSNR */
57 
58 #endif
59